
Le système de trading multi-indicateurs combinant suivi de la tendance et dynamisme est une stratégie de trading quantitative de type global qui identifie les tendances du marché et les signaux de trading en combinant quatre indicateurs techniques: l’indice de la moyenne mobile ((EMA), l’indice de la dispersion de la convergence des moyennes mobiles ((MACD), l’indice de la force relative ((RSI) et l’indice de direction moyenne ((ADX)). La stratégie est conçue pour capturer la dynamique des variations de prix en cas de confirmation d’une tendance, tout en offrant des fonctions de gestion des risques telles que les arrêts, les arrêts de perte et les arrêts de perte mobiles, pour une performance de trading robuste.
Le principe central de la stratégie est de confirmer les signaux de transaction par une résonance multi-indicateurs, en suivant strictement le principe de la négociation “en cours”. Plus précisément, la stratégie fonctionne sur la base des composants clés suivants:
Confirmation de la tendance: Utilisez une EMA de 100 cycles pour déterminer la tendance actuelle du marché. Lorsque le prix est au-dessus de l’EMA, il est considéré comme étant en tendance à la hausse; lorsque le prix est en dessous de l’EMA, il est considéré comme étant en tendance à la baisse.
Signaux de vitesse: Capture des variations de la dynamique des prix via les indicateurs MACD ((12,26,9)). Plus précisément, des signaux d’achat sont générés lorsque le MACD traverse la ligne de signaux en ligne; des signaux de vente sont générés lorsque le MACD traverse la ligne de signaux en ligne.
Le marché est fortLe RSI plus grand que 50 est considéré comme un poids du marché et convient pour faire plus; le RSI inférieur à 50 est considéré comme un poids du marché et convient pour faire moins.
Intensité de la tendance: l’indicateur ADX ((14) est utilisé pour mesurer la force de la tendance. Lorsque la valeur ADX est supérieure au seuil défini ((par défaut 20), cela indique qu’il existe une tendance évidente sur le marché et que l’entrée en bourse peut être envisagée.
Conditions d’entrée:
Gestion des risquesLa stratégie offre deux types de sorties:
Vérification multidimensionnelle: Le risque de faux signaux est considérablement réduit en combinant des indicateurs techniques de quatre fonctions différentes pour confirmer les signaux de négociation en plusieurs dimensions, allant de la tendance, de la dynamique, de la faiblesse et de la force de la tendance.
Très adaptable: les paramètres de la stratégie peuvent être ajustés en fonction des différents marchés et périodes de temps, sont très flexibles et ont une large portée. En ajustant les paramètres périodiques de l’EMA, du RSI, du MACD et de l’ADX, il est possible de s’adapter à différents environnements de marché volatiles.
Une parfaite maîtrise des risques: La stratégie intègre des mécanismes de stop, stop loss et mobile stop loss, qui permettent de contrôler efficacement le risque de chaque transaction. En particulier, la fonction mobile stop loss permet de maintenir une activité rentable tout en protégeant une activité déjà rentable.
Combinaison de tendances et de dynamiqueLa stratégie prend en compte à la fois les grandes tendances (via EMA) et les changements de dynamique à court terme (via MACD) et est capable de capturer les meilleurs points d’entrée dans les tendances.
Filtrer les personnes vulnérables: La stratégie permet de filtrer automatiquement les mouvements de choc en réglant le seuil de l’indicateur ADX et de négocier uniquement dans des conditions de marché clairement tendance, ce qui améliore le taux de victoire.
La souplesse dans la gestion des fondsStratégie: Utiliser le pourcentage de fonds du compte pour la gestion des positions, en utilisant par défaut 10% de fonds pour chaque transaction, ce qui favorise une bonne gestion à long terme.
Rarité du signal: En raison de l’utilisation de plusieurs indicateurs techniques, en particulier les moyennes mobiles à plus longues périodes des EMA ((100), la stratégie peut être lente à réagir au début d’un renversement de tendance et être susceptible de manquer les meilleurs points d’entrée ou de rester en position à la fin d’une tendance.
Une dépendance excessive à l’égard des indicateurs techniquesLa stratégie fonctionne entièrement sur la base d’indicateurs techniques, sans tenir compte de facteurs tels que les fondamentaux et l’humeur du marché, qui peuvent être sous-performants dans certains environnements de marché particuliers (comme les grands communiqués de presse, les événements de Black Swan).
Paramètre SensibilitéLa performance d’une stratégie est fortement dépendante de la configuration des paramètres, dont les combinaisons varient considérablement selon les environnements de marché et nécessitent une optimisation et un ajustement continus.
Les risques de retrait: Malgré la mise en place d’un mécanisme de stop loss, dans des conditions de marché extrêmes (par exemple, des hausses de prix ou une mobilité insuffisante), le prix de stop loss réel peut être très éloigné de l’attente, ce qui entraîne des pertes supérieures à celles attendues.
Risques liés à la fréquence des transactionsLes indices peuvent souvent générer des signaux de croisement, ce qui entraîne une sur-échange et augmente les coûts de transaction.
Optimiser les risques excessifs: L’optimisation des paramètres à l’aide de la rétroaction historique peut entraîner une suradaptation des données historiques, ce qui rend la stratégie moins performante dans les disques réels futurs.
Ajout de conditions de filtrageOn peut envisager d’ajouter des indicateurs de volume de transactions (comme OBV ou CMF) pour confirmer la tendance des prix, ou d’ajouter des indicateurs de volatilité (comme ATR) pour ajuster la taille de la position et l’amplitude d’arrêt, améliorer la qualité du signal.
Optimiser le temps d’entréeIl est possible d’envisager d’attendre le retour de la période de temps de niveau mineur comme point d’entrée après avoir satisfait aux conditions de base, plutôt que d’entrer directement lorsque le signal apparaît, pour obtenir un meilleur prix d’entrée.
Ajustement des paramètres dynamiquesIl est possible d’ajuster dynamiquement les paramètres de l’indicateur en fonction de la volatilité du marché ou de l’intensité de la tendance, par exemple en augmentant les cycles EMA dans les marchés à forte volatilité et en réduisant les cycles EMA dans les marchés à faible volatilité, ce qui rend la stratégie plus adaptative.
Ajout de filtres de baseIl peut être envisagé de suspendre les transactions avant la publication de données économiques ou de rapports financiers importants, afin d’éviter les risques de fluctuations anormales causées par la publication d’informations importantes.
Améliorer la gestion des fondsIl est possible d’ajuster dynamiquement la taille de la position en fonction de la volatilité du marché ou de l’intensité des signaux de négociation, par exemple en augmentant la position en cas de forte résonance de plusieurs indicateurs et en réduisant la position lorsque les indicateurs répondent à peine aux conditions.
Ajouter un filtre temporelIl est possible d’ajouter des conditions de filtrage temporel, d’éviter les périodes de volatilité avant l’ouverture et la fermeture du marché, ou de négocier uniquement à des périodes de négociation spécifiques (comme les périodes d’intersection entre l’Europe et les États-Unis).
Intégrer l’apprentissage automatiqueL’utilisation d’algorithmes d’apprentissage automatique peut être envisagée pour optimiser les paramètres de l’indicateur ou pour prédire la fiabilité du signal et améliorer l’adaptabilité et la stabilité de la stratégie.
Un système de trading multi-indicateurs combinant suivi de tendance et dynamisme est une stratégie de trading intégrée combinant le suivi de tendance et la dynamisme. La confirmation par résonance des quatre indicateurs techniques EMA, MACD, RSI et ADX, la sélection rigoureuse des signaux de négociation et un mécanisme de gestion du risque bien conçu visent à obtenir une performance de négociation robuste dans un environnement de marché marqué par une tendance.
/*backtest
start: 2025-04-23 00:00:00
end: 2025-04-26 00:00:00
period: 2m
basePeriod: 2m
exchanges: [{"eid":"Futures_Binance","currency":"DOGE_USDT"}]
*/
//@version=5
strategy("Multi-Indicator Strategy By Arvind Dodke [EMA+MACD+RSI+ADX]", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === INPUTS ===
emaLength = input.int(100, title="EMA Length")
rsiLength = input.int(14, title="RSI Length")
macdFast = input.int(12, title="MACD Fast Length")
macdSlow = input.int(26, title="MACD Slow Length")
macdSignal = input.int(9, title="MACD Signal Length")
adxLength = input.int(14, title="ADX Length")
adxThreshold = input.float(20.0, title="ADX Threshold")
tpPerc = input.float(3.0, title="Take Profit (%)") / 100
slPerc = input.float(1.5, title="Stop Loss (%)") / 100
useTrailing = input.bool(true, title="Use Trailing Stop?")
trailPerc = input.float(1.8, title="Trailing Stop (%)") / 100
// === INDICATORS ===
ema = ta.ema(close, emaLength)
rsi = ta.rsi(close, rsiLength)
[macdLine, signalLine, _] = ta.macd(close, macdFast, macdSlow, macdSignal)
[plusDI, minusDI, adxValue] = ta.dmi(adxLength, 14)
// === CONDITIONS ===
// Buy Conditions
bullTrend = close > ema
macdBull = ta.crossover(macdLine, signalLine)
rsiBull = rsi > 50
adxStrong = adxValue > adxThreshold
longCondition = bullTrend and macdBull and rsiBull and adxStrong
// Sell Conditions
bearTrend = close < ema
macdBear = ta.crossunder(macdLine, signalLine)
rsiBear = rsi < 50
shortCondition = bearTrend and macdBear and rsiBear and adxStrong
// === STRATEGY EXECUTION ===
if (longCondition)
strategy.entry("Long", strategy.long)
if useTrailing
strategy.exit("Exit Long Trail", from_entry="Long", trail_points=trailPerc * close / syminfo.mintick, trail_offset=trailPerc * close / syminfo.mintick)
else
strategy.exit("Exit Long TP/SL", from_entry="Long", profit=tpPerc * close / syminfo.mintick, loss=slPerc * close / syminfo.mintick)
if (shortCondition)
strategy.entry("Short", strategy.short)
if useTrailing
strategy.exit("Exit Short Trail", from_entry="Short", trail_points=trailPerc * close / syminfo.mintick, trail_offset=trailPerc * close / syminfo.mintick)
else
strategy.exit("Exit Short TP/SL", from_entry="Short", profit=tpPerc * close / syminfo.mintick, loss=slPerc * close / syminfo.mintick)
// === PLOT ===
plot(ema, color=color.orange, title="100 EMA")