
La stratégie de suivi des tendances est un système de suivi des tendances qui combine la technologie classique de capture de tendance EMA et la confirmation de la résistance au support. La stratégie identifie les changements de tendance potentiels par la croisée des moyennes mobiles des indices rapides et lents (EMA) et utilise les niveaux de soutien et de résistance comme conditions de filtrage supplémentaires pour améliorer l’exactitude des signaux de négociation. Ce mécanisme de double confirmation réduit efficacement la production de faux signaux et aide les traders à effectuer des transactions dans des structures de marché favorables.
Le principe de base de cette stratégie est basé sur la combinaison de deux indicateurs techniques clés:
Signaux croisés EMALa stratégie utilise deux moyennes mobiles indicielles de différentes périodes, prenant pour défaut une EMA rapide de 10 périodes et une EMA lente de 30 périodes. Quand une EMA rapide traverse une EMA lente par le bas, elle génère un signal d’achat; quand une EMA rapide traverse une EMA lente par le haut, elle génère un signal de vente. Ce croisement est souvent considéré comme un indicateur précoce d’un changement de tendance.
Filtre de résistance à l’appui: la stratégie utilise une période de rétrocession de 50 cycles (customizable) pour déterminer le support et la résistance, respectivement le prix le plus bas et le prix le plus élevé de la période d’utilisation. Le signal d’achat n’est confirmé que lorsque le prix est proche du support (dans la fourchette de 5% du support); le signal de vente n’est confirmé que lorsque le prix est proche de la résistance (dans la fourchette de 5% de la résistance).
En analysant le code, nous pouvons voir que la logique d’exécution de la stratégie est la suivante:
买入条件 = 快速EMA上穿慢速EMA AND 价格接近支撑位
卖出条件 = 快速EMA下穿慢速EMA AND 价格接近阻力位
Afin d’éviter la répétition des transactions, la stratégie maintient également les variables de l’état des transactions en cours (inLong et inShort) pour s’assurer qu’il n’y a pas de nouvelles positions ouvertes. Chaque fois qu’un signal de transaction est déclenché, le système marque sur le graphique les étiquettes correspondantes d’achat ou de vente et indique le point d’entrée à l’aide d’une flèche, ce qui permet au trader de comprendre intuitivement le signal de la stratégie.
Mécanisme de double confirmationEn combinant des croisements EMA et des niveaux de résistance de soutien, la stratégie réduit considérablement les faux signaux pouvant être générés par une simple dépendance aux croisements EMA et améliore la fiabilité et l’exactitude des signaux de négociation.
Travail en cours: la stratégie est conçue pour s’assurer que la direction des transactions est toujours conforme à la tendance principale, le signal d’achat confirme la tendance à la hausse près du support, le signal de vente confirme la tendance à la baisse près de la résistance, évitant ainsi le risque de négociation à l’envers.
Amélioration de la gestion des risques: En exécutant des transactions à des niveaux de prix critiques, la stratégie offre aux traders des positions de stop-loss et de profit plus claires, favorisant la mise en place d’un ratio de risque-rendement plus raisonnable.
Signaux de transaction clairement visiblesLa stratégie consiste à afficher clairement les signaux d’achat et de vente et les prix d’entrée sur les graphiques, permettant aux traders d’identifier rapidement les opportunités de trading et de réduire la subjectivité des décisions de trading.
Haute personnalisation: Permet aux traders d’ajuster les cycles d’EMA et les périodes de rétrocession de la résistance au support en fonction des différents marchés et des différentes périodes de temps, ce qui rend la stratégie plus adaptable.
Intégration de la gestion des fondsStratégie: Par défaut, le pourcentage de fonds du compte est utilisé pour la gestion des positions, une méthode de gestion des fonds conservatrice et professionnelle qui aide à contrôler le risque de chaque transaction.
Risque de retardLes indicateurs EMA sont en retard par nature, ce qui peut entraîner un retard d’entrée légèrement supérieur à l’endroit idéal, en particulier dans les marchés très volatils, et peuvent manquer des points de basculement importants. La solution consiste à envisager d’ajouter des indicateurs plus sensibles ou de réduire les cycles des EMA rapides.
Comptabilisation des transactions fréquentes dans le marchéIl est recommandé de suspendre l’utilisation de cette stratégie ou d’ajouter des conditions supplémentaires de filtrage des taux de volatilité.
Identification inexacte de la résistance au supportLe simple fait d’utiliser des prix les plus élevés et les plus bas pour déterminer les points de résistance de soutien peut ne pas être suffisamment précis, en particulier dans des marchés exceptionnellement volatils. L’utilisation d’algorithmes de reconnaissance des résistances de soutien plus complexes, tels que la fractionation, les zones d’offre et de demande ou les zones de concentration des prix, peut être envisagée.
Limite de la plage de pourcentage fixe: La stratégie utilise une fourchette fixe de 5% pour déterminer si le prix est proche de la résistance au support, ce qui peut ne pas être suffisamment flexible dans des marchés à différents taux de volatilité. La solution consiste à paramétrer cette fourchette, en fonction de la dynamique de volatilité du marché.
Manque de mécanisme de prévention: La stratégie actuelle n’a pas de logique de stop-loss claire, ce qui peut entraîner des pertes plus importantes en cas de reprise soudaine du marché. Il est recommandé de mettre en place un mécanisme de stop-loss automatique, tel qu’un stop-loss basé sur l’ATR ou un stop-loss sur les positions structurelles clés.
Paramètres de l’EMA dynamique: La stratégie actuelle utilise des cycles d’EMA fixes. On peut envisager d’ajuster les paramètres d’EMA en fonction de la dynamique de la volatilité du marché, par exemple en utilisant des cycles plus courts dans les marchés à faible volatilité et des cycles plus longs dans les marchés à forte volatilité, pour s’adapter à différentes conditions du marché.
Détection de résistance au support de niveau élevé: les méthodes d’identification des points de résistance de soutien peuvent être améliorées, par exemple en utilisant la théorie de la fraction, la confirmation de la résistance de soutien à plusieurs périodes ou la résistance de soutien combinée avec le prix, pour obtenir des niveaux de prix critiques plus précis.
Filtrage d’intensité de la tendance à la hausseIntroduction d’indicateurs de force de tendance tels que l’ADX (indicateur de direction moyenne), exécutant les transactions uniquement lorsque la force de la tendance est suffisante et évitant de négocier fréquemment dans des tendances faibles ou des marchés de consolidation.
Inclusion de l’ajustement au taux de volatilitéModification dynamique de la portée de détermination de “près de la résistance au support” sur la base de l’ATR, élargissement de la portée dans les marchés à forte volatilité et rétrécissement de la portée dans les marchés à faible volatilité, rendant la stratégie plus adaptable.
Parfaite logique de sortieLes stratégies actuelles se concentrent sur les conditions d’entrée, mais peuvent être complétées par des logiques de sortie basées sur des objectifs de profit, des signaux de stop ou de revers, pour former un système de négociation complet.
Ajouter un filtrage de tempsIl est possible d’ajouter des filtres de transaction pour des périodes spécifiques, en tenant compte de la saisonnalité et de la durée du marché, afin d’éviter les périodes de transaction inefficaces ou à haut risque.
Confirmation de plusieurs périodesL’introduction d’un jugement de tendance sur des périodes plus longues garantit que la direction des transactions est cohérente avec les tendances sur des périodes plus longues et augmente le taux de réussite des transactions.
La stratégie dynamique de capture de tendance EMA et de confirmation de la résistance au support permet de créer un système de négociation qui suit la tendance tout en se concentrant sur les niveaux de prix critiques. Ce mécanisme de double confirmation filtre efficacement de nombreux faux signaux potentiels et améliore l’exactitude et la fiabilité des transactions.
L’avantage central de la stratégie réside dans son respect de la structure du marché et l’exécution des transactions uniquement lorsque le prix est proche des points critiques de support ou de résistance, ce qui améliore non seulement la qualité des points d’entrée, mais fournit également un point de référence clair pour la gestion des risques. Les signaux de trading visualisés rendent la stratégie simple à utiliser et intuitive, adaptée à tous les niveaux de traders.
Cependant, la stratégie présente également des problèmes potentiels tels que le retard, l’excès de négociation et la précision de la détection de la résistance des supports. Des optimisations telles que l’introduction d’ajustements de paramètres dynamiques, la détection de la résistance des supports avancés, le filtrage de l’intensité de la tendance et une logique d’exit complète peuvent améliorer davantage la performance de la stratégie.
Dans l’ensemble, il s’agit d’une stratégie de suivi de tendance solide et logiquement claire, qui fournit aux traders un cadre fiable sur lequel ils peuvent personnaliser et étendre en fonction de leur style de négociation et des caractéristiques du marché.
/*backtest
start: 2024-08-19 00:00:00
end: 2025-08-18 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_OKX","currency":"BTC_USDT","balance":5000}]
*/
//@version=5
strategy("EMA Crossover + Support/Resistance Filter Optimized", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// ==== INPUT ====
ema_fast_len = input.int(10, "EMA Fast Length")
ema_slow_len = input.int(30, "EMA Slow Length")
sr_lookback = input.int(50, "Support/Resistance Lookback")
// ==== EMA CALCULATION ====
ema_fast = ta.ema(close, ema_fast_len)
ema_slow = ta.ema(close, ema_slow_len)
// ==== SUPPORT / RESISTANCE DETECTION ====
highestHigh = ta.highest(high, sr_lookback)
lowestLow = ta.lowest(low, sr_lookback)
support = lowestLow
resistance = highestHigh
// ==== CONDITIONS ====
bull_cross = ta.crossover(ema_fast, ema_slow)
bear_cross = ta.crossunder(ema_fast, ema_slow)
// Price near support/resistance (5% range)
near_support = close <= support * 1.05
near_resistance = close >= resistance * 0.95
// ==== ENTRY SIGNALS ====
buy_signal = bull_cross and near_support
sell_signal = bear_cross and near_resistance
// ==== TRACK OPEN POSITIONS ====
var bool inLong = false
var bool inShort = false
if buy_signal and not inLong
strategy.entry("Buy", strategy.long)
inLong := true
inShort := false
label.new(bar_index, low, "BUY", style=label.style_label_up, color=color.green, textcolor=color.white, size=size.small)
if sell_signal and not inShort
strategy.entry("Sell", strategy.short)
inShort := true
inLong := false
label.new(bar_index, high, "SELL", style=label.style_label_down, color=color.red, textcolor=color.white, size=size.small)
// ==== PLOT EMAs ====
plot(ema_fast, color=color.orange, title="EMA Fast")
plot(ema_slow, color=color.blue, title="EMA Slow")
// ==== PLOT SUPPORT / RESISTANCE ====
plot(support, color=color.green, style=plot.style_linebr, linewidth=1, title="Support")
plot(resistance, color=color.red, style=plot.style_linebr, linewidth=1, title="Resistance")
// ==== PLOT SHAPES ONLY WHEN ENTERING POSITION ====
plotshape(buy_signal and not inLong[1], title="Buy Arrow", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.tiny)
plotshape(sell_signal and not inShort[1], title="Sell Arrow", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.tiny)