この戦略は,RSIインジケーターで上昇傾向の差異パターンを調べて,Bitcoinが反発する可能性のある短期的な機会を特定し,その結果,ロングトレードのための良いエントリーポイントを決定します.
RSI インジケーターで上昇差を特定する
RSI の値 が 限界値以下 で ある か 確認 する
閉じる価格が前の低差値を下回っているか確認します.
ストップ・ロスの出口条件を定義する
収益を出す条件を定義する
RSI の 差異 を 利用 する こと に よっ て,短期 的 な 値 跳び の 機会 を 効果的に 把握 できる
RSI の低
Stop loss と take profit の設定はリスクと報酬の管理に役立ちます
この戦略は,ビットコインのRSIシグナルとの実際の取引経験を参考にしており,Bitcoinのロングスカルピングに非常に適しています.
合理的なパラメータ設定により,戦略は異なる市場状況に適応し,ライブ取引に適しています
RSIの差異は失敗し,誤って識別された場合,取引を損なう可能性があります.
単一の指標は誤った信号を生成する傾向があるので,他の指標と組み合わせる必要があります.
適切なパラメータ値を選択する必要があります 不適切な設定は収益性に影響します
長期取引は全体的なトレンドを考慮し,トレンドに反する取引を避ける必要があります
トレーディングコストに気をつけなければならない 高周波取引は利益に影響を与える
変化する市場に基づいて,パラメータを定期的にバックテストして最適化すべきです
偽信号を減らすためにフィルター条件の移動平均値などの他の指標を追加することを検討します
最適な組み合わせを見つけるために各時間枠で異なる期間設定をテストします
トレンド逆転に対する購入を避けるため,より長い時間枠のトレンド分析を組み込む
利益レベルが上昇するにつれて徐々にストップを上昇させるダイナミックストップロスを実装する
特定のポジションサイズに基づいてストップ損失パーセントを調整する
自動パラメータ最適化のための機械学習を導入
この戦略は,RSIの上昇差異を検出し,良いロングエントリーポイントを決定することで,ビットコインの短期的なブーンスの機会を特定することを目的としています.この戦略は,多くの実践的な取引経験を取り入れ,シンプルで効果的なので,ビットコインのスカルピングロングに非常に適しています.しかし,単一の指標に依存することは誤った信号を生む傾向があります.それゆえ,他の指標と組み合わせるべきです.パラメータ最適化,ストップ損失配置,取引コストなどにも注意を払う必要があります.正しく使用した場合,この戦略はライブ取引で非常に利益を得ることができます.
/*backtest start: 2023-11-02 00:00:00 end: 2023-11-09 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bullish Divergence Short-term Long Trade Finder", overlay=false) max_range = 50 min_range = 5 ///pivot_left = 25 pivot_right = 5 //Inputs src = input(close, title="Source") rsiBearCondMin = input.int(50, title="RSI Bearish Condition Minimum") rsiBearCondSellMin = input.int(60, title="RSI Bearish Condition Sell Min") rsiBullCondMin = input.int(40, title="RSI Bull Condition Minimum") pivot_left = input.int(25, title="Look Back this many candles") SellWhenRSI = input.int(75, title="RSI Sell Value") StopLossPercent = input.int(5, title="Stop loss Percentage") rsiPeriod = input.int(14, title="RSI Length") rsiOversold = input.int(30, title="RSI Oversold Level") rsiOverbought = input.int(70, title="RSI Overbought Level") //RSI Function/ value rsi_value = ta.rsi(src, rsiPeriod) rsi_hour = request.security(syminfo.tickerid,'60',rsi_value) rsi_4hour = request.security(syminfo.tickerid,'240',rsi_value) rsi_Day = request.security(syminfo.tickerid,'D',rsi_value) plot(rsi_value, title="RSI", linewidth = 2, color = color.black, display =display.all) hline(50, linestyle = hline.style_dotted) rsi_ob = hline(70, linestyle=hline.style_dotted) rsi_os = hline(30, linestyle=hline.style_dotted) fill(rsi_ob, rsi_os, color.white) SL_percent = (100-StopLossPercent)/100 pivot_low_true = na(ta.pivotlow(rsi_value, pivot_left, pivot_right)) ? false : true //create a function that returns truee/false confirm_range(x) => bars = ta.barssince(x == true) //counts the number of bars since thee last time condition was true min_range <= bars and bars <= max_range // makees sure bars is less than max_range(50) and greater than min_range(5) // RSI higher check / low check RSI_HL_check = rsi_value<rsiBullCondMin and rsi_value > ta.valuewhen(pivot_low_true and rsi_value<rsiBullCondMin, rsi_value,1) and confirm_range(pivot_low_true[1]) // price check for lower low price_ll_check = low < ta.valuewhen(pivot_low_true, low, 1) bullCond = price_ll_check and RSI_HL_check and pivot_low_true //pivot_high_true = na(ta.pivothigh(rsi_value, pivot_left, pivot_right)) ? false : true pivot_high_true = na(ta.pivothigh(rsi_value, pivot_left, pivot_right)) ? false : true // RSI Lower check / high check ensuring that the RSI dips below 30 to start divergence RSI_LH_check = rsi_value < ta.valuewhen(pivot_high_true and rsi_value>rsiBearCondMin, rsi_value,1) and confirm_range(pivot_high_true[1]) //and rsi_value[pivot_right] >= 65 // price check for lower low price_hh_check = high > ta.valuewhen(pivot_high_true, high, 1) bearCond = price_hh_check and RSI_LH_check and pivot_high_true and rsi_value[3] > rsiBearCondSellMin plot(pivot_low_true ? rsi_value : na, offset=-5, linewidth=3, color=(bullCond ? color.green : color.new(color.white, 100))) plotshape(bullCond ? rsi_value : na , text = "BUY", style = shape.labelup, location = location.absolute, color = color.green, offset =0, textcolor = color.white ) plot(pivot_low_true ? rsi_value : na, offset=-5, linewidth=3, color=(bearCond ? color.red : color.new(color.white, 100))) plotshape(bearCond ? rsi_value : na , text = "Sell", style = shape.labelup, location = location.absolute, color = color.red, offset =0, textcolor = color.white ) //[bbUpperBand, bbMiddleBand, bbLowerBand] = ta.bb(src, bbPeriod, bbDev) //Entry Condition longCondition = false //bullEntry = bullCond and RSI_HL_check and confirm_range(pivot_low_true[1]) if bullCond and close < ta.valuewhen(pivot_low_true, low, 1) and rsi_hour <40 ///and rsi_4hour<40 //and rsi_Day<50 strategy.entry("Long", strategy.long) //Exit Condition if (strategy.position_size > 0 and close < strategy.position_avg_price*SL_percent) strategy.close("Long") if (strategy.position_size > 0 and (rsi_value > SellWhenRSI or bearCond)) strategy.close("Long")