Stratégie de trading de suivi de tendance et de gestion des risques à double moyenne mobile

EMA SMA
Date de création: 2025-02-21 09:36:33 Dernière modification: 2025-02-27 17:18:43
Copier: 1 Nombre de clics: 330
2
Suivre
319
Abonnés

Stratégie de trading de suivi de tendance et de gestion des risques à double moyenne mobile Stratégie de trading de suivi de tendance et de gestion des risques à double moyenne mobile

Aperçu

La stratégie est un système de trading automatisé qui combine le suivi de tendances à plusieurs cycles et la gestion des risques. Elle identifie les opportunités de trading principalement par des moyennes mobiles indicielles ((EMA) sur deux périodes de 5 minutes et 1 minute, tout en appliquant des paramètres de perte et de prise de profit à pourcentage fixe pour contrôler les risques. La stratégie est particulièrement adaptée aux traders à courte ligne, en particulier ceux qui se concentrent sur le suivi des tendances.

Principe de stratégie

La logique centrale de la stratégie est basée sur deux périodes de temps:

  1. En utilisant l’EMA à 200 cycles de 5 minutes comme principal filtre de tendance, les hausses sont autorisées uniquement lorsque le prix est au-dessus de cette moyenne et les creux au-dessous de cette moyenne.
  2. Sur une période d’une minute, utilisez une EMA de 20 cycles comme déclencheur d’entrée. Lorsque le prix traverse cette ligne moyenne vers le haut, déclenchez un signal de multiplication, et lorsque le prix traverse vers le bas, déclenchez un signal de rupture.
  3. La méthode de gestion des risques utilise un ratio fixe, avec un arrêt de perte de 0,5% du prix d’entrée pour chaque transaction et un objectif de profit de 2 fois la distance d’arrêt, formant un ratio de risque / bénéfice de 1: 2.

Avantages stratégiques

  1. L’analyse pluricyclique fournit une analyse de tendance plus fiable et réduit le risque de fausses ruptures.
  2. L’utilisation d’une méthode de gestion des risques à taux fixe rend la gestion des fonds plus normalisée et systématique.
  3. Le ratio risque/bénéfice est de 1:2, même avec une probabilité de victoire de 40%, il est possible de réaliser un profit.
  4. La logique de la stratégie est simple, claire, facile à comprendre et à mettre en œuvre.
  5. Les marqueurs de signaux de transaction visualisés facilitent la vérification des retours.

Risque stratégique

  1. Les mouvements rapides du marché peuvent entraîner de fréquents faux signaux.
  2. En période de faible volatilité, un stop loss de 0,5% peut être trop serré.
  3. Il peut y avoir des retards en fonction de l’intersection homogène.
  4. Les transactions à haute fréquence peuvent entraîner des coûts de transaction plus élevés.
  5. Le marché pourrait être confronté à une reprise plus importante si la tendance se renverse rapidement.

Orientation de l’optimisation de la stratégie

  1. L’introduction d’un indicateur de volatilité pour ajuster dynamiquement la distance d’arrêt.
  2. Augmentation du signal de confirmation de passage pour améliorer la qualité des entrées.
  3. On peut envisager d’ajouter des indicateurs de force de tendance comme l’ADX pour filtrer les tendances faibles.
  4. Les signaux sont filtrés par l’ajout d’indicateurs d’oscillation tels que le RSI sur les marchés horizontaux.
  5. Le rapport risque/bénéfice est établi en fonction de la dynamique de développement des différentes caractéristiques du marché.

Résumer

Il s’agit d’une stratégie de suivi de tendances structurée et logiquement claire. La stratégie, combinée à une analyse multi-cycle et à une gestion rigoureuse des risques, permet de capturer efficacement les tendances du marché tout en protégeant les fonds.

Code source de la stratégie
/*backtest
start: 2025-01-21 00:00:00
end: 2025-02-20 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"DOGE_USDT"}]
*/

//@version=5
strategy("Scalping Strategy: 1-min Entries with 5-min 200 EMA Filter", overlay=true, initial_capital=10000, currency=currency.USD, default_qty_type=strategy.percent_of_equity, default_qty_value=5, calc_on_every_tick=true)

// --- Higher Timeframe Trend Filter ---
// Get the 200-period EMA on a 5-minute timeframe
ema200_5 = request.security(syminfo.tickerid, "5", ta.ema(close, 200), lookahead=barmerge.lookahead_on)
plot(ema200_5, color=color.purple, title="5-min 200 EMA")

// --- Local (1-Minute) Indicators ---
// On a 1-minute chart, calculate a 20-period EMA for entry triggers
ema20_1 = ta.ema(close, 20)
plot(ema20_1, color=color.yellow, title="1-min 20 EMA")

// --- Entry Conditions ---
// For long entries:
//   - The overall trend is bullish: current close > 5-min 200 EMA
//   - The 1-min candle closes and crosses above its 20 EMA
longCondition = (close > ema200_5) and ta.crossover(close, ema20_1)

// For short entries:
//   - Overall bearish trend: current close < 5-min 200 EMA
//   - 1-min candle crosses below its 20 EMA
shortCondition = (close < ema200_5) and ta.crossunder(close, ema20_1)

// --- Risk Management Settings ---
// For scalping, use a tight stop loss. Here we set risk at 0.5% of the entry price.
var float riskPerc = 0.005  // 0.5% risk per trade

// Declare global variables for stop loss and take profit so they can be used outside the if-blocks
var float longStop  = na
var float longTP    = na
var float shortStop = na
var float shortTP   = na

// --- Trade Execution --- 
if (longCondition)
    entryPrice = close
    // Stop loss for long: 0.5% below entry
    longStop := entryPrice * (1 - riskPerc)
    // Take profit: twice the risk distance (1:2 risk-reward)
    longTP   := entryPrice + 2 * (entryPrice - longStop)
    strategy.entry("Long", strategy.long)
    strategy.exit("Long Exit", from_entry="Long", stop=longStop, limit=longTP)

if (shortCondition)
    entryPrice = close
    // Stop loss for short: 0.5% above entry
    shortStop := entryPrice * (1 + riskPerc)
    // Take profit: twice the risk distance
    shortTP   := entryPrice - 2 * (shortStop - entryPrice)
    strategy.entry("Short", strategy.short)
    strategy.exit("Short Exit", from_entry="Short", stop=shortStop, limit=shortTP)

// --- Visual Debug Markers ---
// Plot a green triangle below bars when a long signal is generated
plotshape(longCondition, title="Long Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.tiny)
// Plot a red triangle above bars when a short signal is generated
plotshape(shortCondition, title="Short Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.tiny)