Stratégie avancée de moyenne mobile double et système de filtrage de volatilité ATR

EMA ATR MA
Date de création: 2024-11-29 16:14:30 Dernière modification: 2024-11-29 16:14:30
Copier: 0 Nombre de clics: 559
1
Suivre
1617
Abonnés

Stratégie avancée de moyenne mobile double et système de filtrage de volatilité ATR

Aperçu

Il s’agit d’une stratégie de trading quantifiée combinant une moyenne mobile indicielle (EMA) croisée et un filtre d’amplitude réelle moyenne (ATR). La stratégie améliore efficacement le ratio Sharpe et la performance globale de la stratégie en identifiant les tendances fortes et en négociant dans un environnement de marché très volatil. La stratégie utilise des EMA de 50 cycles et 200 cycles pour capturer les tendances à moyen et long terme, tout en utilisant l’indicateur ATR pour évaluer la volatilité du marché et ne négocier que lorsque la volatilité dépasse un seuil spécifique.

Principe de stratégie

La logique centrale de la stratégie comprend deux parties principales: le jugement de la tendance et le filtrage de la volatilité. Dans le jugement de la tendance, la stratégie utilise l’EMA de 50 cycles comme ligne rapide, l’EMA de 200 cycles comme ligne lente, produisant un signal de plus lorsque la ligne rapide traverse la ligne lente et un signal de moins lorsque la ligne est traversée. Dans le filtrage de la volatilité, la stratégie calcule l’ATR de 14 cycles et le convertit en un pourcentage du prix, ne permettant l’ouverture d’une position que lorsque le pourcentage d’ATR dépasse la barre de la valeur prédéfinie (considérant silencieusement 2%).

Avantages stratégiques

  1. Le mécanisme de filtrage de volatilité améliore considérablement la stabilité de la stratégie, en augmentant les chances de succès en négociant uniquement dans un environnement à forte volatilité
  2. Le calcul de l’ATR est effectué en pourcentage, ce qui permet au filtre de fluctuation de s’adapter aux variétés de différentes gammes de prix.
  3. La combinaison de la moyenne à moyen et long terme permet de capturer efficacement les grandes tendances et de réduire les effets du bruit à court terme.
  4. La logique de la stratégie est simple et claire, avec relativement peu de paramètres, ce qui réduit le risque de suradaptation
  5. Contrôler efficacement les risques en mettant en place une gestion de position raisonnable (position à 10%)

Risque stratégique

  1. Les EMA sont retardés, ce qui peut entraîner des retards dans l’entrée et la sortie dans des marchés très volatils.
  2. Dans les marchés en crise, il est possible que des faux-breaks soient fréquents même avec un filtre ATR.
  3. Les seuils ATR fixes peuvent ne pas s’appliquer à tous les environnements de marché
  4. Les paramètres peuvent nécessiter des ajustements à différents stades du marché sans tenir compte des variations cycliques du marché. Il est recommandé de gérer ces risques en utilisant des stop-loss dynamiques et des placements progressifs.

Orientation de l’optimisation de la stratégie

  1. Introduction de seuils ATR dynamiques qui s’adaptent à la situation du marché
  2. Augmentation des indicateurs de confirmation de la force de la tendance, tels que le DMI ou l’ADX
  3. Mise en place d’un mécanisme de construction et de stockage par lots pour réduire les risques liés aux entrées et sorties individuelles
  4. Ajout d’un module d’analyse saisonnière avec des paramètres différents selon les cycles du marché
  5. Développer des mécanismes de sélection de cycles uniformes adaptatifs pour améliorer l’adaptabilité des stratégies

Résumer

C’est une stratégie qui combine des indicateurs techniques classiques avec des idées modernes de gestion du risque. La stratégie est simple tout en ayant une grande utilité. Bien qu’il existe des risques inhérents, la stratégie a toujours une bonne valeur d’application grâce à des mesures d’optimisation et de gestion des risques raisonnables.

Code source de la stratégie
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA Crossover with ATR Filter", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// Inputs for Moving Averages
fastLength = input.int(50, title="Fast EMA Length")
slowLength = input.int(200, title="Slow EMA Length")

// Inputs for ATR Filter
atrLength = input.int(14, title="ATR Length")
atrMultiplier = input.float(1.5, title="ATR Multiplier")
atrThreshold = input.float(0.02, title="ATR Threshold (%)")

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

// Calculate ATR
atr = ta.atr(atrLength)

// Convert ATR to a percentage of price
atrPct = atr / close

// Define Long Condition (Cross and ATR filter)
longCondition = ta.crossover(fastEMA, slowEMA) and atrPct > atrThreshold / 100

// Define Short Condition
shortCondition = ta.crossunder(fastEMA, slowEMA) and atrPct > atrThreshold / 100

// Define Exit Conditions
exitConditionLong = ta.crossunder(fastEMA, slowEMA)
exitConditionShort = ta.crossover(fastEMA, slowEMA)

// Long Entry
if (longCondition)
    strategy.entry("Long", strategy.long)

// Short Entry
if (shortCondition)
    strategy.entry("Short", strategy.short)

// Long Exit
if (exitConditionLong)
    strategy.close("Long")

// Short Exit
if (exitConditionShort)
    strategy.close("Short")

// Plot EMAs for visual reference
plot(fastEMA, title="50 EMA", color=color.blue)
plot(slowEMA, title="200 EMA", color=color.red)

// Plot ATR for reference
plot(atrPct, title="ATR Percentage", color=color.orange, style=plot.style_line)
hline(atrThreshold / 100, "ATR Threshold", color=color.green)