Stratégie de trading avec filtre de momentum bidirectionnel RSI-ADX

RSI ADX DI DM TR RMA
Date de création: 2025-08-13 14:10:20 Dernière modification: 2025-08-13 14:10:20
Copier: 5 Nombre de clics: 229
2
Suivre
319
Abonnés

Stratégie de trading avec filtre de momentum bidirectionnel RSI-ADX Stratégie de trading avec filtre de momentum bidirectionnel RSI-ADX

Aperçu

La stratégie est un système de trading bidirectionnel qui combine un indice relativement faible (RSI) et un indice directionnel moyen (ADX). La stratégie identifie les signaux de survente et de survente par le RSI à 8 cycles et par le filtrage ADX à 20 cycles pour capturer les occasions de revirement dans les tendances fortes. La stratégie utilise un mode de calcul manuel de l’ADX pour mesurer avec précision la force de la tendance grâce à un traitement lisse du mouvement directionnel (DM) et de la vraie amplitude de la vague (TR). La stratégie met en place une gestion de position à 10%, prend en charge les opérations bidirectionnelles de prise de plus et de prise de moins, et convient aux types de transactions présentant des caractéristiques de tendance évidentes.

Principe de stratégie

La logique centrale de la stratégie est basée sur la synergie de deux indicateurs techniques. Tout d’abord, l’utilisation du RSI à 8 cycles comme principal générateur de signaux de négociation, produisant un signal de do plus lorsque le RSI atteint 70 et un signal de do-plus lorsque le RSI atteint 30. Cette logique d’opération inverse est basée sur les caractéristiques du marché de la régression des valeurs extrêmes.

