Il s'agit d'une stratégie de trading quantitative basée sur l'indicateur EMA, qui prend des décisions de trading en calculant les signaux de croisement des moyennes mobiles exponentielles à court terme (9 périodes) et à long terme (21 périodes).
La stratégie utilise deux moyennes mobiles exponentielles (EMA) avec des périodes différentes: 9 périodes et 21 périodes. Un signal d'achat est généré lorsque l'EMA à court terme dépasse l'EMA à long terme, tandis qu'un signal de vente est déclenché lorsque l'EMA à court terme dépasse l'EMA à long terme.
Cette stratégie est une approche classique de suivi des tendances qui capture les changements de tendance du marché grâce à des croisements de moyennes mobiles. Bien que relativement simple dans la conception, elle comprend une logique de trading complète et des mécanismes de contrôle des risques. La stabilité et la rentabilité de la stratégie peuvent être encore améliorées grâce à des mesures d'optimisation telles que l'ajustement dynamique des paramètres et l'évaluation des conditions du marché.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-27 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © ancour //@version=5 strategy("Moving Average Crossover", overlay=true) // Define the length for short-term and long-term EMAs shortEmaLength = 9 longEmaLength = 21 // Calculate EMAs shortEma = ta.ema(close, shortEmaLength) longEma = ta.ema(close, longEmaLength) // Plot EMAs on the chart plot(shortEma, title="Short-term EMA", color=color.green, linewidth=2) plot(longEma, title="Long-term EMA", color=color.red, linewidth=2) // Strategy conditions for crossovers longCondition = ta.crossover(shortEma, longEma) shortCondition = ta.crossunder(shortEma, longEma) // Enter long when short EMA crosses above long EMA if (longCondition) strategy.entry("Buy", strategy.long) // Exit long or enter short when short EMA crosses below long EMA if (shortCondition) strategy.entry("Sell", strategy.short) // Optional: Add stop-loss and take-profit levels for risk management stopLossPercent = 2 takeProfitPercent = 4 strategy.exit("Sell TP/SL", "Buy", stop=low * (1 - stopLossPercent/100), limit=high * (1 + takeProfitPercent/100))