Stratégie combinée de suivi de tendance Momentum avec double indicateur MACD et SAR parabolique

MACD SAR EMA MA
Date de création: 2025-02-20 11:47:39 Dernière modification: 2025-02-27 17:45:03
Copier: 1 Nombre de clics: 404
2
Suivre
319
Abonnés

Stratégie combinée de suivi de tendance Momentum avec double indicateur MACD et SAR parabolique Stratégie combinée de suivi de tendance Momentum avec double indicateur MACD et SAR parabolique

Aperçu

La stratégie est un système de suivi des tendances combinant le MACD (indicateur de tendance des moyennes mobiles) et le SAR (indicateur de revers de stop loss). La stratégie utilise des croisements de lignes rapides du MACD pour confirmer le mouvement de la tendance, tout en utilisant des points SAR pour confirmer la direction de la tendance et définir un stop loss mobile.

Principe de stratégie

La logique centrale de la stratégie est composée de deux parties:

  1. Partie MACD: Ligne MACD calculée à partir d’une moyenne mobile indexée de 12 et 26 cycles, avec une moyenne de 9 cycles comme ligne de signal. Le passage de la ligne MACD est considéré comme un signal de plus, le passage de la ligne est considéré comme un signal de moins.
  2. Partie SAR: calculer le point SAR en utilisant les paramètres par défaut (valeur initiale 0.02, longueur d’étape 0.02, valeur maximale 0.2). Confirmer une tendance à la hausse lorsque le prix est au-dessus du point SAR et une tendance à la baisse lorsque le prix est en dessous du point SAR.

Règles d’entrée:

  • Conditions multiples: la ligne MACD est au-dessus de la ligne de signal et le prix est au-dessus du point SAR
  • Conditions de blanchiment: la ligne MACD est située en dessous de la ligne de signal et le prix est situé en dessous du point SAR

Règles du match:

  • Positions multiples: les positions sont libérées en cas de signal de coupe.
  • Position de tête vide: position de tête plate lorsque plusieurs signaux apparaissent

Avantages stratégiques

  1. La fiabilité du signal est élevée: la combinaison de l’indicateur de dynamique (MACD) et de l’indicateur de tendance (SAR) permet de filtrer efficacement les faux signaux et d’améliorer la précision des transactions.
  2. Le contrôle des risques est perfectionné: l’indicateur SAR permet d’ajuster automatiquement la position de stop-loss en fonction des fluctuations du marché, ce qui permet une gestion dynamique des risques.
  3. Adaptabilité: les paramètres de la stratégie peuvent être optimisés en fonction des différentes conditions du marché et des cycles de négociation.
  4. La normalisation de l’exécution: les signaux de transaction sont clairs, faciles à mettre en œuvre de manière programmatique et réduisent les erreurs de jugement humain.

Risque stratégique

  1. Les marchés en tremblement de terre ne sont pas concernés: les faux signaux de rupture peuvent se produire fréquemment en cas de tremblement de la barre latérale, ce qui entraîne une survente des transactions.
  2. Retraite: En raison de l’utilisation d’un système homogène, le signal est relativement en retard par rapport au prix et peut manquer les meilleurs points d’entrée.
  3. Sensitivité des paramètres: les combinaisons de paramètres varient considérablement et doivent être testées avec des données historiques suffisantes.
  4. Dépendance aux conditions du marché: la stratégie fonctionne mieux dans les marchés où la tendance est évidente, mais nécessite un ajustement en temps opportun lorsque les caractéristiques du marché changent.

Orientation de l’optimisation de la stratégie

  1. Ajouter un filtre d’environnement de marché : On peut introduire des indicateurs de volatilité (comme l’ATR) pour juger de l’état du marché, réduire la fréquence des transactions ou suspendre les transactions pendant les périodes de faible volatilité.

  2. Améliorer le mécanisme de stop loss : En plus de l’arrêt SAR, il est possible d’augmenter la combinaison d’arrêt à taux fixe et d’arrêt mobile, ce qui améliore la stabilité du contrôle des risques.

  3. Sélection des paramètres d’optimisation : Les combinaisons de paramètres MACD et SAR peuvent être automatiquement optimisées pour différents cycles de marché grâce à des méthodes d’apprentissage automatique.

  4. Pour plus d’analyses de volume: La combinaison d’indicateurs de convergence permet de confirmer la force de la tendance et d’améliorer la fiabilité du signal.

Résumer

La stratégie a des avantages tels que la clarté des signaux, la maîtrise des risques et la capacité d’adaptation, mais elle présente également des limites telles que la dépendance à la tendance et le retard de signal. Des améliorations dans des directions telles que l’ajout de filtres d’environnement de marché et l’optimisation des mécanismes d’arrêt des pertes peuvent améliorer encore la stabilité et la pratique de la stratégie.

Code source de la stratégie
/*backtest
start: 2024-02-21 00:00:00
end: 2024-11-25 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("MACD + Parabolic SAR Strategy", shorttitle="MACD+SAR", overlay=true)

//========== User Inputs ==========//
// MACD parameters
fastLength   = input.int(12, "MACD Fast Length")
slowLength   = input.int(26, "MACD Slow Length")
signalLength = input.int(9,  "MACD Signal Length")

// SAR parameters (start, step, maximum)
afStart     = input.float(0.02, "SAR Start")
afIncrement = input.float(0.02, "SAR Increment")
afMax       = input.float(0.2,  "SAR Max")

//========== MACD Calculation ==========//
[macdLine, signalLine, histLine] = ta.macd(close, fastLength, slowLength, signalLength)

//========== Parabolic SAR Calculation ==========//
sarValue = ta.sar(afStart, afIncrement, afMax)

//========== Entry Conditions ==========//
// Long: MACD > Signal + close > SAR
longCondition  = (macdLine > signalLine) and (close > sarValue)

// Short: MACD < Signal + close < SAR
shortCondition = (macdLine < signalLine) and (close < sarValue)

//========== Enter Positions ==========//
if longCondition
    strategy.entry("Long", strategy.long)

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

//========== Exit Positions on Opposite Signal ==========//
if strategy.position_size > 0 and shortCondition
    strategy.close("Long", comment="Exit Long")

if strategy.position_size < 0 and longCondition
    strategy.close("Short", comment="Exit Short")