
Strategi ini disebut dengan RSI Reversal, dan merupakan strategi perdagangan kuantitatif yang didasarkan pada indeks kekuatan relatif (RSI). Strategi ini menggunakan dua periode RSI yang berbeda sebagai sinyal beli dan jual, untuk mencapai harga rendah dan harga tinggi, untuk mendapatkan peluang perdagangan yang dibawa oleh reversal harga saham.
Strategi ini menggunakan siklus cepat ((default 55 hari) RSI dan siklus lambat ((default 126 hari) RSI untuk membangun sinyal perdagangan. Ini menghasilkan sinyal beli ketika siklus cepat RSI melintasi siklus lambat RSI dan sebaliknya menghasilkan sinyal jual ketika siklus cepat RSI melintasi siklus lambat RSI. Dengan membandingkan dinamika harga yang relatif kuat dan lemah dalam dua periode waktu yang berbeda, peluang untuk membalikkan tren jangka pendek dan jangka panjang dapat ditemukan.
Setelah masuk ke sinyal, strategi akan mengatur stop stop stop loss. Stop stop default 0,9 kali harga masuk, stop stop default 3% dari harga masuk. Dan juga akan meratakan posisi saat ini ketika sinyal reversal muncul lagi.
Strategi ini menggunakan dua timeline RSI inversion dengan membandingkan dua RSI dengan siklus yang lebih cepat dan siklus yang lebih lambat sebagai sinyal perdagangan, dengan tujuan untuk menangkap peluang reversal harga jangka pendek. Ini adalah strategi yang khas untuk melakukan perdagangan reversal harga menggunakan perbandingan indikator multi-time axis.
/*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")