この戦略は,RSI インディケーターに基づく二重超買/超売戦略と呼ばれる.より信頼性の高い取引信号のために,RSI インディケーターとストック RSI インディケーターの両方を使用し,超買と超売条件を決定します.
RSI指標は,価格の過買い/過売りレベルを反映する.RSI値が70を超えると過買い状態を示し,30を下回ると過売り状態を示します.RSI指標は,RSIが過買いまたは過売りゾーンに入っているかどうかを示します.
取引の論理は
RSIがユーザーによって定義された過買い線を超えると,ショートトレードを検討するための過買い条件が示されます.
RSIがユーザーによって定義された過売線を下回ると,ロング取引を検討するための過売条件を表示します.
一方,ストックRSIは,対応するエントリーシグナルを確認するために,過剰購入または過剰販売のシグナルを示さなければなりません.
この二重条件は より曖昧な信号をフィルタリングし 偽の突破を避けるために組み合わせます
この戦略の利点は,RSIの様々な派生指標を使用して,より正確なオーバーバイト/オーバーセール範囲判断を行うことである.しかし,最適化オーバーフィッティングリスクも注意すべきである.ストップロスは不可欠である.
概要すると,指標の組み合わせは慎重にバランスする必要があります.合理的な使用は結果を改善しますが,過度に最適化するリスクも伴います.トレーダーは依然として柔軟な判断が必要です.
/*backtest start: 2023-01-01 00:00:00 end: 2023-09-12 00:00:00 period: 4d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("test1","t1",overlay=true, default_qty_type = strategy.percent_of_equity,default_qty_value=100,initial_capital=200, currency=currency.USD) //user input k_param = input(title = "k length", type = input.integer, defval = 14) d_param = input(title = "d length", type = input.integer, defval = 3) rsi_param = input(title = "RSI", type = input.integer, defval = 5) upper = input(title = "over brought", type = input.integer, defval = 80) lower = input(title = "over sold", type = input.integer, defval = 20) //calculation rsi = rsi(close,rsi_param) stochastic = 100*(rsi - lowest(rsi,k_param))/(highest(rsi,k_param)-lowest(rsi,k_param)) SMA = sma(stochastic,d_param) //DRAW plot(upper,color = color.blue,linewidth = 2, title ="超买") plot(lower,color = color.blue,linewidth = 2, title ="超卖") plot(rsi,color = rsi>upper ?color.red:rsi<lower? color.green:color.black, linewidth=2,title ="ris超买超卖") plot(stochastic,color = color.purple,title="震荡指数") plot(SMA, color = color.orange,title="移动平均") //trading shortposition = crossover(rsi,upper) longposition = crossunder(rsi,lower) strategy.entry("卖",false,when =(shortposition)) strategy.entry("买",true,when = (longposition)) strategy.exit("止盈",profit = close*0.013/syminfo.mintick)