La stratégie de trading à double EMA est une stratégie de suivi de tendance qui permet de juger de la tendance du marché et de négocier en calculant le rapport entre les intervalles des EMA de deux périodes différentes. La stratégie est simple et directe, elle permet de suivre efficacement les tendances de la courbe moyenne et longue et convient parfaitement aux traders de tendances de la courbe moyenne et longue.
La stratégie est basée sur la taille numérique des deux EMA et l’écart entre eux pour déterminer la direction de la tendance. La stratégie calcule d’abord une EMA à court terme et une EMA à long terme, la configuration typique étant une EMA de 13 cycles et 26 cycles. Ensuite, elle calcule le pourcentage d’écart entre les deux EMA. Si l’EMA à court terme est supérieure à l’EMA à long terme et que l’écart est supérieur à la barre définie (par exemple 5%), elle est jugée comme une tendance à la hausse et effectue plusieurs transactions; si l’EMA à court terme est inférieure à l’EMA à long terme et que l’écart est supérieur à la barre définie, elle est jugée comme une tendance à la baisse et effectue des transactions à vide.
La logique de cette stratégie est la suivante:
Grâce à cette conception, il est possible de suivre efficacement les tendances à moyen et long terme et de changer de direction en temps opportun lorsque les tendances changent. De plus, le réglage des seuils d’intervalle évite que des ajustements dans des périodes non critiques entraînent des transactions inutiles.
Le risque peut être réduit par:
Cette stratégie peut être optimisée dans les domaines suivants:
Optimisation des paramètres: recherche de la meilleure combinaison de paramètres pour optimiser les paramètres des cycles EMA et les seuils de portée en effectuant des retours
Filtrage des tendances: ajouter d’autres indicateurs de tendances, tels que le MACD, les bandes de Brent, etc., afin d’éviter le confinement des tendances choquantes
Stratégie d’arrêt de perte: mise en place d’un arrêt mobile ou d’un arrêt temporel pour contrôler les pertes individuelles
Retour des bénéfices: déplacez le stop-loss après la mise en place d’une partie des bénéfices et bloquez une partie des bénéfices
Optimisation quantitative: optimisation automatique des paramètres et des conditions de filtrage par des méthodes telles que l’apprentissage automatique pour réaliser une optimisation quantitative de la stratégie
Optimisation de la combinaison: combinaison de la stratégie avec d’autres stratégies non pertinentes pour réduire les retraits et améliorer la stabilité
L’optimisation des paramètres, des conditions de filtrage, des arrêts, des retours de bénéfices, etc., peut rendre la stratégie plus stable, plus adaptée aux conditions du marché, plus scientifique et plus efficace. L’optimisation quantitative et combinée peut également améliorer considérablement l’efficacité de la stratégie.
La double EMA est une stratégie simple, directe et adaptée au suivi de la tendance. Elle ne nécessite que deux EMA pour déterminer la direction de la tendance et convient parfaitement à la position de la ligne moyenne et longue. Elle peut également être améliorée de différentes manières, telles que l’optimisation des paramètres, le filtrage de la tendance et la stratégie de stop-loss, afin de rendre la stratégie plus stable et fiable.
/*backtest
start: 2023-08-19 00:00:00
end: 2023-08-23 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("2-EMA Strategy", overlay=true, initial_capital=100, currency="USD", default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075)
diffMinimum = input(0.95, step=0.01)
small_ema = input(13, title="Small EMA")
long_ema = input(26, title="Long EMA")
ema1 = ema(close, small_ema)
ema2 = ema(close, long_ema)
orderCondition = ema1 > ema2?((ema1/ema2)*100)-100 > diffMinimum:((ema2/ema1)*100)-100 > diffMinimum
longCondition = close > ema1 and ema1 > ema2
if (longCondition and orderCondition)
strategy.entry("Long", strategy.long)
shortCondition = close < ema1 and ema1 < ema2
if (shortCondition and orderCondition)
strategy.entry("Short", strategy.short)
strategy.close("Short", when=close > ema1)
strategy.close("Long", when=close < ema1)
plot(ema(close, small_ema), title="EMA 1", color=green, transp=0, linewidth=2)
plot(ema(close, long_ema), title="EMA 2", color=orange, transp=0, linewidth=2)