
Le système de filtrage de tendance EMA est une stratégie de négociation qui combine les tendances de la résistance de soutien et de la moyenne mobile de l’analyse technique. La stratégie consiste principalement à identifier les signaux d’achat et de vente des prix près des points de résistance critiques, tout en utilisant l’EMA (moyenne mobile de l’indice) pour identifier la direction de la tendance globale du marché, afin de filtrer les signaux de négociation qui ne correspondent pas à la grande tendance.
Le principe central de la stratégie est basé sur les tendances de rebond et de reprise des prix près des points de support et de résistance, combinées aux indicateurs EMA pour déterminer la direction de la tendance générale du marché.
La solution est simple:
Résistance au support dynamique: Convertir des points de résistance de support fixes en niveaux dynamiques calculés automatiquement, par exemple en utilisant les hauts et les bas des N derniers jours de négociation ou les points de pivot, afin de permettre à la stratégie de s’adapter aux changements de la structure du marché.
Adaptation du taux de volatilitéIntroduction de l’indicateur ATR (Average True Range) qui ajuste automatiquement les objectifs de profit et la distance de stop loss en fonction de la volatilité du marché, permettant ainsi à la stratégie de rester optimale dans différents environnements de volatilité.
Filtre par tempsLe nombre d’opérations à l’horizon de la fin de l’année est limité par le nombre de transactions à l’horizon de la fin de l’année, ce qui permet d’éviter les périodes de faible liquidité ou de publication de données économiques majeures et de réduire les risques de fluctuation anormale.
Optimisation de la gestion des positions: Ajustez dynamiquement la taille de la position en fonction de l’intensité du signal ou du pourcentage de la valeur nette du compte courant.
Confirmation à plusieurs cycles: l’introduction de l’analyse à plusieurs périodes, qui exige que les tendances à des périodes plus élevées soient conformes à la direction des transactions, améliorant ainsi la qualité du signal.
Arrêt de la traque: Introduction d’une fonction de suivi des stop-loss, permettant d’ajuster le stop-loss lorsque le prix se déplace dans une direction favorable, de bloquer une partie des bénéfices et de donner plus de marge de manœuvre au prix.
Optimisation des paramètres de réaction: Optimisation de la rétroaction systématique des paramètres tels que le cycle EMA, le pourcentage de résistance de support et le ratio de profit cible, afin de trouver la combinaison de paramètres la plus performante historiquement.
Ces orientations d’optimisation permettront de perfectionner les stratégies, d’améliorer leur adaptabilité et leur rentabilité dans divers environnements de marché, tout en réduisant les risques.
Le système de filtrage de tendance EMA est une stratégie de négociation quantitative qui combine les principes fondamentaux de l’analyse technique. Elle est basée sur l’identification d’opportunités de négociation à proximité des points de résistance de soutien critique et sur l’utilisation du filtre de tendance EMA pour assurer le bon déroulement, ce qui améliore le taux de réussite de la négociation. La conception d’objectifs de profit à plusieurs niveaux permet de maximiser le potentiel de profit et de bloquer progressivement les gains dans les fluctuations des prix, tandis qu’un stop loss explicite maîtrise efficacement les risques.
Le plus grand avantage de cette stratégie réside dans le fait qu’elle intègre plusieurs concepts d’analyse technique éprouvés dans un cadre systématique, réduisant les jugements subjectifs et améliorant la discipline des transactions. Cependant, la stratégie présente également des problèmes tels que le risque de faux signaux et la dépendance des paramètres, qui doivent être optimisés en ajoutant des mécanismes de confirmation et un ajustement des paramètres dynamiques.
Dans l’ensemble, il s’agit d’un cadre stratégique de base, logiquement clair, adapté aux traders ayant une certaine base d’analyse technique, et qui peut être personnalisé et optimisé davantage en fonction des préférences de risque personnelles et de l’environnement du marché. En mettant en œuvre les directions d’optimisation des recommandations, la stratégie a le potentiel d’être un système de négociation plus robuste et plus adaptable.
/*backtest
start: 2024-05-30 00:00:00
end: 2025-05-29 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"DOT_USDT"}]
*/
// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ChemCrypto
//@version=5
strategy("DOT/USDT Strategy with TP/SL", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === Inputs === //
supportLevel = input.float(4.34, title="Support Level")
resistanceLevel = input.float(4.83, title="Resistance Level")
emaFast = input.int(50, title="Fast EMA")
emaSlow = input.int(200, title="Slow EMA")
// TP and SL multipliers
tp1Mult = input.float(1.05, title="TP1 Multiplier (e.g. 1.05 = +5%)")
tp2Mult = input.float(1.10, title="TP2 Multiplier")
tp3Mult = input.float(1.20, title="TP3 Multiplier")
slMult = input.float(0.97, title="SL Multiplier (e.g. 0.97 = -3%)")
// === EMAs === //
ema50 = ta.ema(close, emaFast)
ema200 = ta.ema(close, emaSlow)
bullTrend = ema50 > ema200
bearTrend = ema50 < ema200
// === Plot EMAs === //
plot(ema50, title="EMA 50", color=color.orange)
plot(ema200, title="EMA 200", color=color.blue)
// === Support/Resistance === //
plot(supportLevel, title="Support", color=color.green)
plot(resistanceLevel, title="Resistance", color=color.red)
// === Conditions === //
nearSupport = close <= supportLevel * 1.01 and close >= supportLevel * 0.99
nearResistance = close <= resistanceLevel * 1.01 and close >= resistanceLevel * 0.99
longCondition = nearSupport and bullTrend
shortCondition = nearResistance and bearTrend
// === TP and SL levels === //
longTP1 = close * tp1Mult
longTP2 = close * tp2Mult
longTP3 = close * tp3Mult
longSL = close * slMult
shortTP1 = close * (2 - tp1Mult)
shortTP2 = close * (2 - tp2Mult)
shortTP3 = close * (2 - tp3Mult)
shortSL = close * (2 - slMult)
// === Execute Strategy === //
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit("TP1", from_entry="Long", limit=longTP1, stop=longSL)
strategy.exit("TP2", from_entry="Long", limit=longTP2)
strategy.exit("TP3", from_entry="Long", limit=longTP3)
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit("TP1", from_entry="Short", limit=shortTP1, stop=shortSL)
strategy.exit("TP2", from_entry="Short", limit=shortTP2)
strategy.exit("TP3", from_entry="Short", limit=shortTP3)
// === Labels === //
plotshape(longCondition, title="Long Entry", location=location.belowbar, color=color.green, style=shape.labelup, text="Long")
plotshape(shortCondition, title="Short Entry", location=location.abovebar, color=color.red, style=shape.labeldown, text="Short")
// === Alerts === //
alertcondition(longCondition, title="Long Signal", message="DOT Buy Signal near support with bullish trend")
alertcondition(shortCondition, title="Short Signal", message="DOT Sell Signal near resistance with bearish trend")