Cette stratégie combine trois indicateurs de Supertrend avec une moyenne mobile exponentielle (EMA) pour suivre la tendance. Elle utilise trois lignes de Supertrend avec des sensibilités différentes et une ligne EMA pour capturer les tendances du marché grâce à une confirmation multidimensionnelle.
La stratégie se compose des éléments clés suivants:
Peut générer des transactions fréquentes sur différents marchés, augmentant les coûts de transaction. Solution: ajouter des filtres de signal ou prolonger les périodes de moyenne mobile.
Décalage potentiel lors de l'initiation d'un renversement de tendance. Solution: intégrer des indicateurs de dynamique pour l'assistance.
Des exigences de confirmation multiples pourraient faire perdre des opportunités rentables. Solution: ajuster les conditions de confirmation en fonction des caractéristiques du marché.
Il s'agit d'une stratégie de suivi des tendances logiquement rigoureuse et stable. Grâce à la combinaison de plusieurs indicateurs techniques, elle assure la fiabilité du signal tout en maintenant de bonnes capacités de contrôle des risques. Les paramètres de la stratégie sont hautement réglables et peuvent être optimisés pour différentes conditions du marché. Bien qu'il y ait un certain retard inhérent, une optimisation appropriée peut atteindre un bon équilibre entre risque et rendement.
/*backtest start: 2024-12-19 00:00:00 end: 2024-12-26 00:00:00 period: 45m basePeriod: 45m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Supertrend EMA Strategy", overlay=true) // Input Parameters ema_length = input(50, title="EMA Length") supertrend_atr_period = input(10, title="ATR Period") supertrend_multiplier1 = input.float(3.0, title="Supertrend Multiplier 1") supertrend_multiplier2 = input.float(2.0, title="Supertrend Multiplier 2") supertrend_multiplier3 = input.float(1.0, title="Supertrend Multiplier 3") // Calculations emaValue = ta.ema(close, ema_length) [supertrend1, SupertrendDirection1] = ta.supertrend(supertrend_multiplier1, supertrend_atr_period) [supertrend2, SupertrendDirection2] = ta.supertrend(supertrend_multiplier2, supertrend_atr_period) [supertrend3, SupertrendDirection3] = ta.supertrend(supertrend_multiplier3, supertrend_atr_period) // Plot Indicators plot(emaValue, title="EMA", color=color.blue, linewidth=2) plot(supertrend1, title="Supertrend 1 (10,3)", color=(SupertrendDirection1 == -1 ? color.green : color.red), linewidth=1, style=plot.style_line) plot(supertrend2, title="Supertrend 2 (10,2)", color=(SupertrendDirection2 == -1 ? color.green : color.red), linewidth=1, style=plot.style_line) plot(supertrend3, title="Supertrend 3 (10,1)", color=(SupertrendDirection3 == -1 ? color.green : color.red), linewidth=1, style=plot.style_line) // Entry Conditions long_condition = (SupertrendDirection1 == -1 and SupertrendDirection2 == -1 and SupertrendDirection3 == -1 and close > emaValue) short_condition = (SupertrendDirection1 == 1 and SupertrendDirection2 == 1 and SupertrendDirection3 == 1 and close < emaValue) // Exit Conditions long_exit = (SupertrendDirection3 == 1) short_exit = (SupertrendDirection3 == -1) // Execute Strategy if (long_condition) strategy.entry("Long", strategy.long) if (short_condition) strategy.entry("Short", strategy.short) if (long_exit) strategy.close("Long") if (short_exit) strategy.close("Short")