Stratégie de percée à double RSI

Auteur:ChaoZhang est là., Date: 2024-01-18 15h25 et 11h
Les étiquettes:

img

Résumé

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.

Principe de stratégie

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é.

Analyse des avantages

  • Formez des signaux de trading en utilisant les caractéristiques de surachat et de survente des indicateurs RSI pour éviter de poursuivre les sommets et de tuer les fonds.
  • La combinaison de l'indice de volatilité rapide et lent peut suivre les changements de tendance pour réaliser des entrées et des sorties en temps opportun.
  • Suivre les tendances à moyen et à long terme et éviter d'être dérangé par le bruit du marché à court terme.
  • Un bon contrôle des risques avec un mécanisme de stop loss.

Risques et solutions

  • La solution consiste à définir raisonnablement les paramètres d'un RSI rapide et lent pour assurer une véritable percée.
  • Risque lié à un mauvais réglage du point de stop loss La solution consiste à régler raisonnablement la distance de stop loss en fonction de la volatilité du marché.
  • La solution n'est pas de courir après les hausses et de battre les baisses, et de faire des entrées et des sorties selon les règles de la stratégie.

Directions d'optimisation

La stratégie peut également être optimisée dans les aspects suivants:

  1. Optimiser les paramètres de l'indice de résistance rapide et lent pour trouver la meilleure combinaison de paramètres;
  2. Mettre en place d'autres indicateurs pour former des signaux de négociation plus fiables;
  3. Définir un stop loss dynamique et ajuster le point de stop loss en temps réel en fonction de la volatilité du marché.

Conclusion

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()

Plus de