Stratégie de suivi de la tendance à la convergence des moyennes mobiles doubles

Auteur:ChaoZhang est là., Date: 2023-12-28 17:24:53 Je vous en prie.
Les étiquettes:

img

Résumé

La stratégie de suivi des tendances de convergence des moyennes mobiles doubles calcule des lignes moyennes mobiles rapides, lentes et superlentes, combinées à l'indicateur MACD pour déterminer la direction de la tendance des prix et mettre en œuvre des transactions de suivi des tendances.

Principe

La stratégie calcule d'abord la moyenne mobile rapide de 12 jours, la moyenne mobile lente de 26 jours et la moyenne mobile superlente de 200 jours. Lorsque la moyenne mobile rapide dépasse la moyenne mobile lente, une croix dorée se produit, indiquant un marché haussier. Lorsque la croix rapide dépasse la lente, une croix morte se produit, indiquant un marché baissier.

La stratégie utilise également l'indicateur MACD pour déterminer la direction de la tendance. Le MACD se compose de lignes rapides, de lignes lentes et de barres MACD. Lorsque la ligne rapide traverse au-dessus de la ligne lente, c'est un signal haussier et lorsqu'elle traverse en dessous, c'est baissier. Combiné avec la moyenne mobile à long terme pour filtrer les faux signaux, seulement lorsque la ligne rapide rompt la ligne lente, la barre MACD passe de négative à positive et le prix se trouve au-dessus de la ligne lente de 200 jours, déclenche le signal long.

Avec la double confirmation du système de moyennes mobiles et de l'indicateur MACD, les fausses ruptures peuvent être évitées et assurer l'entrée au début de la tendance.

Les avantages

  1. La double confirmation évite les fausses ruptures, assurant l'entrée au début de la tendance.

  2. L'AM de 200 jours filtre les transactions erronées lors des fluctuations du marché.

  3. Arrêt des pertes pour limiter les pertes maximales.

  4. Paramètres personnalisables tels que la longueur de la MA, le niveau de stop loss, etc. pour s'adapter à différents produits.

  5. Une logique simple et claire, facile à comprendre et à optimiser.

Les risques

  1. Le suivi des tendances à long terme ne peut pas saisir les opportunités à court terme.

  2. L'effet de suivi dépend des paramètres, les mauvais paramètres ne permettent pas de détecter les tendances.

  3. Un réglage de stop-loss inapproprié peut être trop lâche ou trop serré, ce qui augmente la perte ou l'arrêt prématuré.

  4. Les longues périodes de détention entraînent une certaine pression sur le capital.

Optimisation

  1. Optimiser le paramètre MA longueur pour la meilleure combinaison de paramètres.

  2. Ajouter d'autres indicateurs comme le KDJ pour un jugement auxiliaire.

  3. Optimiser les stratégies de stop-loss comme les stops de resserrement, les stops de trail, etc.

  4. Ajuster les paramètres de l'AM en fonction du produit et du délai.

  5. Ajoutez un filtre de volume pour éviter les faux signaux.

Conclusion

La stratégie de suivi de tendance de convergence double MA juge la direction de la tendance en calculant plusieurs systèmes de MA et utilise un filtre MACD. Ses avantages sont une logique simple et claire, des risques contrôlables, adaptés au suivi de tendance. Elle peut être améliorée par l'optimisation des paramètres, l'optimisation des stop-loss, l'ajout d'indicateurs auxiliaires, etc. Une stratégie de suivi de tendance recommandée.


/*backtest
start: 2022-12-21 00:00:00
end: 2023-12-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Trend Strategy", shorttitle="TSTrend Strategy", overlay=true)


// Trend Strategy
// If the inverse logic is true, the strategy
// goes short. For the worst case there is a
// max intraday equity loss of 50% filter.


// Input
source = input(close)
fastLength = input(12, minval=1, title="MACD fast moving average")
slowLength=input(26,minval=1, title="MACD slow moving average")
signalLength=input(9,minval=1, title="MACD signal line moving average")
veryslowLength=input(200,minval=1, title="Very slow moving average")
switch1=input(true, title="Enable Bar Color?")
switch2=input(true, title="Enable Moving Averages?")
switch3=input(true, title="Enable Background Color?")

// Calculation
fastMA = sma(source, fastLength)
slowMA = sma(source, slowLength)
veryslowMA = sma(source, veryslowLength)
macd = fastMA - slowMA
signal = sma(macd, signalLength)
hist = macd - signal

// Colors
MAtrendcolor = change(veryslowMA) > 0 ? green : red
trendcolor = fastMA > slowMA and change(veryslowMA) > 0 and close > slowMA ? green : fastMA < slowMA and change(veryslowMA) < 0 and close < slowMA ? red : blue
bartrendcolor = close > fastMA and close > slowMA and close > veryslowMA and change(slowMA) > 0 ? green : close < fastMA and close < slowMA and close < veryslowMA and change(slowMA) < 0 ? red : blue
backgroundcolor = slowMA > veryslowMA and crossover(hist, 0) and macd > 0 and fastMA > slowMA and close[slowLength] > veryslowMA ? green : slowMA < veryslowMA and crossunder(hist, 0) and macd < 0 and fastMA < slowMA and close[slowLength] < veryslowMA ? red : na
bgcolor(switch3?backgroundcolor:na,transp=80)
barcolor(switch1?bartrendcolor:na)

// Output
F=plot(switch2?fastMA:na,color=trendcolor)
S=plot(switch2?slowMA:na,color=trendcolor,linewidth=2)
V=plot(switch2?veryslowMA:na,color=MAtrendcolor,linewidth=4)
fill(F,V,color=gray)

// Strategy
buyprice = low
sellprice = high
cancelLong = slowMA < veryslowMA
cancelShort = slowMA > veryslowMA

if (cancelLong)
    strategy.cancel("MACDLE")

if crossover(hist, 0) and macd > 0 and fastMA > slowMA and close[slowLength] > veryslowMA 
    strategy.entry("MACDLE", strategy.long, stop=buyprice, comment="Bullish")

if (cancelShort)
    strategy.cancel("MACDSE")

if crossunder(hist, 0) and macd < 0 and fastMA < slowMA and close[slowLength] < veryslowMA 
    strategy.entry("MACDSE", strategy.short, stop=sellprice, comment="Bearish")

// maxIdLossPcnt = input(50, "Max Intraday Loss(%)", type=float)
// strategy.risk.max_intraday_loss(maxIdLossPcnt, strategy.percent_of_equity)

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Plus de