Stratégie dynamique de stop-profit et de stop-loss ATR avec croisement de moyennes mobiles multiples et RSI

SMA RSI ATR TP SL
Date de création: 2025-02-21 13:44:39 Dernière modification: 2025-02-21 13:44:39
Copier: 0 Nombre de clics: 330
2
Suivre
319
Abonnés

Stratégie dynamique de stop-profit et de stop-loss ATR avec croisement de moyennes mobiles multiples et RSI Stratégie dynamique de stop-profit et de stop-loss ATR avec croisement de moyennes mobiles multiples et RSI

Aperçu de la stratégie

La stratégie est un système de trading automatisé basé sur des signaux croisés de multiples moyennes mobiles (SMA) et d’indicateurs relativement faibles (RSI). Il combine le mécanisme de vérification multiple des moyennes mobiles à court et moyen terme et la confirmation de la tendance par l’indicateur RSI, tout en utilisant le stop loss ATR dynamique pour contrôler le risque, pour créer un cadre de décision de trading complet. La stratégie est principalement utilisée pour capturer les points de basculement des tendances du marché et améliorer la précision des transactions grâce à la confirmation croisée de plusieurs indicateurs techniques.

Principe de stratégie

La logique centrale de la stratégie est basée sur un jugement combiné de cinq conditions clés:

  1. Le prix a dépassé la moyenne mobile à son plus haut de 20 cycles
  2. Les prix ont dépassé la moyenne mobile des bas de 20 cycles
  3. Le prix a dépassé la moyenne mobile à son plus haut de 50 cycles
  4. Les prix ont dépassé la moyenne mobile des bas de 50 cycles
  5. Le RSI (7) a dépassé le niveau de 50

Une stratégie ne génère un signal d’achat que si ces cinq conditions sont réunies. Après l’entrée, la stratégie utilise des niveaux de stop-loss et de stop-loss dynamiques basés sur l’ATR, avec un stop-loss défini à 1,5 fois l’ATR et un stop-loss défini à 2,5 fois l’ATR, une conception qui permet d’ajuster automatiquement les paramètres de gestion du risque en fonction de la volatilité du marché.

Avantages stratégiques

  1. Les mécanismes de vérification multiple améliorent considérablement la fiabilité des signaux de transaction et réduisent l’impact des faux signaux en exigeant la confirmation simultanée de plusieurs indicateurs techniques.
  2. Le système de gestion dynamique des risques permet d’ajuster automatiquement les niveaux d’arrêt et d’arrêt en fonction de la volatilité du marché, ce qui rend la stratégie bien adaptée.
  3. Il est capable de capturer des ruptures fortes et d’arrêter les pertes en temps opportun pour protéger les bénéfices.
  4. Les paramètres de la stratégie sont réglables et les traders peuvent les ajuster en fonction des conditions du marché et de leurs préférences en matière de risque.

Risque stratégique

  1. Le fait de satisfaire simultanément à plusieurs conditions peut vous faire rater des opportunités de transactions potentielles.
  2. Dans un marché en crise, des prix fréquents dépassant la moyenne peuvent déclencher trop de signaux de négociation.
  3. Le coefficient ATR fixe peut ne pas être suffisamment flexible dans des conditions de marché extrêmes.
  4. La stratégie ne prend pas en compte les fondamentaux du marché, et l’analyse purement technique peut être inefficace face à des nouvelles importantes.

Orientation de l’optimisation de la stratégie

  1. Introduction d’un filtre de volatilité du marché pour ajuster la fréquence des transactions et la taille des positions pendant les périodes de forte volatilité.
  2. L’augmentation des mécanismes de confirmation des volumes et la fiabilité des signaux de rupture.
  3. Développer des mécanismes de régulation des multiples ATR adaptatifs qui ajustent les niveaux de stop loss et de stop stop en fonction de la dynamique des fluctuations historiques des taux.
  4. Ajouter un filtre de force de tendance pour éviter de trop négocier dans des conditions de faiblesse.

Résumer

Il s’agit d’une stratégie de trading technique conçue de manière raisonnable pour améliorer l’exactitude des transactions grâce à la confirmation croisée de plusieurs indicateurs techniques et pour protéger les bénéfices grâce à un système de gestion dynamique des risques. Bien que la stratégie présente certaines limitations, sa performance peut être encore améliorée par une orientation d’optimisation recommandée.

Code source de la stratégie
/*backtest
start: 2024-02-22 00:00:00
end: 2025-02-19 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/

//@version=5
strategy("Virat Bharat Auto Trade", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// **User-Defined Inputs for Customization**
smaLength20 = input(20, title="SMA High/Low 20 Length")
smaLength50 = input(50, title="SMA High/Low 50 Length")
rsiLength = input(7, title="RSI Length")
rsiLevel = input(50, title="RSI Crossover Level")
atrMultiplierSL = input(1.5, title="ATR Multiplier for Stop Loss")
atrMultiplierTP = input(2.5, title="ATR Multiplier for Target")

// **Defining the Indicators with Custom Inputs**
smaHigh20 = ta.sma(high, smaLength20)
smaLow20 = ta.sma(low, smaLength20)
smaHigh50 = ta.sma(high, smaLength50)
smaLow50 = ta.sma(low, smaLength50)
rsiValue = ta.rsi(close, rsiLength)
atrValue = ta.atr(14)  // ATR for Dynamic Stop Loss & Target

// **Conditions for Buy Signal**
condition1 = ta.crossover(close, smaHigh20)
condition2 = ta.crossover(close, smaLow20)
condition3 = ta.crossover(close, smaHigh50)
condition4 = ta.crossover(close, smaLow50)
condition5 = ta.crossover(rsiValue, rsiLevel)

// **Final Buy Signal (Only when all conditions match)**
buySignal = condition1 and condition2 and condition3 and condition4 and condition5

// **Buy Price, Stop Loss & Target**
buyPrice = close
stopLoss = buyPrice - (atrValue * atrMultiplierSL)  // Dynamic Stop Loss
target = buyPrice + (atrValue * atrMultiplierTP)  // Dynamic Target

// **Plot Buy Signal on Chart**
plotshape(buySignal, location=location.belowbar, color=color.green, style=shape.labelup, title="BUY", size=size.small, text="BUY")

// **Plot Labels for Buy, Stop Loss & Target**
if buySignal
    label.new(x=bar_index, y=buyPrice, text="BUY @ " + str.tostring(buyPrice, format="#.##"), color=color.green, textcolor=color.white, size=size.small, style=label.style_label_down, yloc=yloc.price)
    label.new(x=bar_index, y=stopLoss, text="STOP LOSS @ " + str.tostring(stopLoss, format="#.##"), color=color.red, textcolor=color.white, size=size.small, style=label.style_label_down, yloc=yloc.price)
    label.new(x=bar_index, y=target, text="TARGET @ " + str.tostring(target, format="#.##"), color=color.blue, textcolor=color.white, size=size.small, style=label.style_label_up, yloc=yloc.price)

// **Strategy Trading Logic - Automated Entry & Exit**
if buySignal
    strategy.entry("BUY", strategy.long)
    strategy.exit("SELL", from_entry="BUY", loss=atrValue * atrMultiplierSL, profit=atrValue * atrMultiplierTP)