Stratégie de trading basée sur la double moyenne mobile


Date de création: 2024-01-19 14:10:38 Dernière modification: 2024-01-19 14:10:38
Copier: 0 Nombre de clics: 574
1
Suivre
1617
Abonnés

Stratégie de trading basée sur la double moyenne mobile

Aperçu

La stratégie de trading à deux moyennes mobiles est une stratégie de trading quantitative courante. Elle utilise deux moyennes mobiles de différentes périodes de temps pour générer un signal de négociation en fonction de leur intersection. Plus précisément, elle est considérée comme un signal d’achat lorsque la moyenne mobile à court terme est traversée par la moyenne mobile à long terme et comme un signal de vente lorsque la moyenne mobile à court terme est traversée par la moyenne mobile à long terme.

Le principe

Le principe central de cette stratégie est que les moyennes mobiles à court terme reflètent la tendance à court terme des prix des actifs et les moyennes mobiles à long terme reflètent la tendance à long terme des prix des actifs. Lorsque la courte ligne traverse la longue ligne, la tendance à court terme se transforme en hausse et l’on peut alors acheter; lorsque la courte ligne traverse la longue ligne, la tendance à court terme se transforme en baisse et l’on peut alors vendre.

Plus précisément, la stratégie définit deux moyennes mobiles: une moyenne mobile à court terme de 5 jours, utilisée pour capturer les tendances de prix à court terme; une autre moyenne mobile à long terme de 15 jours, utilisée pour juger les tendances de prix à long terme. Lorsque la ligne de 5 jours traverse la ligne de 15 jours par le bas, cela signifie que les prix à court terme ont commencé à augmenter, ce qui est un signal d’achat; lorsque la ligne de 5 jours traverse la ligne de 15 jours par le haut, cela signifie que les prix à court terme ont commencé à baisser, ce qui est un signal de vente.

Analyse des avantages

Les avantages de la double moyenne mobile par rapport aux autres stratégies sont les suivants:

  1. Simple à utiliser, facile à comprendre, adapté aux débutants en trading quantitatif
  2. Les raisons sous-jacentes pour lesquelles on évite de suivre les tendances des prix dans un marché complexe
  3. La flexibilité d’ajustement des paramètres permet de s’adapter à différentes conditions de marché en ajustant la périodicité des moyennes mobiles
  4. Capture des points de basculement dans les tendances à court et à long terme
  5. Fréquence de transaction personnalisable, réduction des coûts de transaction et des pertes de points de glissement

Analyse des risques

Les stratégies de double moyenne mobile présentent également des risques, notamment:

  1. Cela peut produire un faux signal, car les moyennes mobiles sont essentiellement des signaux en retard.
  2. Il faut se concentrer sur les deux moyennes mobiles longues et courtes en même temps, les paramètres sont plus complexes à ajuster et les tests d’efficacité
  3. La plupart des pays développés ont des systèmes de gestion de la dette qui ne sont pas adaptés à la fluctuation des prix, ce qui les rend vulnérables aux pertes.
  4. La fréquence des transactions peut être trop élevée ou trop faible et nécessite une optimisation de la modulation
  5. L’effet est fortement lié à l’évolution du marché et n’est pas très efficace pendant la période de basse de l’indice global.

La réponse:

  1. Combinaison avec d’autres indicateurs pour filtrer le signal
  2. Optimiser les paramètres de la moyenne mobile et vérifier les résultats
  3. Définir une marge de manœuvre appropriée
  4. Ajustement des paramètres de la moyenne mobile pour optimiser la fréquence des transactions
  5. Paramètres adaptés aux différentes conditions du marché

Direction d’optimisation

Cette stratégie peut être optimisée dans les directions suivantes:

  1. En combinaison avec d’autres indicateurs de filtrage, tels que MACD, KDJ, etc., pour éviter de produire de faux signaux

  2. L’introduction d’une moyenne mobile adaptative, qui ajuste dynamiquement les paramètres de la moyenne mobile en fonction de la volatilité du marché, améliore la stabilité

  3. Optimiser les paramètres de la moyenne mobile, trouver les combinaisons optimales de paramètres et améliorer l’efficacité de la stratégie

  4. Adhésion à un mécanisme de prévention des pertes, afin d’éviter l’expansion des pertes et d’améliorer la capacité de contrôle des risques

  5. Combinaison de plusieurs fuseaux horaires, utilisant simultanément les signaux de jour et de périphérie pour améliorer la stabilité

  6. Markov state switching, paramètres utilisés dans différents états de marché pour améliorer l’adaptabilité

Résumer

La stratégie de trading à deux moyennes mobiles est une stratégie de trading quantitatif qui est globalement plus stable. Son principe de trading est simple, facile à comprendre et à mettre en œuvre, ses paramètres sont flexibles et permettent de suivre efficacement les tendances du marché. Il existe également certaines limitations, telles que la production de faux signaux et la difficulté à gérer les fortes fluctuations du marché.

Code source de la stratégie
//@version=3
strategy("CS: 2 Moving Averages Script - Strategy (Testing)", overlay=true)

// === GENERAL INPUTS ===
// short ma
ma1Source   = input(defval = close, title = "MA 1 Source")
ma1Length   = input(defval = 5, title = "MA 1 Period", minval = 1)
// long ma
ma2Source   = input(defval = close, title = "MA 2 Source")
ma2Length   = input(defval = 15, title = "MA 2 Period", minval = 1)

// === SERIES SETUP ===
/// a couple of ma's..
ma1 = ema(ma1Source, ma1Length)
ma2 = ema(ma2Source, ma2Length)

// === PLOTTING ===
fast = plot(ma1, title = "MA 1", color = red, linewidth = 2, style = line, transp = 30)
slow = plot(ma2, title = "MA 2", color = green, linewidth = 2, style = line, transp = 30)

// === LOGIC ===
enterLong = crossover(ma1, ma2)
exitLong = crossover(ma2, ma1)

// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2018, title = "From Year", minval = 2012)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2012)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true // create function "within window of time"

// Entry //
strategy.entry(id="Long Entry", long=true, when=enterLong and window())
strategy.entry(id="Short Entry", long=false, when=exitLong and window())