
Strategi RSI ganda adalah strategi perdagangan kuantitatif yang menggunakan RSI cepat dan RSI lambat untuk menghasilkan sinyal perdagangan secara bersamaan. Strategi ini menghasilkan sinyal perdagangan dengan membuat terobosan antara dua indikator RSI yang cepat dan lambat, untuk mencapai efek melacak tren pasar.
Strategi ini menggunakan dua indikator RSI pada saat yang sama, dengan RSI cepat berperiode 2, dan RSI lambat berperiode 14.
Ketika RSI lambat lebih besar dari 50, RSI cepat lebih kecil dari 50, menghasilkan sinyal do-plus; ketika RSI lambat lebih kecil dari 50, RSI cepat lebih besar dari 50, menghasilkan sinyal do-short. Setelah melakukan do-short lebih banyak, jika muncul sinyal stop loss (posisi stop loss) jika muncul kolom K garis merah ketika ada kerugian tunggal, kolom K garis hijau ketika ada kerugian tunggal).
Strategi ini juga dapat dioptimalkan dalam beberapa hal:
Strategi penembusan RSI ganda menggunakan indikator RSI yang cepat dan lambat untuk melacak perubahan tren pasar, membentuk sinyal perdagangan di daerah overbought dan oversold, dapat secara efektif menghindari mengejar kenaikan dan penurunan. Pada saat yang sama, mekanisme stop loss telah diatur untuk mengendalikan risiko. Strategi ini sederhana dan mudah diterapkan, cocok untuk perdagangan kuantitatif.
/*backtest
start: 2024-01-10 00:00:00
end: 2024-01-17 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=2
strategy(title = "Noro's Double RSI Strategy 1.0", shorttitle = "2RSI str 1.0", overlay=true )
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
leverage = input(1, defval = 1, minval = 1, maxval = 100, title = "leverage")
fast = input(2, defval = 2, minval = 2, maxval = 100, title = "Fast RSI Period")
slow = input(14, defval = 14, minval = 2, maxval = 100, title = "Slow RSI Period")
fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
//Fast RSI
fastup = rma(max(change(close), 0), fast)
fastdown = rma(-min(change(close), 0), fast)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))
//Slow RSI
slowup = rma(max(change(close), 0), slow)
slowdown = rma(-min(change(close), 0), slow)
slowrsi = slowdown == 0 ? 100 : slowup == 0 ? 0 : 100 - (100 / (1 + slowup / slowdown))
//Signals
up = slowrsi > 50 and fastrsi < 50
dn = slowrsi < 50 and fastrsi > 50
exit = (strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open)
lot = strategy.position_size == 0 ? strategy.equity / close * leverage : lot[1]
//Trading
if up
if strategy.position_size < 0
strategy.close_all()
strategy.entry("Long", strategy.long, needlong == false ? 0 : lot )
if dn
if strategy.position_size > 0
strategy.close_all()
strategy.entry("Short", strategy.short, needshort == false ? 0 : lot )
if exit
strategy.close_all()