
La stratégie multi-indicateur dynamique de tendance de négociation continue est un puissant outil de retracement destiné à identifier les tendances à forte probabilité de réglage continu. La stratégie combine habilement les indicateurs relativement faibles (RSI), l’oscillateur de la dynamique de la monnaie (CMO) et la logique de suivi des arrêts-pertes basée sur l’adaptation de l’amplitude des fluctuations réelles (ATR) pour détecter des points d’entrée précis et gérer le risque en automatisant les objectifs de gain (R1, R2, R3R) et les niveaux de perte.
Au cœur de cette stratégie, il est possible d’identifier les points de basculement et les opportunités de pérennité à travers une combinaison de multiples indicateurs techniques:
Mécanisme de reconnaissance des tendances: Utilisation de la moyenne mobile de Hull ((HMA) pour traiter les prix d’ouverture et de clôture, en utilisant respectivement 5 et 12 cycles, pour calculer les variations de dynamique et comparer ces variations afin d’évaluer l’intensité de la tendance.
Évaluation de la dynamiqueL’indicateur mesure la dynamique des prix en calculant la différence entre les mouvements de hausse et de baisse par rapport au pourcentage de la somme. Un CMO supérieur à 50 et un RSI inférieur à 25 indiquent un signal d’achat possible; un CMO inférieur à 50 et un RSI supérieur à 75 indiquent un signal de vente possible.
Identifier les niveaux de prix clés: Le code utilise une logique simple mais efficace pour identifier les hauts et les bas, en comparant les plus hauts et les plus bas de 2 cycles consécutifs et en combinant la détection des écarts standards pour s’assurer de la validité de ces points.
Système d’arrêt dynamique: un mécanisme de suivi des arrêts adaptatif basé sur l’ATR qui permet d’ajuster la distance des arrêts en multipliant la valeur par défaut de 2 pour permettre aux arrêts de s’ajuster automatiquement en fonction de la volatilité du marché, offrant des arrêts plus souples en cas de forte volatilité et plus serrés en cas de faible volatilité.
Détection de changement de tendance: Lorsque le prix franchit une trajectoire ascendante ou descendante, la variable de tendance change de 1 à 1 ou de 1 à 1, ce qui déclenche un signal de transaction.
Gestion des risquesLa stratégie comprend un paramètre de stop loss basé sur le pourcentage (défaut de 2%) et un mécanisme de profit par lots basé sur les multiples de risque (R1, 2R2, 3R), ce qui garantit que le rapport risque/rendement de chaque transaction est prévisible.
L’analyse approfondie du code de la stratégie permet de dégager les avantages notables suivants:
Très adaptableLe calcul de l’ATR permet à la stratégie de s’adapter à différentes conditions de fluctuation du marché, ce qui lui permet de rester efficace dans différentes périodes et différents environnements de marché.
Une confirmation multipleLa stratégie ne repose pas sur un seul indicateur, mais sur la combinaison de plusieurs confirmations du RSI, du CMO et des niveaux de support / résistance des prix, ce qui réduit considérablement la possibilité de faux signaux.
Gestion systématique des risquesLe blocage intégré et le mécanisme de profit à plusieurs niveaux assurent que chaque transaction suit des règles strictes de gestion des risques et évite le risque de décisions émotionnelles.
Optimisation de l’espace par paramètre: La stratégie fournit plusieurs paramètres ajustables, tels que le multiplicateur d’inspiration, le cycle ATR et la méthode de calcul, permettant aux traders d’optimiser en fonction des conditions spécifiques du marché et des préférences de risque personnelles.
Stratégie de profit par lotsL’utilisation d’une méthode de profit par lots de 1R, 2R et 3R permet de bloquer une partie des bénéfices tout en conservant une partie de la position pour capturer la tendance générale, équilibrant les besoins de profit à court terme et de gain à long terme.
Une admission flexibleLes changements de tendance sont définis de manière claire et quantifiable, évitent les jugements subjectifs et rendent l’exécution des stratégies plus cohérente et plus disciplinée.
Bien que cette stratégie présente de nombreux avantages, elle comporte des risques et des limites potentiels:
Risques de sur-optimisation: La flexibilité des paramètres est une arme à double tranchant. Une optimisation excessive peut entraîner une stratégie qui a bien fonctionné sur des données historiques mais qui ne fonctionnera pas bien dans un environnement de marché futur. La solution consiste à retester les paramètres sur plusieurs périodes et conditions de marché et à les garder concis.
Performance du marché horizontal: Dans les marchés horizontaux où il n’y a pas de tendance claire, la stratégie peut produire de fréquents faux signaux de rupture, entraînant des pertes continues. La solution est d’ajouter des filtres d’environnement de marché, de réduire ou de suspendre les transactions lorsque des marchés horizontaux sont identifiés.
Points de glissement et coûts de transaction: Dans le trading en direct, les points de glissement et les coûts de transaction peuvent avoir un impact significatif sur la performance réelle de la stratégie, en particulier dans les marchés à faible liquidité. La solution consiste à intégrer ces facteurs dans la rétro-évaluation et à envisager d’utiliser un prix limite plutôt qu’un prix de marché.
Risque de fluctuation anormale: Lors d’événements majeurs ou d’événements de couleur noire, le marché peut subir des fluctuations extrêmes au-delà des limites attendues par l’ATR, ce qui entraîne la perte de l’effet de blocage. La solution consiste à définir un montant de blocage maximal comme protection supplémentaire.
Dépendance à la volatilité historiqueL’ATR est calculé sur la base des données historiques, et la stratégie peut ne pas être adaptée à temps si la volatilité du marché augmente soudainement. La solution est d’envisager d’utiliser une version de l’indice des moyennes mobiles de l’ATR pour s’adapter plus rapidement aux changements du marché.
Sur la base d’une analyse approfondie du code, la stratégie peut être optimisée dans les directions suivantes:
Filtrage de l’environnement du marché: introduire des indicateurs de force de tendance (comme l’ADX) ou des indices de volatilité (comme le VIX) pour filtrer les signaux de négociation et ne négocier que dans un environnement de marché adapté à la stratégie. Cela est fait parce que les différentes stratégies se comportent différemment dans différents environnements de marché et que le filtrage des environnements de marché peut améliorer la performance globale de la stratégie.
Ajustement des paramètres dynamiques: mise en place d’un mécanisme d’adaptation des paramètres permettant aux multiplicateurs de sensibilité et aux cycles d’ATR de s’ajuster automatiquement en fonction de la volatilité du marché récent. Cela est dû au fait que les paramètres fixes ne sont souvent pas adaptés à toutes les conditions du marché, tandis que les paramètres dynamiques améliorent la stabilité de la stratégie.
Ajouter une confirmation de transaction: intégrer l’analyse de la transaction pour confirmer les signaux de tendance et entrer dans la transaction uniquement si la transaction est soutenue. La transaction est le moteur de la variation des prix, l’ajout de la confirmation de la transaction peut réduire les faux signaux.
Optimiser les stratégies de profitConsidérez d’utiliser des stratégies de profit plus complexes, telles que des objectifs de profit dynamiques ou des arrêts mobiles basés sur la volatilité, pour mieux capturer la tendance. Cela est dû au fait que les objectifs de profit à multiples fixes peuvent ne pas exploiter pleinement le potentiel de la tendance persistante.
Filtreur de temps: Ajouter un filtre de temps dans la journée pour éviter de négocier pendant les heures d’ouverture, de fermeture ou de faible liquidité du marché. Certaines heures du marché sont plus volatiles ou moins liquides, et le filtrage du temps permet d’éviter ces périodes défavorables.
Modèle technologique intégré: En plus des indicateurs existants, l’identification des modèles graphiques peut être intégrée comme outil de confirmation supplémentaire. Les modèles techniques représentent souvent l’état mental des acteurs du marché et peuvent fournir une confirmation supplémentaire d’entrée.
Optimisation de la gestion des fonds: Basé sur les résultats de la revue historique, développer des algorithmes de gestion de fonds plus avancés, dynamiquement ajuster la taille de la position en fonction de la performance récente de la stratégie. Une gestion efficace des fonds peut améliorer les rendements globaux et réduire les retraits.
La stratégie de négociation en continu de tendance dynamique multi-indicateurs est un système de négociation bien conçu qui identifie efficacement les points de basculement de la tendance et gère le risque de négociation en combinant le RSI, le CMO et le mécanisme de stop-loss dynamique basé sur l’ATR. Son avantage central réside dans le mécanisme de confirmation multiple, le système de stop-loss adaptatif et la méthode de gestion du risque systématisée. Bien que la stratégie soit excellente dans les marchés tendance, elle peut être confrontée à des défis dans les marchés horizontaux.
La stratégie peut être encore améliorée dans sa robustesse et son adaptabilité par la mise en œuvre de directions d’optimisation des recommandations, en particulier le filtrage de l’environnement du marché, l’ajustement des paramètres dynamiques et la confirmation des volumes de transactions. C’est un cadre stratégique à considérer pour les traders qui recherchent une approche systématique pour identifier les opportunités de tendance continue, en particulier pour ceux qui accordent une importance particulière à la gestion des risques et à la recherche de résultats de transactions cohérents.
En fin de compte, le succès de la stratégie ne dépend pas seulement du code lui-même, mais aussi de la compréhension du marché par le trader, de la discipline de gestion des risques et de la volonté d’optimisation continue. Combinée à l’analyse quantitative et à la sagesse de la négociation, la stratégie peut devenir une arme puissante dans le kit de trading.
/*backtest
start: 2024-05-13 00:00:00
end: 2025-05-11 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"DOGE_USDT"}]
*/
//@version=5
strategy("Seekho roj kamao Strategy", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
// === INPUTS ===
src = input(hl2, title="Source")
Multiplier = input.float(2,title="Sensitivity (0.5 - 5)", step=0.1, defval=2, minval=0.5, maxval=5)
atrPeriods = input.int(14,title="ATR Length", defval=10)
atrCalcMethod= input.string("Method 1",title = "ATR Calculation Methods",options = ["Method 1","Method 2"])
stopLossVal = input.float(2.0, title="Stop Loss Percent (0 for Disabling)", minval=0)
// === CALCULATIONS ===
percent(nom, div) => 100 * nom / div
src1 = ta.hma(open, 5)[1]
src2 = ta.hma(close, 12)
momm1 = ta.change(src1)
momm2 = ta.change(src2)
f1(m, n) => m >= n ? m : 0.0
f2(m, n) => m >= n ? 0.0 : -m
m1 = f1(momm1, momm2)
m2 = f2(momm1, momm2)
sm1 = math.sum(m1, 1)
sm2 = math.sum(m2, 1)
cmoCalc = percent(sm1-sm2, sm1+sm2)
hh = ta.highest(2)
h1 = ta.dev(hh, 2) ? na : hh
hpivot = fixnan(h1)
ll = ta.lowest(2)
l1 = ta.dev(ll, 2) ? na : ll
lpivot = fixnan(l1)
rsiCalc = ta.rsi(close,9)
lowPivot = lpivot
highPivot = hpivot
sup = rsiCalc < 25 and cmoCalc > 50 and lowPivot
res = rsiCalc > 75 and cmoCalc < -50 and highPivot
atr2 = ta.sma(ta.tr, atrPeriods)
atr = atrCalcMethod == "Method 1" ? ta.atr(atrPeriods) : atr2
up = src - (Multiplier * atr)
up1 = nz(up[1], up)
up := close[1] > up1 ? math.max(up, up1) : up
dn = src + (Multiplier * atr)
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? math.min(dn, dn1) : dn
trend = 1
trend := nz(trend[1], trend)
trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend
buySignal = trend == 1 and trend[1] == -1
sellSignal = trend == -1 and trend[1] == 1
// === STRATEGY LOGIC ===
longCond = buySignal
shortCond = sellSignal
sl = stopLossVal > 0 ? stopLossVal / 100 : 0.02 // default to 2% if 0
tp1 = sl
tp2 = sl * 2
tp3 = sl * 3
if (longCond)
strategy.entry("Long", strategy.long)
strategy.exit("TP1", from_entry="Long", stop=close * (1 - sl), limit=close * (1 + tp1))
strategy.exit("TP2", from_entry="Long", stop=close * (1 - sl), limit=close * (1 + tp2))
strategy.exit("TP3", from_entry="Long", stop=close * (1 - sl), limit=close * (1 + tp3))
if (shortCond)
strategy.entry("Short", strategy.short)
strategy.exit("TP1", from_entry="Short", stop=close * (1 + sl), limit=close * (1 - tp1))
strategy.exit("TP2", from_entry="Short", stop=close * (1 + sl), limit=close * (1 - tp2))
strategy.exit("TP3", from_entry="Short", stop=close * (1 + sl), limit=close * (1 - tp3))