Strategi ini dinamakan
Strategi ini membina isyarat perdagangan dengan membandingkan RSI tempoh cepat (default 55 hari) dan RSI tempoh perlahan (default 126 hari). Apabila RSI tempoh cepat melintasi di atas RSI perlahan, isyarat beli dihasilkan. Apabila RSI cepat jatuh di bawah RSI perlahan, isyarat jual dicetuskan. Dengan membandingkan kekuatan relatif antara dua jangka masa yang berbeza, ia mengesan peluang apabila trend jangka pendek dan jangka panjang berbalik.
Selepas memasuki kedudukan, sasaran keuntungan dan stop loss akan ditetapkan. Sasaran keuntungan lalai adalah 0.9 kali harga masuk. Stop loss lalai adalah 3% di bawah harga masuk. Posisi juga akan ditutup jika isyarat terbalik dicetuskan.
Strategi
/*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")