Stratégie de trading multi-indicateurs suivant la tendance du momentum

RSI MACD MA EMA SMA
Date de création: 2025-02-21 10:06:35 Dernière modification: 2025-02-21 10:06:35
Copier: 0 Nombre de clics: 379
2
Suivre
319
Abonnés

Stratégie de trading multi-indicateurs suivant la tendance du momentum Stratégie de trading multi-indicateurs suivant la tendance du momentum

Aperçu

La stratégie est un système de trading dynamique de suivi de tendance combinant plusieurs indicateurs techniques. Elle détermine principalement la direction de la grande tendance à l’aide de la moyenne mobile à 200 jours (MA200), identifie les opportunités de reprise à l’aide de la moyenne mobile à 50 jours (EMA50) et identifie les opportunités d’entrée en jeu en combinant les signaux croisés d’un indicateur relativement faible (RSI) et d’une dispersion de tendance à la moyenne mobile (MACD). La stratégie contient également un mécanisme de contrôle des risques pour protéger les bénéfices des pertes en définissant un ratio de rentabilité des risques et un suivi des arrêts.

Principe de stratégie

La logique centrale de la stratégie est d’améliorer l’exactitude des transactions grâce à un mécanisme de filtrage à plusieurs niveaux. D’abord, la stratégie détermine la tendance dominante du marché à l’aide de la MA200, qui est jugée comme une tendance à plusieurs têtes lorsque le prix est au-dessus de la MA200, et non comme une tendance aérienne. Après avoir déterminé la direction de la tendance, la stratégie recherche des opportunités de reprise près de l’EMA50, demandant que le prix touche l’EMA50 au cours des 5 derniers cycles.

Avantages stratégiques

  1. La vérification synchrone de multiples indicateurs améliore la fiabilité des transactions
  2. La combinaison de tendances et de facteurs de dynamique permet de capturer les événements à grande échelle.
  3. Le mécanisme de rappel réduit le risque de poursuite
  4. Un mécanisme de stop-loss souple qui protège le capital mais ne laisse pas de côté le gros lot
  5. Les paramètres sont réglables pour s’adapter à différents environnements de marché
  6. La logique de la stratégie est claire, facile à comprendre et à mettre en œuvre

Risque stratégique

  1. Le filtrage sur plusieurs indicateurs peut entraîner la perte de certaines opportunités de trading
  2. Des faux signaux peuvent fréquemment se produire sur des marchés volatils
  3. Les moyennes mobiles ont un retard qui peut affecter le temps d’entrée
  4. Le rendement du risque fixe varie selon les conditions du marché
  5. Une optimisation excessive des paramètres peut entraîner un risque de suradaptation

Orientation de l’optimisation de la stratégie

  1. Introduction d’indicateurs de volatilité et d’ajustement dynamique du ratio risque/revenu
  2. Augmentation des mécanismes de filtrage des conditions de marché, afin d’identifier les tendances et les fluctuations du marché
  3. Optimisation de la logique de jugement de rétro-appel pour une meilleure précision de la chronologie d’entrée
  4. Ajoutez un mécanisme de confirmation du volume pour améliorer la fiabilité du signal
  5. Développer un système de paramètres adaptatifs pour améliorer la robustesse de la stratégie

Résumer

La stratégie utilise plusieurs indicateurs techniques pour construire un système complet de suivi des tendances. L’avantage de la stratégie réside dans le fait que la confirmation de plusieurs signaux améliore la fiabilité des transactions, tandis que le mécanisme de contrôle des risques offre une bonne protection à la stratégie.

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

//@version=6
strategy("Trend-Following Momentum Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=2)

// PARAMETERS
lengthMA200 = input(200, title="200-day MA Length")
lengthEMA50 = input(50, title="50-day EMA Length")
rsiLength = input(14, title="RSI Length")
macdFastLength = input(12, title="MACD Fast Length")
macdSlowLength = input(26, title="MACD Slow Length")
macdSignalLength = input(9, title="MACD Signal Length")
riskRewardRatio = input(1.5, title="Risk-Reward Ratio")
useTrailingStop = input(true, title="Use Trailing Stop?")
trailingPercent = input(1.0, title="Trailing Stop (%)") / 100

// INDICATORS
ma200 = ta.sma(close, lengthMA200) // 200-day MA
ema50 = ta.ema(close, lengthEMA50) // 50-day EMA
rsi = ta.rsi(close, rsiLength) // RSI
[macdLine, signalLine, _] = ta.macd(close, macdFastLength, macdSlowLength, macdSignalLength)

// TREND CONDITIONS
bullishTrend = close > ma200
bearishTrend = close < ma200

// PULLBACK CONDITION
recentPullbackLong = ta.barssince(close < ema50) < 5 // Price touched EMA50 in last 5 bars
recentPullbackShort = ta.barssince(close > ema50) < 5 // Price touched EMA50 in last 5 bars

// ENTRY CONDITIONS
longEntry = bullishTrend and ta.crossover(macdLine, signalLine) and rsi > 50 and recentPullbackLong
shortEntry = bearishTrend and ta.crossunder(macdLine, signalLine) and rsi < 50 and recentPullbackShort

// EXECUTE TRADES
if longEntry
    strategy.entry("Long", strategy.long)
    strategy.exit("Long Exit", from_entry="Long", limit=close * (1 + riskRewardRatio), stop=close * (1 - (1 / (1 + riskRewardRatio))), trail_price=useTrailingStop ? close * (1 - trailingPercent) : na)

if shortEntry
    strategy.entry("Short", strategy.short)
    strategy.exit("Short Exit", from_entry="Short", limit=close * (1 - riskRewardRatio), stop=close * (1 + (1 / (1 + riskRewardRatio))), trail_price=useTrailingStop ? close * (1 + trailingPercent) : na)

// PLOT INDICATORS
plot(ma200, title="200-day MA", color=color.blue, linewidth=2)
plot(ema50, title="50-day EMA", color=color.orange, linewidth=2)