Stratégie de suivi des tendances dynamiques et de trading de réentrée ATR

ATR SMA MA
Date de création: 2025-02-18 15:11:28 Dernière modification: 2025-02-18 15:11:28
Copier: 1 Nombre de clics: 362
1
Suivre
1617
Abonnés

Stratégie de suivi des tendances dynamiques et de trading de réentrée ATR

Aperçu

Il s’agit d’une stratégie de suivi de la tendance basée sur l’ajustement ATR dynamique, combinant les moyennes mobiles et les indicateurs ATR pour déterminer les points d’entrée et de sortie. La caractéristique centrale de cette stratégie est la trajectoire ascendante et descendante des moyennes mobiles via l’ajustement ATR dynamique, l’entrée est plus importante lorsque le prix franchit la trajectoire, et les points d’arrêt et d’arrêt sont basés sur le multiplicateur ATR.

Principe de stratégie

La stratégie est basée sur les éléments clés suivants:

  1. Utilisez les moyennes mobiles ajustées ATR comme base de jugement de tendance pour former une trajectoire ascendante et descendante dynamique
  2. Le prix d’entrée est le prix de clôture actuel.
  3. Le stop loss est placé à 2 fois la distance ATR en dessous du prix d’entrée
  4. La position d’arrêt est définie comme étant au-dessus du prix d’entrée ((5 + multiples personnalisés) × distance ATR
  5. Après le déclenchement d’un stop loss ou d’une pause, la stratégie réinitialise automatiquement l’entrée si le prix est ramené à son prix d’entrée initial.
  6. Utilisez une limite d’affichage de 30 lignes K maximum pour optimiser l’affichage du graphique

Avantages stratégiques

  1. Adaptation dynamique: les moyennes mobiles ajustées par l’ATR sont adaptées aux fluctuations du taux de volatilité du marché
  2. La science de la gestion des risques: les points d’arrêt et de rupture sont basés sur des paramètres ATR dynamiques, conformes aux caractéristiques de la volatilité du marché
  3. Innovation du mécanisme de réinsertion: permet une réinsertion en cas de reprise des prix vers une position avantageuse, améliorant les chances de profit
  4. L’effet visuel est excellent: les stratégies offrent des lignes d’entrée, d’arrêt et d’arrêt claires pour faciliter la surveillance des transactions.
  5. La flexibilité des paramètres: les périodes de jugement de tendance et les multiples de frein peuvent être ajustés par des paramètres d’entrée

Risque stratégique

  1. Risque de renversement de tendance: les stop loss peuvent être fréquemment déclenchés dans les marchés en crise
  2. Risque de réentrée: un redressement des prix vers le point d’entrée et la reconstruction de la position pourraient faire face à des arrêts de perte continus
  3. Risque de glissement: pendant les périodes de forte volatilité, le prix de transaction réel peut être dévié du prix du signal
  4. Sensitivité des paramètres: les paramètres optimaux peuvent varier considérablement selon les conditions du marché
  5. Charge de calcul: plusieurs indicateurs techniques doivent être calculés en temps réel, ce qui peut augmenter la charge du système

Orientation de l’optimisation de la stratégie

  1. Introduction de filtres d’environnement de marché: un filtre de volatilité peut être ajouté pour ajuster les paramètres de stratégie ou suspendre les transactions pendant les périodes de forte volatilité
  2. Optimisation de la logique de réintégration: il est possible d’envisager d’adopter des restrictions conditionnelles plus strictes lors de la réintégration, telles que des indicateurs de confirmation de tendance
  3. Amélioration des mécanismes d’arrêt: mise en place d’un arrêt de perte mobile pour protéger davantage de bénéfices si la tendance se poursuit
  4. Augmentation du filtrage temporel: ajout d’une limite de période de transaction pour éviter les périodes de faible liquidité
  5. Optimiser l’efficacité des calculs: améliorer l’efficacité de l’exécution des stratégies en réduisant les calculs et les dessins inutiles

Résumer

Il s’agit d’une stratégie de suivi de tendance conçue de manière rationnelle, logique et claire, offrant une bonne adaptabilité au marché grâce à l’ajustement dynamique de l’ATR. Le mécanisme de réentrée de la stratégie est un point d’innovation capable de fournir des opportunités de profit supplémentaires dans de bonnes conditions de marché. Bien qu’il existe des points de risque qui méritent d’être pris en compte, la stabilité et la rentabilité de la stratégie peuvent être encore améliorées par l’orientation de l’optimisation proposée.

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

//@version=6
strategy("KON SET By Sai", overlay=true, max_lines_count=40)

// INPUTS
length = input.int(10, "Trend Length")
target_multiplier = input.int(0, "Set Targets") // Target adjustment
max_bars = 30  // Number of bars to display the lines after signal

// VARIABLES
var bool inTrade = false
var float entryPrice = na
var float stopLoss = na
var float targetPrice = na
var int barCount = na  // Counter to track how many bars have passed since signal

// ATR for stop-loss and target calculation
atr_value = ta.sma(ta.atr(200), 200) * 0.8

// Moving averages for trend detection
sma_high = ta.sma(high, length) + atr_value
sma_low = ta.sma(low, length) - atr_value

// Signal conditions for trend changes
signal_up = ta.crossover(close, sma_high)
signal_down = ta.crossunder(close, sma_low)

// Entry conditions
if not inTrade and signal_up
    entryPrice := close
    stopLoss := close - atr_value * 2
    targetPrice := close + atr_value * (5 + target_multiplier)
    strategy.entry("Long", strategy.long)
    strategy.exit("Exit Long", "Long", stop=stopLoss, limit=targetPrice)
    inTrade := true
    barCount := 0  // Reset bar count when signal occurs

// Exit conditions
if inTrade and (close <= stopLoss or close >= targetPrice)
    inTrade := false
    entryPrice := na
    stopLoss := na
    targetPrice := na
    barCount := na  // Reset bar count on exit

// Re-entry logic
if not inTrade and close == entryPrice
    entryPrice := close
    stopLoss := close - atr_value * 2
    targetPrice := close + atr_value * (5 + target_multiplier)
    strategy.entry("Re-Long", strategy.long)
    strategy.exit("Re-Exit Long", "Re-Long", stop=stopLoss, limit=targetPrice)
    inTrade := true
    barCount := 0  // Reset bar count when re-entry happens

// Count bars since the signal appeared (max 30 bars)
if inTrade and barCount < max_bars
    barCount := barCount + 1

// Plotting lines for entry, stop-loss, and targets (Only during active trade and within max_bars)
entry_line = plot(inTrade and barCount <= max_bars ? entryPrice : na, title="Entry Price", color=color.new(color.green, 0), linewidth=1, style=plot.style_cross)
sl_line = plot(inTrade and barCount <= max_bars ? stopLoss : na, title="Stop Loss", color=color.new(color.red, 0), linewidth=1, style=plot.style_cross)
target_line = plot(inTrade and barCount <= max_bars ? targetPrice : na, title="Target Price", color=color.new(color.blue, 0), linewidth=1, style=plot.style_cross)

// Background color between entry and target/stop-loss (Only when inTrade and within max_bars)
fill(entry_line, target_line, color=color.new(color.green, 90), title="Target Zone")
fill(entry_line, sl_line, color=color.new(color.red, 90), title="Stop-Loss Zone")

// Label updates (reduce overlap and clutter)
if bar_index % 50 == 0 and inTrade and barCount <= max_bars  // Adjust label frequency for performance
    label.new(bar_index + 1, entryPrice, text="Entry: " + str.tostring(entryPrice, "#.##"), style=label.style_label_left, color=color.green, textcolor=color.white, size=size.small)
    label.new(bar_index + 1, stopLoss, text="Stop Loss: " + str.tostring(stopLoss, "#.##"), style=label.style_label_left, color=color.red, textcolor=color.white, size=size.small)
    label.new(bar_index + 1, targetPrice, text="Target: " + str.tostring(targetPrice, "#.##"), style=label.style_label_left, color=color.blue, textcolor=color.white, size=size.small)