
La stratégie de rupture du double RSI est une stratégie de négociation quantitative qui utilise à la fois le RSI rapide et le RSI lent pour générer des signaux de négociation. La stratégie permet de suivre les tendances du marché en formant des signaux de négociation par rupture entre deux indicateurs RSI rapides et lents.
La stratégie utilise simultanément deux indicateurs RSI, un RSI rapide de 2 et un RSI lent de 14. Le signal de trading de la stratégie provient d’une rupture entre les deux indicateurs RSI.
Lorsque le RSI lent est supérieur à 50, le RSI rapide est inférieur à 50, un signal de stop-loss est généré; lorsque le RSI lent est inférieur à 50, le RSI rapide est supérieur à 50, un signal de stop-loss est généré. Après avoir effectué un stop-loss supplémentaire, si un signal de stop-loss apparaît (colonne K rouge pour les pertes multiples et colonne K verte pour les pertes simples), la position est stoppée.
La stratégie peut également être optimisée dans les domaines suivants:
La stratégie de rupture du double RSI utilise l’indicateur RSI rapide et lent pour suivre les changements de tendance du marché, pour former des signaux de négociation dans les zones de survente et de survente. Elle permet d’éviter efficacement la poursuite des hauts et des bas.
/*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()