ブールマーケット・バイ・ディップス戦略は,RSI指標を利用してブールマーケットのダウンを購入し,ダブル移動平均値でトレンドを確認することを目的としています.価格が上昇傾向に戻ると,移動平均値クロスオーバーは利益のシグナルとして使用されます.
戦略はまずバックテストの開始と終了日を設定し,RSIと高速/緩やかな移動平均のパラメータを設定します.
戦略の信号論理は
RSIが値を下回ると (デフォルト35),過剰販売エリアを示すので,購入信号が起動します.
急速なMAは,現在の上昇傾向を確認し,統合で購入を避けるために,遅いMAよりも高くなければなりません.
価格が高速MAを超え 高速MAが中間MAを超えると 利益を得るために 接近信号を誘発します
RSIとMAのクロスオーバー原則の合理的な適用は,牛市における引き下げ機会を把握し,価格がトレンドを再開すると利益を得ることを助けます.
RSIは逆転点を捕捉するのに非常に適しています.RSIが過売れエリアに入ると購入することで,過売れ機会を正確にロックできます.トレンドを決定するためにMAを使用することで,市場範囲をフィルタリングし,統合で繰り返し購入を防ぐことができます.最後に,MAクロスオーバーは,利得をタイムリーに取得し,引き戻し損失を回避するために再びトレンドを確認します.
RSIパラメータがあまりにも幅広くまたは狭すぎると,過剰販売レベルを判断する精度が低下する可能性があります.誤って選択された高速または遅いMA期間も誤ったトレンド決定につながる可能性があります.利益のタイミングが不適切であれば,遅すぎると利益が犠牲になる可能性があります.
RSIのパラメータを最適化し,適切なMA期間を選択し,利益の採取のパフォーマンスを向上させるために異なる利益採取メカニズムをテストすることができます.
RSIの異なる期間をテストすることで,過剰販売領域の判断を最適化することができる.トレンド決定のための最適なパラメータを見つけるために,異なるMA期間の組み合わせを試すことができる.トレーリングストップ,レジスタンスストップなどの他の利益採取メカニズムもテストすることができる.ポジションサイズを最適化することで,リスクをよりよく制御することができる.最後に,取引コストを考慮すると,戦略をライブ取引に近いものにすることができる.
ブルマーケット・バイ・ディップス戦略は,全体的に明確で合理的な論理を持ち,トレンド市場における購入と利益の引き出すタイミングを把握するために,RSIとMA原則を巧みに活用している.パラメータ最適化,利益の引き出すテスト,ポジションサイズの管理を通じて,強度と実際の取引パフォーマンスをさらに向上させることができる.シンプルで実践的なアイデアにより,この戦略は,ブル市場での引き下げを捉えるのに適しており,ポートフォリオに立派な利益をもたらすことができます.
/*backtest start: 2023-10-02 00:00:00 end: 2023-11-01 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(shorttitle='Buy The Dips in Bull Market',title='Buy The Dips in Bull Market (by Coinrule)', overlay=true, initial_capital = 1000, default_qty_type = strategy.percent_of_equity, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1) //Backtest dates fromMonth = input(defval = 1, title = "From Month") fromDay = input(defval = 10, title = "From Day") fromYear = input(defval = 2020, title = "From Year") thruMonth = input(defval = 1, title = "Thru Month") thruDay = input(defval = 1, title = "Thru Day") thruYear = input(defval = 2112, title = "Thru Year") showDate = input(defval = true, title = "Show Date Range") start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window window() => time >= start and time <= finish ? true : false // create function "within window of time" // RSI inputs and calculations lengthRSI = input(14, title = 'RSI period', minval=1) RSI = rsi(close, lengthRSI) //MA inputs and calculations inSignal=input(9, title='MAfast') inlong1=input(50, title='MAslow') inlong2=input(200, title='MAslow') MAfast= sma(close, inSignal) MAslow= sma(close, inlong1) MAlong= sma(close, inlong2) RSI_buy_signal= input(35, title='RSI Buy Signal') //Entry strategy.entry(id="long", long = true, when = RSI < RSI_buy_signal and MAlong < MAslow and window()) //Exit strategy.close("long", when = close > MAfast and MAfast > MAslow and window()) plot(MAslow, color=color.orange, linewidth=1) plot(MAfast, color=color.purple, linewidth=1) plot(MAlong, color=color.blue, linewidth=2)