La stratégie de rupture du double RSI est une stratégie de trading quantitative qui génère des signaux de trading en utilisant à la fois des indicateurs RSI rapides et lents.
La stratégie utilise deux indicateurs RSI simultanément, un indicateur RSI rapide avec une période de 2 et un indicateur RSI lent avec une période de 14.
Lorsque le RSI lent est supérieur à 50 et que le RSI rapide est inférieur à 50, un signal long est généré. Lorsque le RSI lent est inférieur à 50 et que le RSI rapide est supérieur à 50, un signal court est généré.
La stratégie peut également être optimisée dans les aspects suivants:
La stratégie de rupture du double RSI utilise des indicateurs de RSI rapides et lents pour suivre les changements de tendance du marché et forme des signaux de trading dans les zones surachetées et survendues, ce qui peut éviter efficacement de poursuivre les pics et de tuer les fonds. En même temps, un mécanisme de stop loss est mis en place pour contrôler les risques. La stratégie est simple à utiliser et facile à mettre en œuvre, adaptée au trading quantitatif. Le facteur de profit peut être encore amélioré grâce à l'optimisation des paramètres, aux indicateurs de combinaison, etc.
/*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()