Stratégie de trading de suivi de tendance et de sortie par étapes à moyenne mobile exponentielle double

EMA MA TP SL PIP FOREX
Date de création: 2025-02-24 10:23:24 Dernière modification: 2025-02-24 10:23:24
Copier: 6 Nombre de clics: 323
2
Suivre
319
Abonnés

Stratégie de trading de suivi de tendance et de sortie par étapes à moyenne mobile exponentielle double Stratégie de trading de suivi de tendance et de sortie par étapes à moyenne mobile exponentielle double

Aperçu

La stratégie est un système de suivi des tendances basé sur des croisements de moyennes mobiles bi-indicateurs (EMA) combinés à des sorties par étapes pour optimiser les gains de négociation. La stratégie utilise des EMA de 9 cycles et de 21 cycles comme ligne rapide et lente, pour identifier les changements de tendances du marché à travers leurs croisements, tout en utilisant un programme de sortie de position en deux phases pour équilibrer les risques et les gains.

Principe de stratégie

La logique centrale de la stratégie est basée sur les signaux de croisement des EMA rapides ((9 cycles) et des EMA lents ((21 cycles)). Lorsqu’une ligne rapide traverse une ligne lente, le système ouvre une position à plusieurs têtes à 0.02; lorsqu’une ligne rapide traverse une ligne lente, le système ouvre une position à vide à 0.02. Pendant la tenue de position, la stratégie utilise un mécanisme d’exit en deux phases: la première phase consiste à niveler la moitié de la position lorsque le profit atteint 200 points ((0.01)); la deuxième phase consiste à niveler la position restante lorsque le signal de croisement inverse se produit.

Avantages stratégiques

  1. Capture de tendances: en utilisant deux EMA de différentes périodes, la stratégie est capable d’identifier efficacement les points de basculement des tendances du marché.
  2. La gestion des risques est parfaite: le mécanisme de sortie par étapes permet de bloquer une partie des bénéfices et de ne pas rater complètement la poursuite de la tendance.
  3. La configuration des paramètres est raisonnable: les combinaisons EMA de 9 et 21 cycles sont largement vérifiées sur le marché et présentent une meilleure fiabilité.
  4. Logique d’exécution claire: les règles d’entrée et de sortie de la stratégie sont claires, ce qui facilite les opérations en direct et la vérification des retours.

Risque stratégique

  1. Risque de choc du marché: dans un marché de choc horizontal, des signaux de croisement fréquents peuvent entraîner des pertes de faux-pas en série.
  2. Effets des points de glissement: dans un marché en évolution rapide, l’exécution d’une sortie par étapes peut être affectée par des points de glissement.
  3. Risque d’inversion de tendance: si la tendance du marché se retourne brusquement, la stratégie peut être de réduire la moitié des positions à la hausse, les positions restantes subissant un retrait plus important.

Orientation de l’optimisation de la stratégie

  1. Introduction de filtres de tendance: vous pouvez ajouter des moyennes à long terme ou des indicateurs de tendance pour filtrer les faux signaux.
  2. La configuration dynamique des arrêts de perte: les arrêts de perte sont ajustés dynamiquement en fonction de la volatilité du marché, ce qui améliore la flexibilité du contrôle des risques.
  3. Optimiser le ratio de sortie par tranches: vous pouvez ajuster le ratio de position de sortie initiale et les objectifs de profit en fonction des différentes conditions du marché.
  4. Augmentation du filtrage temporel: ajout d’une limite de fenêtre de temps de négociation pour éviter de négocier pendant les périodes de faible liquidité.

Résumer

Il s’agit d’un système de négociation complet qui combine la stratégie classique de croisement linéaire avec la gestion de position moderne. La stratégie améliore la rentabilité de la stratégie de croisement linéaire traditionnelle grâce à un mécanisme d’exode par étapes, mais nécessite toujours des ajustements appropriés par le trader en fonction de l’environnement du marché et de sa propre tolérance au risque.

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

//@version=5
strategy("EMA Crossover with Partial Exit", overlay=true, default_qty_type=strategy.cash, default_qty_value=50)

// Define lot sizes
lotSize = 0.02   // Initial trade size
partialLot = 0.01 // Half quantity to close at 20 pips profit
profitTarget = 200 // 20 pips = 200 points (for Forex, adjust accordingly)

// Define EMA lengths
fastLength = 9
slowLength = 21

// Compute EMAs
fastEMA = ta.ema(close, fastLength)
slowEMA = ta.ema(close, slowLength)

// Define crossover conditions
longEntry = ta.crossover(fastEMA, slowEMA)   // Buy when 9 EMA crosses above 21 EMA
shortEntry = ta.crossunder(fastEMA, slowEMA) // Sell when 9 EMA crosses below 21 EMA

// Track trade state
var float entryPrice = na
var bool inTrade = false
var bool isLong = false

// Entry Logic (Enter with 0.02 lot size)
if (longEntry and not inTrade)
    strategy.entry("Long", strategy.long, qty=lotSize)
    entryPrice := close
    inTrade := true
    isLong := true

if (shortEntry and not inTrade)
    strategy.entry("Short", strategy.short, qty=lotSize)
    entryPrice := close
    inTrade := true
    isLong := false

// Partial Exit Logic (Close 0.01 lot after 20 pips profit)
if (isLong and inTrade and close >= entryPrice + profitTarget * syminfo.mintick)
    strategy.close("Long", qty=partialLot)

if (not isLong and inTrade and close <= entryPrice - profitTarget * syminfo.mintick)
    strategy.close("Short", qty=partialLot)

// Full Exit (Close remaining 0.01 lot at the next major crossover)
if (isLong and shortEntry)
    strategy.close("Long") // Close remaining position
    inTrade := false

if (not isLong and longEntry)
    strategy.close("Short") // Close remaining position
    inTrade := false

// Plot EMAs
plot(fastEMA, color=color.blue, title="9 EMA")
plot(slowEMA, color=color.red, title="21 EMA")

// Mark Buy/Sell Signals
plotshape(series=longEntry, location=location.belowbar, color=color.green, style=shape.labelup, title="BUY Signal")
plotshape(series=shortEntry, location=location.abovebar, color=color.red, style=shape.labeldown, title="SELL Signal")