
Strategi penembusan RSI ganda adalah strategi perdagangan kuantitatif yang menggunakan RSI cepat dan RSI perlahan untuk menghasilkan isyarat perdagangan. Strategi ini menghasilkan isyarat perdagangan melalui penembusan antara dua indikator RSI yang cepat dan perlahan, untuk mencapai kesan trend pasaran.
Strategi ini menggunakan dua RSI pada masa yang sama, satu RSI cepat dengan kitaran 2, dan satu RSI perlahan dengan kitaran 14. Isyarat perdagangan strategi ini berasal dari pecah antara dua RSI.
Apabila RSI perlahan lebih besar daripada 50, RSI pantas lebih kecil daripada 50, menghasilkan isyarat melakukan lebih banyak; apabila RSI perlahan lebih kecil daripada 50, RSI pantas lebih besar daripada 50, menghasilkan isyarat melakukan lebih banyak. Selepas melakukan lebih banyak, jika isyarat berhenti kehilangan berlaku (klor K merah muncul apabila kerugian tunggal muncul, dan Klor K hijau muncul apabila kerugian tunggal kosong), maka stop loss).
Strategi ini juga boleh dioptimumkan dalam beberapa aspek:
Strategi penembusan RSI ganda menggunakan indikator RSI yang perlahan untuk mengikuti perubahan trend pasaran, membentuk isyarat perdagangan di kawasan yang terlalu banyak dibeli dan dijual, dan dapat mengelakkan mengejar kenaikan dan penurunan. Pada masa yang sama, mekanisme penangguhan kerugian telah ditetapkan untuk mengawal risiko. Strategi ini mudah dikendalikan, mudah dilaksanakan, sesuai 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()