Stratégie de trading quantitatif avec cassure du double RSI


Date de création: 2024-01-18 15:25:11 Dernière modification: 2024-01-18 15:25:11
Copier: 0 Nombre de clics: 740
1
Suivre
1617
Abonnés

Stratégie de trading quantitatif avec cassure du double RSI

Aperçu

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.

Principe de stratégie

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.

Analyse des avantages

  • L’indicateur RSI utilise les caractéristiques de sur-achat et de sur-vente pour créer des signaux de négociation et éviter de suivre les hauts et les bas.
  • L’utilisation de l’indicateur RSI rapide et lent permet de suivre les changements de tendance du marché et d’effectuer des entrées et des sorties en temps opportun.
  • Suivre les tendances à moyen et long terme pour ne pas être dérangé par le bruit des marchés à court terme;
  • Le risque est maîtrisé et il y a un mécanisme de stop loss.

Les risques et les solutions

  • Le risque de fausse rupture. La solution est de définir raisonnablement les paramètres du RSI rapide et lent pour assurer une véritable rupture.
  • La solution consiste à définir raisonnablement la distance de rupture en fonction de la volatilité du marché.
  • Le risque de perte en spirale. La solution est de ne pas poursuivre les pertes et de faire des entrées et des sorties selon les règles de la stratégie.

Direction d’optimisation

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

  1. Les paramètres du RSI peuvent être optimisés pour trouver la meilleure combinaison de paramètres.
  2. Les indicateurs peuvent être combinés avec d’autres pour créer des signaux de trading plus fiables.
  3. Il est possible de définir des stop-loss dynamiques et d’ajuster les points de stop-loss en temps réel en fonction des fluctuations du marché.

Résumer

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.

Code source de la stratégie
/*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()