Stratégie de suivi de tendance MACD


Date de création: 2023-11-15 17:08:15 Dernière modification: 2023-11-15 17:08:15
Copier: 0 Nombre de clics: 743
1
Suivre
1617
Abonnés

Stratégie de suivi de tendance MACD

Aperçu

Cette stratégie est appelée la stratégie de suivi de la tendance MACD. Elle est une stratégie quantitative qui utilise l’indicateur MACD pour déterminer la tendance des prix et suivre la tendance. La stratégie vise à capturer les tendances à moyen et à long terme et à ajuster les positions en temps opportun en cas de revers de tendance.

Principe de stratégie

La stratégie utilise l’indicateur MACD pour déterminer la tendance des prix. L’indicateur MACD est un indicateur de rupture composé d’une ligne rapide EMA ((12e) et d’une ligne lente EMA ((26e) dont la divergence forme une ligne colonnade MACD, dont l’EMA du 9e jour constitue la ligne de signal du MACD.

La stratégie calcule d’abord la ligne MACD et la ligne de signal, puis la différence entre la ligne MACD et la ligne de signal. Elle génère un signal d’achat lorsque le delta est supérieur à 0 et un signal de vente lorsque le delta est inférieur à 0, et ajuste la position en fonction de ces deux signaux. Pour filtrer le bruit, la stratégie introduit également une ligne d’équilibre EMA, qui ne génère un véritable signal de transaction que lorsque le prix franchit cette ligne.

La logique de la stratégie est la suivante:

  1. Calculer les lignes MACD, les lignes de signal et les valeurs de delta
  2. Lorsque le delta est porté vers le haut ou vers le bas, confirmez le renversement de tendance
  3. Calculer la moyenne des EMA comme filtre
  4. Un signal d’achat est généré lorsque le delta dépasse 0 et que le prix est supérieur à l’EMA
  5. Un signal de vente est généré lorsque le delta est inférieur à 0 et que le prix est inférieur à l’EMA

Grâce à cette conception, la stratégie est capable de négocier en fonction des tendances de la ligne moyenne et longue, d’ajuster ses positions en temps opportun lorsque la tendance change et d’éviter d’être induite en erreur par le bruit du marché à court terme.

Avantages stratégiques

Cette stratégie présente les avantages suivants:

  1. Utilisez le MACD pour déterminer les points de basculement de la tendance et pour déterminer avec précision les moments d’achat et de vente
  2. Le filtre EMA est utilisé pour éviter le bruit des marchés à court terme.
  3. Pour éviter d’être pris au piège de la volatilité du marché, négociez en suivant les tendances de la ligne moyenne et longue.
  4. La logique des transactions est simple et claire, le code est facile à comprendre et à modifier
  5. La fréquence de négociation peut être ajustée par paramètres pour une stratégie de libre contrôle
  6. Le taux de mobilisation des fonds est élevé et permet de suivre pleinement les tendances à moyen et long terme.

Risque stratégique

Cette stratégie comporte également des risques à prendre en compte:

  1. Le MACD est un indicateur de tendance qui peut générer de faux signaux en cas de choc.
  2. Les filtres EMA peuvent filtrer certaines opportunités de trading efficaces
  3. Une mauvaise configuration des paramètres peut entraîner une fréquence de transaction trop élevée ou trop faible
  4. Incapable de réagir aux fluctuations à court terme du marché et insensible aux événements inattendus
  5. Il y a un certain retard qui pourrait nous faire manquer le meilleur moment pour inverser la tendance.

La réponse:

  1. Optimisation des paramètres, ajustement des paramètres du filtre EMA pour réduire les erreurs de jugement
  2. En combinaison avec d’autres indicateurs, découvrez plus d’opportunités de trading
  3. Arrêt de perte pour contrôler les pertes individuelles
  4. Réduire de manière appropriée le temps de détention des positions pour assurer la flexibilité de la stratégie

Optimisation de la stratégie

La stratégie peut également être optimisée dans les domaines suivants:

  1. Ajout d’autres indicateurs de jugement pour former un ensemble d’indicateurs et améliorer l’exactitude
  2. Ajout d’un mécanisme d’arrêt des pertes de stockage pour une meilleure maîtrise des risques
  3. Combiné à un indicateur de volume de transactions, il évite les fausses percées
  4. Adapter les paramètres en fonction des conditions du marché pour améliorer l’adaptabilité des stratégies
  5. Optimiser la logique concrète des achats et des ventes, améliorer le timing des entrées et des sorties
  6. Construire des magasins par étapes pour mieux suivre les tendances et réduire les risques

L’efficacité de la stratégie peut être considérablement améliorée par l’optimisation des méthodes telles que la combinaison des indicateurs, l’arrêt des pertes et les paramètres d’adaptation.

Résumer

Dans l’ensemble, la stratégie de suivi de la tendance MACD est conçue pour suivre les tendances à long terme grâce à des indicateurs simples et efficaces du MACD, avec une logique de négociation plus claire. Elle a la capacité de capturer les tendances, ainsi que certaines mesures de contrôle du risque.

Code source de la stratégie
/*backtest
start: 2022-11-14 00:00:00
end: 2023-10-27 05:20:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title = "Noro's MACD Strategy v1.0", shorttitle = "MACD str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(false, defval = false, title = "Short")
usefil = input(false, defval = false, title = "Use EMA filter")
lenfil = input(5, defval = 5, minval = 1, maxval = 50, title = "EMA filter period")

fastLength = input(12)
slowlength = input(26)
MACDLength = input(9)

MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD

//Signals
ema = ema(close, lenfil)
trend = crossover(delta, 0) == true ? 1 : crossunder(delta, 0) == true ? -1 : trend[1]
up = trend == 1 and (low < ema or usefil == false) ? 1 : 0
dn = trend == -1 and (high > ema or usefil == false) ? 1 : 0

plot(ema, color = black, transp = 0)

if (up == 1)
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na)

if (dn == 1)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na)