Tendance du MACD à la suite de la stratégie

Auteur:ChaoZhang est là., Date: le 29 mars 2024
Les étiquettes:

img

Résumé

La stratégie de suivi de tendance MACD est une stratégie de trading quantitative basée sur l'indicateur MACD. L'idée principale de cette stratégie est d'utiliser les signaux de croix dorée et de croix de mort de l'indicateur MACD pour déterminer la direction de la tendance et établir des positions longues ou courtes aux moments appropriés. Lorsque la ligne MACD traverse au-dessus de la ligne de signal et au-dessus de l'axe zéro, une position longue est ouverte; lorsque la ligne MACD traverse en dessous de la ligne de signal et en dessous de l'axe zéro, une position courte est ouverte. La stratégie utilise le point le plus bas le plus récent comme stop loss pour les positions longues et le point le plus élevé le plus récent comme stop loss pour les positions courtes.

Principe de stratégie

Le principe de base de la stratégie de suivi des tendances MACD est d'utiliser l'indicateur MACD pour capturer la formation et l'inversion des tendances. L'indicateur MACD se compose de la différence entre deux moyennes mobiles (rapide et lent) et est utilisé en conjonction avec une ligne de signal pour générer des signaux de trading. Lorsque la ligne MACD traverse au-dessus de la ligne de signal et au-dessus de l'axe zéro, elle indique une tendance à la hausse et une position longue est ouverte. Lorsque la ligne MACD traverse au-dessous de la ligne de signal et au-dessous de l'axe zéro, elle indique une tendance à la baisse et une position courte est ouverte.

Les avantages de la stratégie

  1. La stratégie de suivi de tendance MACD peut capturer efficacement les opportunités de tendance en établissant des positions au début de la formation de la tendance, en utilisant pleinement l'élan de la tendance.

  2. La stratégie utilise à la fois le MACD golden/death cross et l'axe zéro comme conditions de filtrage, qui peuvent mieux filtrer les faux signaux dans un marché oscillant.

  3. La stratégie utilise les points les plus élevés et les plus bas significatifs les plus récents comme niveaux de stop loss, ce qui peut contrôler l'exposition au risque d'une seule transaction.

  4. La logique de la stratégie est claire, facile à comprendre et à mettre en œuvre, ce qui la rend adaptée à l'apprentissage des débutants.

Risques stratégiques

  1. L'indicateur MACD est essentiellement un indicateur à retardement, qui peut connaître des baisses importantes au début des renversements de tendance.

  2. La stratégie peut générer des transactions fréquentes dans un marché oscillant, ce qui entraîne des coûts de transaction élevés.

  3. Les niveaux d'arrêt des pertes sont fixés en fonction des points les plus élevés et les plus bas significatifs les plus récents, ce qui peut entraîner des arrêts de pertes prématurés ou retardés dans certaines situations.

  4. La stratégie ne prend pas en considération la taille des positions et la gestion de l'argent, qui doivent être optimisées en fonction de circonstances spécifiques dans les applications pratiques.

Directions d'optimisation de la stratégie

  1. Considérez l'introduction d'autres indicateurs techniques ou de modèles de comportement des prix comme conditions de filtrage pour améliorer la fiabilité et la précision des signaux.

  2. Optimiser la méthode de fixation des niveaux d'arrêt des pertes, comme l'utilisation d'ATR ou de pertes d'arrêt en pourcentage, afin de mieux contrôler le risque.

  3. Mettre en place des mécanismes de dimensionnement des positions et de gestion de l'argent pour ajuster dynamiquement la taille des positions en fonction de la volatilité du marché et du capital de compte.

  4. Optimiser et ajuster les paramètres pour différents marchés et instruments de négociation afin de trouver les combinaisons de paramètres les plus appropriées.

Résumé

La stratégie de suivi de tendance MACD est une stratégie de trading quantitative simple et efficace qui capture les opportunités de tendance en tirant parti des caractéristiques de l'indicateur MACD. La stratégie a une logique claire, est facile à comprendre et à mettre en œuvre, ce qui la rend adaptée aux débutants.


/*backtest
start: 2023-03-23 00:00:00
end: 2024-03-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("MACD trendfollow", shorttitle="MACD TF", overlay=true)
// switch = input(true, title="Enable MACD Bar Color")
// X001TK MACD trendfollow Strategy
//
// 
// This strategy combines the non standart approach in MACD strategy to buy once to buy when the MACD value goes above Signal line and a zero line, to sell on the opposite condition.
//
//
// This strategy goes long if the MACD (3,9,5) goes above its Signal and above zero
//
// You can set Stop loss on the recent lowest low when long position is opened and recent highest hugh in short
// 
//
// Exit rule is simple. We close the LONG position once MACD goes below Signal line and close SHORT on the opposite condition 
//
// 
// 
//
// Input
fastMAlen = input(3, minval=1, title="MACD fast moving average")
slowMAlen = input(9,minval=1, title="MACD slow moving average")
signalMACDlen = input(5,minval=1, title="MACD signal line moving average")
// switch = input(true, title="Enable MACD Bar Color")
length = input(1, minval=1)



// === 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 = 2002, title = "From Year", minval = 2000)
ToMonth   = input(defval = 3, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 2029, title = "To Year", minval = 2017)



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

// MACD Calculation
MACD = ema(close, fastMAlen) - ema(close, slowMAlen)
signalMACD = ema(MACD, signalMACDlen)
delta = MACD - signalMACD
fastMA = ema(close,fastMAlen)
slowMA = ema(close,slowMAlen)


// Colors
//bartrendcolor = MACD > signalMACD and MACD > 0? green : MACD < signalMACD and MACD < 0? red : MACD < signalMACD? gray :  gray 
//barcolor(switch?bartrendcolor:na)

barcolour=(MACD > signalMACD and MACD > 0)?#53B987:(MACD < signalMACD and MACD < 0)?#EB4D5C:na
barcolor(color=barcolour)


// === STRATEGY ===
// conditions

longCond =  MACD > signalMACD and MACD > 0 
XlongCond = MACD < signalMACD 
ShortCond = MACD < signalMACD and MACD < 0 
XShortCond = MACD > signalMACD 





strategy.entry("long", strategy.long, when=longCond==true and window()==true )
//strategy.exit(id="Close Long", stop=longStop)//, limit=longTake)
strategy.close("long", when=XlongCond==true and window()==true)
strategy.entry("short", strategy.short,  when=ShortCond==true and window()==true )
//strategy.exit(id="Close Short", stop=shortStop)//, limit=shortTake)
strategy.close("short", when=XShortCond==true and window()==true)

// === /STRATEGY ===

Plus de