Cette stratégie permet d'identifier les écarts de tendance en calculant des moyennes mobiles sur différentes périodes.
La moyenne mobile double filtre efficacement les fausses écarts. La moyenne mobile double filtre efficacement les fausses écarts.
La stratégie calcule d'abord quatre moyennes mobiles exponentielles (EMA) sur les périodes de 10 jours, 20 jours, 50 jours et 200 jours. L'EMA de 10 jours représente une tendance à court terme, une tendance à moyen terme de 20 jours, une tendance à moyen terme de 50 jours et une tendance à long terme de 200 jours. Lorsque l'EMA plus courte traverse l'EMA plus longue, elle signale un renversement de tendance potentiel. Cependant, l'utilisation d'un seul croisement EMA produit facilement de faux signaux.
Pour améliorer la fiabilité, la stratégie applique deux couches de filtrage: l'EMA 10/200 mesure les changements de tendance à long/courte terme tandis que l'EMA 20/50 mesure les changements de tendance à moyen/intermédiaire.
Le double filtrage EMA réduit considérablement les faux signaux, générant ainsi des entrées de transactions plus fiables.
Les améliorations comprennent le relâchement des seuils de rupture, l'ajout de la confirmation de volume et l'optimisation des paramètres.
En résumé, le double noyau de moyenne mobile complété par l'optimisation, le volume et d'autres indicateurs peut construire un système de suivi de tendance stable.
Une stratégie de suivi de tendance simple mais pratique. Le noyau EMA double filtre les fausses ruptures de manière fiable pour les signaux de qualité. La paramétrisation facile facilite également l'adoption. D'autres améliorations de la gestion des risques et de l'optimisation peuvent stimuler les performances.
/*backtest start: 2023-12-12 00:00:00 end: 2023-12-13 02:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Advancing Our Basic Strategy", overlay=true) ema10 = ema(close, 10) ema20 = ema(close, 20) ema50 = ema(close, 50) ema200 = ema(close, 200) long = ema10 > ema200 and ema20 > ema50 short = ema10 < ema200 and ema20 < ema50 longcondition = long and long[10] and not long[11] shortcondition = short and short[10] and not short[11] closelong = ema10 < ema200 or ema20 < ema50 and not long[11] closeshort = ema10 > ema200 or ema20 > ema50 and not short[11] plot(ema10, title="10", color=green, linewidth=2) plot(ema20, title="20", color=red, linewidth=3) plot(ema50, title="50", color=purple, linewidth=2) plot(ema200, title="200", color=blue, linewidth=3) testPeriodStart = timestamp(2018,8,1,0,0) testPeriodStop = timestamp(2038,8,30,0,0) if time >= testPeriodStart and time <= testPeriodStop strategy.entry("Long", strategy.long, 1, when=longcondition) strategy.entry("Short", strategy.short, 1, when=shortcondition) strategy.close("Long", when = closelong) strategy.close("Short", when = closeshort)