Deuxièmement, la stratégie introduit l’ADX comme filtre de force de tendance. Le processus de calcul de l’ADX comprend: le calcul du mouvement ascendant ((upMove) et du mouvement descendant ((downMove), la détermination du mouvement directionnel positif ((+DM) et du mouvement directionnel négatif ((-DM), le calcul de l’indicateur directionnel positif ((+DI) et de l’indicateur directionnel négatif ((-DI) via le traitement en douceur RMA, et enfin le calcul de la valeur de l’ADX par la normalisation de la différence de DI.

Le mécanisme d’exit utilise les extrêmes RSI inversés comme signal de plage: les positions à plusieurs têtes sont placées à la plage lorsque le RSI est inférieur à 30 et les positions à vide sont placées à la plage lorsque le RSI est supérieur à 70. Cette conception garantit une sortie en temps opportun lorsque la tendance peut être inversée.

Avantages stratégiques

  1. Mécanisme de double filtrationL’ADX assure la négociation uniquement lorsque la tendance est claire, ce qui réduit efficacement les faux signaux dans les marchés en crise.

  2. Des échanges bidirectionnels flexiblesLes stratégies permettent de capturer à la fois les tendances à la hausse et à la baisse, d’améliorer l’efficacité de l’utilisation des fonds et de générer des opportunités de profit dans des conditions de marché différentes.

  3. Optimisation des paramètres raisonnable: le RSI à 8 cycles est plus sensible que le RSI à 14 cycles traditionnels et capte plus rapidement les changements du marché; l’ADX à 20 cycles fournit un jugement de tendance stable; le seuil de l’ADX à 14 cycles est un niveau efficace vérifié par le marché.

  4. Les risques sont maîtrisésLa mise en place d’un placement de 10% et une règle claire d’arrêt et de sortie permettent de contrôler efficacement le risque d’une seule transaction.

  5. Calcul précis et fiable: implémentation manuelle du calcul ADX, évitant les différences de version possibles entre les fonctions intégrées et assurant la cohérence des stratégies sur les différentes plateformes.

Risque stratégique

  1. Risques liés à la négociation inversée: Dans une tendance extrêmement forte, le RSI peut être en surachat ou en survente pendant de longues périodes, ce qui entraîne une entrée prématurée avec des fluctuations plus importantes. Il est recommandé d’ajouter une deuxième confirmation de la force de la tendance, si le prix franchit la résistance du support critique.

  2. Le problème du retardL’ADX est un indicateur de suivi de la tendance qui présente un retard intrinsèque et peut ne pas être confirmé avant la fin de la tendance. Des jugements auxiliaires peuvent être envisagés en combinaison avec l’action des prix ou l’indicateur de volume de transaction.

  3. La réaction de la bourse: Bien que l’ADX filtre une partie de l’oscillation, des signaux d’entrée et de sortie fréquents peuvent être générés lorsque la valeur de l’ADX est proche de la barre. Il est recommandé de définir une zone de couverture ADX, comme une entrée exigeant ADX> 15 et une autorisation d’ADX> 13 pendant le maintien de la position.

  4. Les risques extrêmes du marché: Dans un mouvement rapide et unilatéral, la contre-opération peut entraîner de lourdes pertes. Il est recommandé d’augmenter le seuil de perte maximale ou le mécanisme de stop-loss.

Orientation de l’optimisation de la stratégie

  1. Ajustement des paramètres dynamiques: Ajuster les cycles RSI et les seuils ADX en fonction de la dynamique des fluctuations du marché. Utilisez des cycles plus longs pendant les périodes de forte volatilité pour réduire le bruit, et des cycles plus courts pendant les périodes de faible volatilité pour augmenter la sensibilité.

  2. Confirmation de plusieurs périodes: sur la base des signaux de la période actuelle, ajouter la confirmation de la tendance à une période plus élevée pour s’assurer que la direction de la transaction est conforme à la tendance principale.

  3. Optimisation de la gestion des positionsIl est également possible d’envisager une stratégie de prise de position pyramidale, qui consiste à augmenter progressivement les positions après la confirmation de la tendance.

  4. Optimisation des pertes: Ajout d’un stop basé sur l’ATR en plus du signal de revers du RSI, pour donner suffisamment de marge de manœuvre à la position tout en protégeant les bénéfices.

  5. Filtrage du signal renforcéAugmentation des conditions auxiliaires telles que la confirmation du volume de transaction, l’identification de la forme des prix, amélioration de la qualité du signal. Par exemple, demandez une amplification accompagnée d’une percée ou une transaction n’est exécutée qu’à proximité des points de résistance de support critique.

Résumer

La stratégie RSI-ADX bi-directionnelle de négociation de filtrage de dynamique est un système de négociation quantifié soigneusement conçu pour saisir les opportunités du marché en combinant les avantages de l’indicateur de dynamique et de l’indicateur de tendance, tout en maîtrisant les risques. L’innovation centrale de la stratégie réside dans l’utilisation de signaux de dynamique de dynamique de tendance, évitant les limites d’un seul indicateur.

Code source de la stratégie
/*backtest
start: 2024-08-13 00:00:00
end: 2025-08-11 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":5000000}]
*/

//@version=6
strategy("RSI & ADX Long/Short Strategy v6 (Manual ADX)", overlay=true, 
     margin_long=100, margin_short=100, 
     default_qty_type=strategy.percent_of_equity, default_qty_value=10)

//--------------------
// Parameters
//--------------------
rsiLength     = 8
adxLength     = 20
adxThreshold  = 14.0

//--------------------
// RSI
//--------------------
rsiVal = ta.rsi(close, rsiLength)

//--------------------
// Manual ADX Calculation
//--------------------
upMove   = high - high[1]
downMove = low[1] - low

plusDM  = (upMove > downMove and upMove > 0)   ? upMove : 0
minusDM = (downMove > upMove and downMove > 0) ? downMove : 0

tr       = ta.rma(ta.tr(true), adxLength)
plusDI   = 100 * ta.rma(plusDM, adxLength) / tr
minusDI  = 100 * ta.rma(minusDM, adxLength) / tr
dx       = 100 * math.abs(plusDI - minusDI) / (plusDI + minusDI)
adxVal   = ta.rma(dx, adxLength)  // <-- Final ADX value

//--------------------
// Entry/Exit Conditions
//--------------------
longEntry  = ta.crossover(rsiVal, 70) and adxVal > adxThreshold
shortEntry = ta.crossunder(rsiVal, 30) and adxVal > adxThreshold

longExit  = ta.crossunder(rsiVal, 30)
shortExit = ta.crossover(rsiVal, 70)

//--------------------
// Orders
//--------------------
if longEntry
    strategy.entry("Long", strategy.long)
if longExit
    strategy.close("Long")

if shortEntry
    strategy.entry("Short", strategy.short)
if shortExit
    strategy.close("Short")

//--------------------
// Plots
//--------------------
plot(rsiVal, title="RSI(8)", color=color.new(color.blue, 0))
hline(70, 'RSI Overbought', color=color.red)
hline(30, 'RSI Oversold', color=color.green)

plot(adxVal, title="ADX(20)", color=color.new(color.orange, 0))
hline(adxThreshold, 'ADX Threshold', color=color.gray, linestyle=hline.style_dotted)