Stratégie de trading de tendance Momentum à triple moyenne mobile

MA EMA SMA TP SL
Date de création: 2025-02-10 14:37:15 Dernière modification: 2025-02-10 14:37:15
Copier: 2 Nombre de clics: 408
1
Suivre
1617
Abonnés

Stratégie de trading de tendance Momentum à triple moyenne mobile

Aperçu

Il s’agit d’une stratégie de suivi de tendances de la triple moyenne basée sur la méthodologie de négociation d’Oliver Valez. Cette stratégie utilise des signaux croisés de moyennes mobiles de 20 cycles, 50 cycles et 200 cycles pour identifier les tendances du marché et les opportunités de négociation. La moyenne de 200 cycles sert de filtre de tendance principal, tandis que les croisements de moyennes de 20 cycles et 50 cycles sont utilisés pour générer des signaux de négociation spécifiques.

Principe de stratégie

La logique centrale de la stratégie comprend trois niveaux clés:

  1. Identification de la tendance: utilisez la moyenne cyclique de 200 comme ligne de démarcation de la tendance. Lorsque le prix est au-dessus de la moyenne de 200, il est considéré comme une tendance à la hausse; lorsque le prix est en dessous de la moyenne de 200, il est considéré comme une tendance à la baisse.
  2. Signaux de transaction: dans une tendance haussière, un signal de multiplication est déclenché lorsque la ligne moyenne de 20 cycles traverse la ligne moyenne de 50 cycles vers le haut; dans une tendance baissière, un signal de blanchiment est déclenché lorsque la ligne moyenne de 20 cycles traverse la ligne moyenne de 50 cycles vers le bas.
  3. Contrôle du risque: la stratégie a un stop loss de 2% et un stop loss de 4% par défaut, tout en éliminant automatiquement la position en cas de signal de croisement inversé.

Avantages stratégiques

  1. Mécanisme de confirmation multiple: fournit un signal de transaction plus fiable grâce à l’utilisation combinée de trois lignes uniformes.
  2. Filtre de tendance: La fonction de filtrage de tendance en ligne uniforme réduit efficacement le risque de fausse rupture.
  3. Flexibilité: prise en charge de la commutation entre SMA et EMA, paramètres pouvant être ajustés en fonction des différentes caractéristiques du marché.
  4. Gestion des risques: un système intégré d’arrêt des pertes pour protéger la sécurité des fonds
  5. Effets visuels: affichage intuitif de l’état de la tendance en modifiant la couleur du fond.

Risque stratégique

  1. L’arriéré: La moyenne mobile est essentiellement un indicateur de retard, ce qui peut entraîner un léger retard d’entrée ou de sortie.
  2. Les marchés oscillants ne s’appliquent pas: des croisements fréquents de la ligne médiane peuvent générer de faux signaux au cours de la phase de tri horizontal.
  3. Risque de stop-loss fixe: l’utilisation d’un stop-loss à pourcentage fixe peut ne pas convenir à tous les environnements de marché.
  4. Sensitivité des paramètres: différents réglages de périodes de moyenne ligne peuvent produire des résultats significativement différents.

Orientation de l’optimisation de la stratégie

  1. Introduction de l’analyse du trafic: des indicateurs de confirmation du trafic peuvent être ajoutés pour améliorer la fiabilité du signal.
  2. Paramètres d’arrêt dynamiques: envisagez d’utiliser l’ATR ou l’indicateur de volatilité pour ajuster dynamiquement la position d’arrêt.
  3. Augmenter le filtrage de la force de la tendance: des indicateurs de force de tendance tels que l’ADX peuvent être introduits pour filtrer les environnements de tendance faible.
  4. Optimisation du timing de l’entrée: une combinaison de la forme du prix et de la résistance au support améliore la précision de l’entrée.
  5. Ajout de filtres temporels: vous pouvez définir des fenêtres de temps de transaction pour éviter les périodes de plus grande volatilité.

Résumer

Il s’agit d’une stratégie de suivi de tendance structurée et logiquement claire. Grâce à la coopération synchrone du triple équilibre, l’exactitude de la reconnaissance des tendances est garantie et un signal de négociation clair est fourni. Le mécanisme de gestion des risques de la stratégie est relativement parfait, mais il y a encore de la place pour l’optimisation.

Code source de la stratégie
/*backtest
start: 2024-02-10 00:00:00
end: 2025-02-08 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Oliver Valez Triple MA Strategy", overlay=true, margin_long=100, margin_short=100)

// Inputs
ma20_length = input.int(20, "20-period MA Length", minval=1)
ma50_length = input.int(50, "50-period MA Length", minval=1)
ma200_length = input.int(200, "200-period MA Length", minval=1)
use_ema = input.bool(false, "Use EMA Instead of SMA")
sl_percent = input.float(2.0, "Stop Loss %", minval=0.0)
tp_percent = input.float(4.0, "Take Profit %", minval=0.0)

// Calculate MAs
ma20 = use_ema ? ta.ema(close, ma20_length) : ta.sma(close, ma20_length)
ma50 = use_ema ? ta.ema(close, ma50_length) : ta.sma(close, ma50_length)
ma200 = use_ema ? ta.ema(close, ma200_length) : ta.sma(close, ma200_length)

// Plot MAs
plot(ma20, "MA 20", color=color.new(color.blue, 0), linewidth=2)
plot(ma50, "MA 50", color=color.new(color.orange, 0), linewidth=2)
plot(ma200, "MA 200", color=color.new(color.red, 0), linewidth=2)

// Trend Filter
bullish_trend = close > ma200
bearish_trend = close < ma200

// Entry Conditions
long_condition = ta.crossover(ma20, ma50) and bullish_trend
short_condition = ta.crossunder(ma20, ma50) and bearish_trend

// Exit Conditions
exit_long = ta.crossunder(ma20, ma50)
exit_short = ta.crossover(ma20, ma50)

// Risk Management
stop_loss = strategy.position_avg_price * (1 - sl_percent/100)
take_profit = strategy.position_avg_price * (1 + tp_percent/100)

// Execute Trades
if (long_condition)
    strategy.entry("Long", strategy.long)
    strategy.exit("XL", "Long", stop=stop_loss, limit=take_profit)

if (short_condition)
    strategy.entry("Short", strategy.short)
    strategy.exit("XS", "Short", stop=stop_loss, limit=take_profit)

// Close trades on opposite signals
if (exit_long)
    strategy.close("Long")

if (exit_short)
    strategy.close("Short")

// Plot Signals
plotshape(long_condition, "Buy", shape.labelup, location.belowbar, color=color.green, text="BUY", textcolor=color.white)
plotshape(short_condition, "Sell", shape.labeldown, location.abovebar, color=color.red, text="SELL", textcolor=color.white)

// Background Color for Trend
bgcolor(bullish_trend ? color.new(color.green, 90) : bearish_trend ? color.new(color.red, 90) : na)