Stratégie de divergence de l'oscillateur de tendance de volatilité,

WT VWAP
Date de création: 2024-05-28 17:43:54 Dernière modification: 2024-05-28 17:43:54
Copier: 0 Nombre de clics: 721
1
Suivre
1617
Abonnés

Stratégie de divergence de l’oscillateur de tendance de volatilité,

Aperçu

Cette stratégie combine l’indicateur WaveTrend oscillateur (WT) et le prix moyen pondéré en volume de transaction (VWAP) pour capturer les opportunités potentielles de retournement de tendance en identifiant les écarts de prix et d’indicateurs. La stratégie utilise l’ATR (Average True Range) pour déterminer la position de stop loss et ajuster dynamiquement la taille de la position en fonction du pourcentage de risque du compte.

Principe de stratégie

  1. Calculer l’indicateur d’oscillation WaveTrend ((WT): générer l’indicateur d’oscillation de la dynamique en comparant le prix actuel avec la différence entre son canal et la moyenne.
  2. Calculer le prix moyen pondéré du volume d’achat ((VWAP): utiliser le volume d’achat comme poids pour calculer le prix moyen mobile.
  3. Identifier le décalage entre les prix et l’indicateur WT: un renversement de tendance est possible lorsque les prix créent un nouveau haut/nouveau bas et que l’indicateur ne crée pas de nouveau haut/nouveau bas.
  4. Conditions d’entrée: ouvrir une position plus élevée lorsque le voyant s’écarte; ouvrir une position plus faible lorsque le voyant s’écarte.
  5. Stop loss: position de stop loss dynamique basée sur l’ATR (Average True Range)
  6. Taille de position: Taille de position pour chaque transaction ajustée dynamiquement en fonction du pourcentage de risque du compte et de la distance de stop-loss.
  7. Couleur de fond: modifie la couleur de fond en fonction du niveau de survente / survente de l’indicateur pour fournir des astuces visuelles supplémentaires.

Analyse des avantages

  1. Le suivi des tendances: en identifiant les écarts de prix et d’indicateurs, la stratégie permet de saisir les opportunités potentielles de renversement de tendance.
  2. Gestion des risques: l’utilisation d’un stop-loss dynamique basé sur l’ATR et l’ajustement de la taille de la position en fonction du pourcentage de risque permettent de contrôler les pertes potentielles.
  3. Astuce visuelle: les couleurs de fond changent en fonction de l’état de surachat/survente de l’indicateur, fournissant un signal visuel supplémentaire aux traders.
  4. Flexibilité: les paramètres de la stratégie (par exemple, la longueur des canaux, la longueur moyenne, les niveaux de survente / survente) peuvent être ajustés en fonction des différentes conditions du marché et des styles de négociation.

Analyse des risques

  1. Marché volatile: la stratégie risque de subir des pertes continues dans des conditions de marché où il n’y a pas de tendance claire.
  2. Optimisation des paramètres: la performance de la stratégie dépend en grande partie de la sélection des paramètres, et une mauvaise configuration des paramètres peut entraîner des résultats sous-optimisés.
  3. Trop de transactions: les signaux d’entrée et de sortie fréquents peuvent entraîner des coûts de transaction plus élevés et affecter la performance globale de la stratégie.

Direction d’optimisation

  1. Filtrage des tendances: Lorsqu’une déviation se produit, des indicateurs de confirmation de tendance supplémentaires (comme une moyenne mobile) sont introduits pour filtrer les faux signaux potentiels.
  2. Paramètres dynamiques: paramètres de l’indicateur ajustés en fonction de la volatilité du marché, utilisant des canaux plus courts et une longueur moyenne lorsque la volatilité est faible et des paramètres plus longs lorsque la volatilité est élevée.
  3. Stop-loss: introduire des niveaux de stop-loss dynamiques basés sur le ratio de rendement au risque ou le prix cible pour mieux gérer les positions déjà rentables.
  4. Filtrage multichamp: filtre les signaux de négociation en fonction de la direction de la tendance générale du marché (comme les moyennes mobiles à long terme) et ne négocie que dans la direction de la tendance.

Résumer

La stratégie WaveTrend Oscillator Divergence Strategy combine des indicateurs de tendance volatile et des prix moyens pondérés en volume de transactions pour identifier les opportunités potentielles de revirement de tendance. L’avantage de la stratégie réside dans sa capacité à suivre les tendances et ses mesures de gestion des risques, mais elle peut être exposée à des risques dans des marchés instables.

Code source de la stratégie
/*backtest
start: 2023-05-22 00:00:00
end: 2024-05-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("PipShiesty Swagger", overlay=true)

// WaveTrend Oscillator (WT)
n1 = input.int(10, "Channel Length")
n2 = input.int(21, "Average Length")
obLevel1 = input.float(60.0, "Overbought Level 1")
obLevel2 = input.float(53.0, "Overbought Level 2")
osLevel1 = input.float(-60.0, "Oversold Level 1")
osLevel2 = input.float(-53.0, "Oversold Level 2")

ap = hlc3
esa = ta.ema(ap, n1)
d = ta.ema(math.abs(ap - esa), n1)
ci = (ap - esa) / (0.015 * d)
tci = ta.ema(ci, n2)

// VWAP
vwap = ta.vwma(close, n1)

// Signal Line
wt1 = tci
wt2 = ta.sma(wt1, 4)

// Bullish and Bearish Divergences
bullishDivergence = (ta.lowest(close, 5) > ta.lowest(close[1], 5)) and (wt1 < wt1[1]) and (close > close[1])
bearishDivergence = (ta.highest(close, 5) < ta.highest(close[1], 5)) and (wt1 > wt1[1]) and (close < close[1])

// Plot WaveTrend Oscillator
plot(wt1, title="WT1", color=color.blue)
plot(wt2, title="WT2", color=color.red)

// Plot Divergences
plotshape(series=bullishDivergence, location=location.belowbar, color=color.green, style=shape.labelup, title="Bullish Divergence")
plotshape(series=bearishDivergence, location=location.abovebar, color=color.red, style=shape.labeldown, title="Bearish Divergence")

// Risk Management Parameters
riskPercentage = input.float(1, title="Risk Percentage per Trade", minval=0.1, step=0.1) / 100
stopLossATR = input.float(1.5, title="Stop Loss ATR Multiplier", minval=0.5, step=0.1)

// ATR Calculation
atr = ta.atr(14)

// Position Size Calculation
calculatePositionSize(stopLoss) =>
    riskAmount = strategy.equity * riskPercentage
    positionSize = riskAmount / stopLoss
    positionSize

// Entry and Exit Logic with Stop Loss
if bullishDivergence
    stopLoss = low - atr * stopLossATR
    positionSize = calculatePositionSize(close - stopLoss)
    strategy.entry("Buy", strategy.long, qty=positionSize)
    strategy.exit("Sell", from_entry="Buy", stop=stopLoss)

if bearishDivergence
    strategy.close("Buy")

// Plot VWAP
plot(vwap, title="VWAP", color=color.orange)

// Background color to indicate Overbought/Oversold conditions
bgcolor(wt1 > obLevel1 ? color.new(color.red, 90) : na, title="Overbought Level 1")
bgcolor(wt1 < osLevel1 ? color.new(color.green, 90) : na, title="Oversold Level 1")
bgcolor(wt1 > obLevel2 ? color.new(color.red, 70) : na, title="Overbought Level 2")
bgcolor(wt1 < osLevel2 ? color.new(color.green, 70) : na, title="Oversold Level 2")