Tendance du MACD à la suite de la stratégie

Auteur:ChaoZhang est là., Date: 2023-11-15 17h08 et 15 min
Les étiquettes:

img

Résumé

Cette stratégie s'appelle la stratégie de suivi des tendances MACD. C'est une stratégie quantitative qui utilise l'indicateur MACD pour déterminer les tendances des prix et suivre les tendances du commerce. La stratégie vise à capturer les tendances à moyen et long terme et à ajuster les positions en temps opportun lorsque des inversions de tendance se produisent.

La logique de la stratégie

La stratégie utilise l'indicateur MACD pour déterminer les tendances des prix. Le MACD est un indicateur de rupture formé par la ligne EMA rapide (12 jours) et la ligne EMA lente (26 jours). La différence entre ces deux lignes forme l'histogramme MACD, et l'EMA de 9 jours de l'histogramme est la ligne de signal MACD. Lorsque la ligne MACD traverse au-dessus de la ligne de signal, c'est une croix dorée, indiquant une tendance à la hausse. Lorsque la ligne MACD traverse en dessous de la ligne, c'est une croix morte, indiquant une tendance à la baisse.

La stratégie calcule d'abord la ligne MACD et la ligne de signal, puis calcule la différence delta entre les deux lignes. Lorsque le delta franchit le seuil supérieur à 0, un signal d'achat est généré. Lorsque le delta franchit le seuil inférieur à 0, un signal de vente est généré. Sur la base de ces deux signaux, la stratégie ajuste les positions en conséquence. Pour filtrer le bruit, la stratégie introduit également une ligne EMA - les signaux de trading valides ne sont générés que lorsque le prix franchit cette ligne EMA.

Plus précisément, la logique de la stratégie est la suivante:

  1. Calculer la ligne MACD, la ligne de signal et la différence delta
  2. Déterminez si le franchissement delta au-dessus ou au-dessous de 0 signifie un renversement de tendance
  3. Calculer une ligne EMA pour servir de filtre
  4. Lorsque le delta dépasse 0 et que le prix dépasse la EMA, générer un signal d'achat
  5. Lorsque le delta passe sous 0 et que le prix est inférieur à la EMA, générer un signal de vente

Grâce à cette conception, la stratégie est en mesure de suivre les tendances à moyen et long terme et d'ajuster rapidement les positions en cas d'inversion des tendances.

Les avantages

La stratégie présente les avantages suivants:

  1. Utiliser le MACD pour détecter avec précision les points d'inversion de tendance pour les temps d'entrée et de sortie
  2. Adopter un filtre EMA pour éviter les interférences des bruits de marché à court terme
  3. Suivez uniquement les tendances à moyen et long terme, en évitant les sauts de marché
  4. Une logique simple et claire, facile à comprendre et à modifier le code
  5. Flexibilité dans le contrôle de la fréquence de négociation en ajustant les paramètres
  6. Utilisation élevée des capitaux pour suivre pleinement les tendances à moyen et à long terme

Les risques

Il y a des risques à prendre en compte:

  1. Le MACD comme indicateur de tendance peut générer de faux signaux sur les marchés instables
  2. Le filtre de l'EMA peut filtrer certaines opportunités de négociation valides
  3. Des paramètres mal réglés peuvent entraîner une sur- ou une sous-échange.
  4. Incapacité de répondre aux changements de marché à court terme en raison de la nature tardive
  5. Peut manquer le timing optimal aux points de tournant de la tendance en raison du retard

Les solutions:

  1. Optimiser les paramètres et ajuster le filtre EMA pour réduire les faux signaux
  2. Incorporer d'autres indicateurs de confirmation pour découvrir plus de transactions
  3. Mise en œuvre d'un stop loss pour contrôler les pertes sur les transactions uniques
  4. Réduction de la durée de détention pour améliorer la flexibilité

Optimisation

La stratégie peut être encore optimisée de la manière suivante:

  1. Ajouter d'autres indicateurs pour former un système combiné pour une plus grande précision
  2. Mettre en place des mécanismes de prise de bénéfices et d'arrêt des pertes pour un meilleur contrôle des risques
  3. Incorporer des indicateurs de volume pour éviter les fausses ruptures
  4. Adapter dynamiquement les paramètres en fonction des conditions du marché pour améliorer la robustesse
  5. Améliorer la logique d'entrée et de sortie pour améliorer le timing
  6. Étalonnage des positions pour mieux suivre les tendances et réduire les risques

Une amélioration significative peut être obtenue par des méthodes telles que les combinaisons d'indicateurs, les paramètres adaptatifs, le stop-loss / profit taking, etc.

Conclusion

En résumé, la stratégie de suivi des tendances MACD utilise l'indicateur MACD simple et efficace pour identifier les tendances à moyen et long terme, et implémente une tendance claire en suivant la logique. Elle a la capacité de capturer les tendances ainsi que des mesures raisonnables de contrôle des risques. Avec des optimisations supplémentaires, la stratégie peut devenir un système de trading quantitatif très pratique. Elle convient aux investisseurs qui recherchent des gains stables à long terme par rapport aux profits à court terme.


/*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)


Plus de