La stratégie de trading crossover EMA est une stratégie de trading quantitative simple mais efficace. Elle utilise des moyennes mobiles exponentielles (EMA) et des signaux crossover pour identifier les tendances des prix et déterminer les points d'entrée et de sortie.
La clé réside dans l'utilisation de deux EMA avec des paramètres différents. L'EMA1 est définie à 25 jours et l'EMA2 est définie à 100 jours. Lorsque l'EMA à court terme franchit le niveau supérieur de l'EMA à long terme, c'est un signal d'achat. Lorsque l'EMA plus court franchit le niveau inférieur de l'EMA plus longue, c'est un signal de vente. Ainsi, l'EMA plus courte capture les tendances et l'élan des prix à court terme, tandis que l'EMA plus longue reflète les tendances à long terme.
Pour filtrer les faux signaux, la stratégie définit également quelques critères supplémentaires. Par exemple, il faut un modèle de bougie haussier ou un croisement se produisant au-dessus du niveau 50 RSI. Cela évite les transactions erronées dues au bruit à court terme.
Le plus grand avantage est la simplicité et l'intuitivité de cette stratégie, qui est beaucoup plus conviviale que les stratégies aux paramètres nombreux et à la logique complexe.
En outre, il capture les changements de tendance à court et à long terme, en utilisant l'indicateur technique classique des croisements EMA pour identifier les renversements de tendance et déterminer les entrées et les sorties.
Enfin, des filtres appropriés sont mis en place pour réduire les faux signaux et éviter d'être induit en erreur par le bruit du marché.
Le risque principal est la divergence entre les tendances à court et à long terme. Des fluctuations dramatiques des prix peuvent déclencher des signaux croisés, mais la tendance à long terme reste inchangée, ce qui entraîne des transactions perdantes.
Les paramètres de période des EMA inappropriés pourraient également compromettre les performances de la stratégie, car leur pouvoir représentatif diminuerait, ce qui les rendrait inefficaces pour détecter les tendances et les renversements.
En outre, des filtres trop stricts peuvent entraîner la perte d'opportunités commerciales potentielles, ce qui nuit à la rentabilité.
La combinaison avec d'autres indicateurs tels que KDJ, MACD, etc. pourrait aider à confirmer les signaux de négociation et à éviter les faux signaux.
Tester différents ensembles de paramètres pour trouver les périodes optimales de l'EMA et ajuster les critères de filtrage pour équilibrer la fréquence et la fiabilité des transactions.
La taille dynamique des positions est également importante. Par exemple, une position plus grande lorsque les deux EMA sont plus éloignés, plus petite lorsque plus proches.
La stratégie de croisement EMA est une stratégie de trading quantitative simple mais pratique. Elle capitalise sur les signaux de croisement EMA pour négocier avec les tendances à court et à long terme. Facile à comprendre et à mettre en œuvre, elle minimise la complexité et convient aux traders novices. Cependant, ses risques ne doivent pas être négligés.
/*backtest start: 2023-11-11 00:00:00 end: 2023-12-11 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy('EMA Crossover Signal', shorttitle='EMA Crossover Signal', overlay=true) // Define input for position size as a percentage of equity position_size_pct = input(1, title='Position Size (%)') / 100 //Input EMA len1 = input.int(25, minval=1, title='EMA 1') src1 = input(close, title='Source') ema1 = ta.ema(src1, len1) len2 = input.int(100, minval=1, title='EMA 2') src2 = input(close, title='Source') ema2 = ta.ema(src2, len2) //End of format //Format RSI lenrsi = input(14, title='RSI length') outrsi = ta.rsi(close,lenrsi) bodybar1 = math.abs(close - open) bodybar2 = math.abs(close[1] - open[1]) // Plot the EMAs plot(ema1, color=color.new(color.blue, 0), title='EMA 1') plot(ema2, color=color.new(color.red, 0), title='EMA 2') // EMA Crossover conditions emaCrossoverUp = ta.crossover(ema1, ema2) emaCrossoverDown = ta.crossunder(ema1, ema2) var entrybar = close // Initialize entrybar with the current close // Calculate crossovers outside of the if statements emaCrossoverUpOccured = ta.crossover(close, ema1) and ema1 > ema2 and bodybar1 > bodybar2 and close > entrybar emaCrossoverDownOccured = ta.crossunder(close, ema1) and ema1 < ema2 and bodybar1 > bodybar2 and close < entrybar plotshape(series=emaCrossoverUpOccured, location=location.abovebar, color=color.new(color.green, 0), style=shape.triangleup, title='New Buy Order', size=size.tiny) plotshape(series=emaCrossoverDownOccured, location=location.belowbar, color=color.new(color.red, 0), style=shape.triangledown, title='New Sell Order', size=size.tiny) if emaCrossoverUpOccured strategy.entry("Enter Long", strategy.long) else if emaCrossoverDownOccured strategy.entry("Enter Short", strategy.short)