Échec du canal de support et de résistance dynamique

Auteur:ChaoZhang est là., Date: 2024-01-18 à 12h30
Les étiquettes:

img

Résumé

La stratégie dynamique de rupture des canaux de support et de résistance est une stratégie puissante pour identifier les niveaux de support et de résistance clés et les signaux de rupture.

La logique de la stratégie

La stratégie calcule dynamiquement les niveaux de support et de résistance en fonction des barres gauche et droite définies par l'utilisateur. Cela fournit une flexibilité pour s'adapter aux conditions changeantes du marché. Elle génère des signaux d'achat et de vente lorsque le prix de clôture dépasse ces niveaux de support et de résistance, ainsi qu'une confirmation de volume. En outre, la stratégie intègre l'exécution automatisée de positions LONG / SHORT basées sur les conditions de support et de résistance définies, rationalisant le processus de trading global.

Plus précisément, la stratégie calcule les niveaux de support et de résistance dynamiques à l'aide des fonctions ta.pivotlow et ta.pivothigh. Ces lignes de support et de résistance sont tracées en rouge et bleu sur le graphique. Lorsque le prix de clôture franchit ces niveaux, des marques de forme B sont dessinées aux emplacements de rupture. Pendant ce temps, la stratégie intègre un oscillateur de volume utilisant des volumes moyens de 5 et 10 jours pour mesurer les augmentations de volume. Les signaux et alertes de rupture ne sont déclenchés que lorsque le volume est suffisamment grand. Enfin, la stratégie intègre des stratégies d'entrée et de sortie LONG / SHORT basées sur ces conditions de support, de résistance et de volume.

Les avantages

La stratégie présente les avantages suivants:

  1. Les niveaux de soutien et de résistance dynamiques s'adaptent aux changements du marché
  2. La confirmation du volume assure la signification des écarts
  3. Les indices graphiques mettent en évidence les points critiques
  4. Une stratégie commerciale intégrée simplifie le flux de travail
  5. Les paramètres personnalisables augmentent l'adaptabilité

Dans l'ensemble, la stratégie identifie, visualise et exploite de manière exhaustive les points clés de rupture des supports et des résistances, ce qui facilite grandement les traders dans le choix du moment de négociation optimal et améliore considérablement les chances de succès des transactions.

Les risques

Les risques potentiels de la stratégie comprennent principalement:

  1. Le risque de rupture invalide. Les points de rupture peuvent former de fausses ruptures, entraînant des pertes inutiles. Cela peut être atténué en établissant des exigences de confirmation plus strictes en matière de volume et de fluctuation des prix.

  2. Risque d'optimisation des paramètres. Des niveaux de support et de résistance inexacts peuvent être calculés si les barres gauche/droite, etc., sont définies de manière inappropriée. Des barres gauche/droite appropriées doivent être sélectionnées en fonction des caractéristiques de négociation des différents produits.

  3. Risque d'optimisation excessive. Une optimisation excessive des paramètres peut entraîner un surajustement. Un backtesting et une validation appropriés doivent être effectués pour éviter une optimisation excessive sur des données limitées.

  4. Risque de coût de transaction. Les transactions fréquentes peuvent entraîner des commissions plus élevées. Les facteurs de prise de profit ou d'autres moyens de contrôler la fréquence des transactions doivent être considérés.

Directions de renforcement

La stratégie peut être améliorée dans les aspects suivants:

  1. Ajouter des conditions d'arrêt de perte pour contrôler une perte unique.

  2. Optimiser les facteurs de prise de profit pour déterminer les points de prise de profit optimaux.

  3. Testez différentes combinaisons de paramètres pour déterminer les paramètres optimaux.

  4. Ajustez les paramètres de la barre gauche/droite en fonction des différents produits.

  5. Ajouter d'autres filtres, par exemple la volatilité des prix, pour mieux évaluer la probabilité de rupture.

  6. Essayez d'utiliser différents indicateurs de confirmation du volume, par exemple des écarts de volume élevés.

  7. Incorporer d'autres stratégies ou indicateurs pour une meilleure intégration.

Conclusion

La stratégie de rupture de canal de support et de résistance dynamique tire parti des concepts de support et de résistance de l'analyse technique des graphiques, ainsi que de l'analyse du volume pour confirmer l'importance des ruptures, afin de découvrir efficacement les points de tournant critiques du marché.


/*backtest
start: 2024-01-10 00:00:00
end: 2024-01-17 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Support and Resistance channel with Breaks p5", shorttitle="Support and Resistance channel with Breaks [cryptoonchain]", overlay=true, max_bars_back=1000)

// Input variables
toggleBreaks = input(true, title="Show Breaks")
leftBars = input(15, title="Left Bars")
rightBars = input(15, title="Right Bars")
volumeThresh = input(20, title="Volume Threshold")

// Calculate pivot levels
highUsePivot = fixnan(ta.pivothigh(leftBars, rightBars)[1])
lowUsePivot = fixnan(ta.pivotlow(leftBars, rightBars)[1])

// Plot resistance and support lines
r1 = plot(highUsePivot, color=color.new(na(highUsePivot) ? na : #FF0000, 0), linewidth=3, offset=-(rightBars + 1), title="Resistance")
s1 = plot(lowUsePivot, color=color.new(na(lowUsePivot) ? na : #233dee, 0), linewidth=3, offset=-(rightBars + 1), title="Support")

// Volume %
short = ta.ema(volume, 5)
long = ta.ema(volume, 10)
osc = 100 * (short - long) / long

// Plot shapes for breaks with volume
plotshape(toggleBreaks and ta.crossunder(close, lowUsePivot) and not (open - close < high - open) and osc > volumeThresh, title="Break", text='B', style=shape.labeldown, location=location.abovebar, color=color.red, textcolor=color.white, transp=0, size=size.tiny)
plotshape(toggleBreaks and ta.crossover(close, highUsePivot) and not (open - low > close - open) and osc > volumeThresh, title="Break", text='B', style=shape.labelup, location=location.belowbar, color=color.green, textcolor=color.white, transp=0, size=size.tiny)

// Alert conditions
alertcondition(ta.crossunder(close, lowUsePivot) and osc > volumeThresh, title="Support Broken", message="Support Broken")
alertcondition(ta.crossover(close, highUsePivot) and osc > volumeThresh, title="Resistance Broken", message="Resistance Broken")

// Strategy conditions with filter
longCondition = low > highUsePivot and osc > volumeThresh
shortCondition = high < lowUsePivot and osc > volumeThresh


// Strategy entries
strategy.entry("My Long Entry Id", strategy.long, when=longCondition)
strategy.entry("My Short Entry Id", strategy.short, when=shortCondition)


Plus de