
この戦略は,双時間軸RSI反転と呼ばれています.これは,相対強度指数 (RSI) に基づく定量取引戦略である.この戦略は,購入と販売の信号として2つの異なる周期のRSIを使用し,低買い高売りを実現し,株価の反転がもたらす取引機会を取得します.
この戦略は,速い周期 (デフォルト55日) のRSIと遅い周期 (デフォルト126日) のRSIを使用して取引信号を構築する.速い周期のRSI上を通過すると買取信号が生成され,逆に,速い周期のRSI下を通過すると売出信号が生成される.このように,二つの異なる時間帯間の価格動力の相対的な強さを比較することによって,短期および長期のトレンド反転の機会を発見する.
シグナルが入った後,戦略はストップ・ストップ・ストラストを設定する. ストップ・ストラストは入った価格の0.9倍で,ストップ・ストラストは入った価格の3%で設定する. また,逆転シグナルが再現されたとき,現在のポジションを平準化する.
この戦略は,二重時間軸RSI反転を,より速い周期とより遅い周期の2つのRSIの交差を取引信号として利用し,短期価格反転の機会を捉えることを目指しています.同時に,ストップ・ロスのルールを設定し,リスクを回避します.これは,指標の複数の時間軸を比較して価格反転の取引を実現する典型的な戦略です.最適化スペースは,パラメータ調整とリスク管理ルールの最適化にあります.
/*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")