Cette stratégie est un système de trading quantitatif basé sur le croisement des moyennes mobiles exponentielles (EMA) de 13 et 21 périodes. Elle identifie les changements de tendance du marché grâce à l'observation des croisements EMA à court et à long terme, générant des positions longues aux croisements dorés et des positions courtes aux croisements de la mort.
La logique de base repose sur deux EMA avec des périodes différentes: une EMA à court terme de 13 périodes et une EMA à long terme de 21 périodes. Lorsque l'EMA à court terme dépasse la EMA à long terme, elle forme une croix dorée, indiquant une formation de tendance haussière et générant un signal d'achat. Inversement, lorsque l'EMA à court terme dépasse la EMA à long terme, elle forme une croix de mort, indiquant une formation de tendance baissière et générant un signal de vente. La stratégie utilise un affichage dynamique en couleur, changeant les couleurs des lignes EMA lors des croisements - vert pour les signaux haussiers et rouge pour les signaux baissiers, fournissant une rétroaction visuelle qui aide les traders à évaluer rapidement les conditions du marché.
La stratégie quantitative Dynamic Dual EMA Crossover combine l'analyse technique classique avec des techniques de visualisation modernes. Elle génère des signaux de trading par le biais de crossovers EMA et améliore la rétroaction visuelle à travers des changements de couleur dynamiques, rendant les décisions de trading plus intuitives. Bien qu'il existe des risques inhérents, la stratégie peut devenir un outil de trading efficace grâce à une optimisation et une gestion des risques appropriées.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-03 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA Strategy by clf", overlay=true) // Input parameters for EMAs shortEmaLength = input(13, title="Short EMA Length") longEmaLength = input(21, title="Long EMA Length") // Calculate EMAs shortEma = ta.ema(close, shortEmaLength) longEma = ta.ema(close, longEmaLength) // Define the color variable with type var color emaColor = na // Determine the colors for the EMAs based on crossovers if (ta.crossover(shortEma, longEma)) emaColor := color.green else if (ta.crossunder(shortEma, longEma)) emaColor := color.red // Plot EMAs on the chart with dynamic colors plot(shortEma, title="Short EMA", color=emaColor, linewidth=2) plot(longEma, title="Long EMA", color=color.red, linewidth=2) // Generate buy and sell signals longCondition = ta.crossover(shortEma, longEma) shortCondition = ta.crossunder(shortEma, longEma) // Plot buy and sell signals plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL") // Strategy entry and exit strategy.entry("Long", strategy.long, when=longCondition) strategy.close("Long", when=shortCondition) strategy.entry("Short", strategy.short, when=shortCondition) strategy.close("Short", when=longCondition)