
La stratégie de confirmation DMI est un système de négociation intégré qui combine des moyennes mobiles simples à cycles multiples (SMA), des indicateurs de mouvement directionnel (DMI) et la reconnaissance des modèles de reprise des prix pour capturer des points d’entrée à faible risque dans un marché en tendance. L’idée centrale de la stratégie est d’attendre que les prix rebondissent après un revirement des cours vers la courbe critique pour entrer dans une tendance établie, tout en utilisant l’indicateur DMI pour confirmer la direction de la tendance et pour former un mécanisme de contrôle du risque complet en plaçant des arrêts de perte en déplaçant les points.
Le principe de fonctionnement de cette stratégie repose sur la synergie de plusieurs composants clés:
Système multilinéaireLa stratégie utilise des moyennes mobiles simples de 5 périodes différentes ((9/20/50/100/200) pour juger de la structure du marché. Parmi elles, les moyennes de 20 et 200 jours sont les principaux outils de jugement des tendances.
Analyse de l’inclinaison moyenne: en calculant la pente des 20e et 200e journées moyennes sur les 5 derniers cycles ((slope20 et slope200), confirmer la force et la direction de la tendance. Une pente positive indique une tendance à la hausse, une pente négative indique une tendance à la baisse.
Relation entre prix et moyenne: la stratégie exige que la relation de position du prix avec la moyenne clé ((20e et 200e jour) soit conforme à la direction de la tendance ((le prix est au-dessus de la moyenne lorsque le nombre est élevé et le prix est au-dessous de la moyenne lorsque le nombre est faible)).
Arrayer en ligne moyenne: dans les conditions de multiples têtes, la ligne moyenne de 20 jours doit être située au-dessus de la ligne moyenne de 200 jours; dans les conditions de tête vide, le contraire est le cas.
Mécanisme de rappel:
Confirmation de la direction DMI: utilisation de l’indicateur DMI ((période 14) pour confirmer la direction de la tendance:
Le point d’arrêt:
Mécanisme de filtrage multipleLa combinaison de conditions multiples telles que le système de ligne égale, la pente de la ligne égale, la position des prix et la confirmation du DMI a permis de réduire efficacement les faux signaux et d’améliorer l’exactitude des transactions.
Retour au jeuLa stratégie consistant à attendre que le prix revienne à la moyenne critique pour entrer dans le marché offre un meilleur rapport risque/rendement que de suivre directement la baisse.
Confirmation de la tendance: Triple vérification de la position, de l’alignement et de l’inclinaison de la ligne moyenne pour garantir la négociation uniquement dans les tendances fortes et éviter les transactions fréquentes dans les marchés instables.
Une stratégie de stop loss claireL’utilisation d’un point d’oscillation comme position d’arrêt, une méthode basée sur la structure du marché plutôt que sur des pourcentages arbitraires, est plus conforme à la logique de fonctionnement du marché.
Confirmation de l’indicateur DMIL’ajout de l’indicateur DMI comme outil de confirmation de tendance supplémentaire permet de filtrer davantage les signaux de plus grande incertitude.
Signaux de négociation visuelsLa stratégie consiste à afficher des signaux d’achat et de vente à l’aide de marqueurs visuels clairs, permettant aux traders d’identifier rapidement les opportunités de négociation.
Identifier les retards dans le renversement de tendance: La stratégie étant basée sur un système homogène, il peut y avoir des réactions de retard au point de basculement de la tendance, ce qui entraîne une entrée en retard ou en fin de tendance.
Risque de fausse percéeLe prix peut se retourner après une brèche brève de la ligne moyenne, formant une fausse brèche et déclenchant un signal erroné.
Défi d’optimisation des paramètres: La stratégie contient plusieurs paramètres (par exemple, périodes de moyenne, périodes de rétrocession, périodes de DMI, etc.), différents marchés et périodes de temps peuvent nécessiter des paramètres différents.
Limitations de l’environnement du marchéCette stratégie est plus efficace dans les marchés clairement tendanciels, mais peut entraîner des pertes plus importantes dans les marchés horizontaux.
Le risque de stop loss est trop élevé.La stratégie de stop-loss basée sur les points de fluctuation peut entraîner des stop-loss excessifs dans des marchés très volatils, ce qui est contraire à la gestion des fonds.
Faibles contrôles des risquesLa stratégie manque d’un mécanisme d’arrêt dynamique, ce qui pourrait entraîner le renversement des bénéfices déjà réalisés.
Ajout de paramètres d’adaptationIl est possible d’introduire des mécanismes d’adaptation qui permettent d’ajuster le cycle moyen et la période de rétrocession en fonction de la dynamique de la volatilité du marché, afin de mieux adapter la stratégie aux différents environnements du marché.
Ajouter un filtre de volatilitéIntroduction d’indicateurs d’ATR ou de volatilité, mise en œuvre de stratégies d’ajustement ou suspension de la négociation dans des conditions de marché trop ou trop volatiles.
Amélioration des mécanismes d’arrêtL’augmentation des mécanismes de freinage basés sur la structure du marché ou sur le ratio de rendement des risques visés, tels que le stop-loss mobile, le stop-loss partiel, etc., protège mieux les profits déjà réalisés.
Identifier le contexte du marché: Ajout d’un indicateur de force de tendance ou d’un algorithme de classification de l’état du marché pour réduire automatiquement la position ou suspendre la négociation dans un marché oscillant horizontalement.
Confirmation d’entrée en jeuIl est possible d’envisager d’augmenter la confirmation de la quantité d’acheminement ou la confirmation de la forme du diagramme pour améliorer la fiabilité du signal d’entrée.
Optimisation de la gestion des fonds: Ajustez dynamiquement la taille de la position en fonction de l’ATR ou d’autres indicateurs de volatilité, pour contrôler les marges de risque dans différents environnements de volatilité.
Analyse de plusieurs périodesL’introduction d’un cadre de temps plus élevé permettra de confirmer les tendances et de s’assurer que la direction des transactions est cohérente avec les tendances à un niveau plus élevé.
La stratégie de confirmation de DMI est un système de suivi de tendance structuré et logiquement clair. Elle recherche des points d’entrée à faible risque et à haute probabilité dans les tendances établies grâce à des informations multidimensionnelles telles que l’analyse des moyennes multiples, de l’inclinaison, des retours de prix et de la confirmation de DMI.
Cependant, la stratégie présente également des limites telles que l’identification du retard de la tendance, le risque de faux rebond et le mauvais fonctionnement des marchés oscillante. Des mesures d’optimisation telles que l’introduction de paramètres d’adaptation, le filtrage de la volatilité, l’amélioration des mécanismes de freinage et l’identification de l’environnement du marché peuvent améliorer encore la robustesse et l’adaptabilité de la stratégie.
/*backtest
start: 2025-06-30 00:00:00
end: 2025-07-04 08:00:00
period: 10m
basePeriod: 10m
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Full SMA Pullback Strategy with DMI", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === SMA Definitions ===
sma9 = ta.sma(close, 9)
sma20 = ta.sma(close, 20)
sma50 = ta.sma(close, 50)
sma100 = ta.sma(close, 100)
sma200 = ta.sma(close, 200)
// === Inputs ===
slopeLookback = input.int(5, title="Slope Lookback Period")
swingLookback = input.int(10, title="Swing High/Low Period")
dmiLength = input.int(14, title="DMI Period")
// === Slope Calculation ===
slope20 = sma20 - sma20[slopeLookback]
slope200 = sma200 - sma200[slopeLookback]
// === DMI Calculation ===
[plusDI, minusDI, _] = ta.dmi(dmiLength, dmiLength)
dmiLongConfirm = plusDI > minusDI
dmiShortConfirm = minusDI > plusDI
// === Long Conditions ===
trendUp = close > sma20 and close > sma200
smaOrderUp = sma20 > sma200
slopeUp = slope20 > 0 and slope200 > 0
pullbackUp = close[1] < sma20[1] and close > sma20
longCond = trendUp and smaOrderUp and slopeUp and pullbackUp and dmiLongConfirm
swingLow = ta.lowest(low, swingLookback)
// === Short Conditions ===
trendDown = close < sma20 and close < sma200
smaOrderDown = sma20 < sma200
slopeDown = slope20 < 0 and slope200 < 0
pullbackDown = close[1] > sma20[1] and close < sma20
shortCond = trendDown and smaOrderDown and slopeDown and pullbackDown and dmiShortConfirm
swingHigh = ta.highest(high, swingLookback)
// === Strategy Entry & Exit ===
if (longCond)
strategy.entry("Long", strategy.long)
strategy.exit("Exit Long", from_entry="Long", stop=swingLow)
if (shortCond)
strategy.entry("Short", strategy.short)
strategy.exit("Exit Short", from_entry="Short", stop=swingHigh)
// === Plotting SMAs ===
plot(sma9, title="SMA 9", color=color.gray)
plot(sma20, title="SMA 20", color=color.orange)
plot(sma50, title="SMA 50", color=color.purple)
plot(sma100, title="SMA 100", color=color.green)
plot(sma200, title="SMA 200", color=color.blue)
// === Signal Markers ===
plotshape(longCond, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(shortCond, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)