この戦略は"ダブルタイムフレームRSIリバーサル"と呼ばれる.これは相対強度指数 (RSI) をベースとした定量的な取引戦略である.この戦略は,価格逆転の機会を捕獲することによって低価格で購入し高価格で販売することを目的とした,異なる期間を持つ2つのRSIを使用して購入と販売信号を生成する.
この戦略は,高速期間のRSI (デフォルト55日) と遅い期間のRSI (デフォルト126日) を比較して取引信号を構築する.高速期間のRSIが遅いRSIを超えると,購入信号が生成される.高速期間のRSIがスロー期間のRSIを下回ると,販売信号が起動する.二つの異なるタイムフレーム間の相対的な強さを比較することによって,短期および長期のトレンドが逆転するときに機会を検出する.
ポジションを入力した後,利益目標とストップロスは設定されます. 既定利益目標はエントリー価格の0.9倍です. 既定ストップロスはエントリー価格より3%低いです. 逆信号が起動した場合,ポジションも閉鎖されます.
/*backtest start: 2022-11-29 00:00:00 end: 2023-12-05 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy(title="Relative Strength Index", shorttitle="RSI") slen = input(55, title="Short length") llen = input(126, title="Long length") sup = ema(max(change(close), 0), slen) sdown = ema(-min(change(close), 0), slen) rsi1 = sdown == 0 ? 100 : sup == 0 ? 0 : 100 - (100 / (1 + sup / sdown)) lup = ema(max(change(close), 0), llen) ldown = ema(-min(change(close), 0), llen) rsi2 = ldown == 0 ? 100 : lup == 0 ? 0 : 100 - (100 / (1 + lup / ldown)) ob = input(55, title="Overbought") os = input(45, title="Oversold") tp = input(.9, title="Take profit level %")*.01 sl = input(3, title="Stoploss level %")*.01 mid = avg(ob,os) plot (mid, color=#4f4f4f, transp=0) hline (ob, color=#4f4f4f) hline (os, color=#4f4f4f) long = crossover(rsi1,rsi2) short = crossunder(rsi1,rsi2) vall = valuewhen(long,close,0) lexit1 = high>=(vall*tp)+vall lexit2 = low<=vall-(vall*sl) vals = valuewhen(short,close,0) sexit1 = low<=vals - (vals*tp) sexit2 = high>=vals + (vals*sl) bgcolor (color=long?lime:na,transp=50) bgcolor (color=short?red:na, transp=50) strategy.entry("Long", strategy.long, when=long) strategy.close("Long", when=lexit1) strategy.close("Long", when=lexit2) strategy.close("Long", when=short) strategy.entry("Short", strategy.short, when=short) strategy.close("Short", when=sexit1) strategy.close("Short", when=sexit2) strategy.close("Short", when=long) plot (rsi1, color=orange, transp=0,linewidth=1, title="Short period RSI") plot (rsi2, color=aqua , transp=0,linewidth=1, title="Long period RSI")