Les ressources ont été chargées... Je charge...

Stratégie de divergence de l'oscillateur WaveTrend

Auteur:ChaoZhang est là., Date: 2024-05-28 17:43:54 La date est fixée à
Les étiquettes:WTVWAP

img

Résumé

Cette stratégie combine l'oscillateur WaveTrend (WT) et le prix moyen pondéré par volume (VWAP) pour capturer les opportunités potentielles d'inversion de tendance en identifiant les divergences entre le prix et l'indicateur. La stratégie utilise la plage moyenne vraie (ATR) pour déterminer les niveaux de stop-loss et ajuste dynamiquement la taille des positions en fonction du pourcentage de risque du compte.

Principes de stratégie

  1. Calculer l'oscillateur WaveTrend (WT): Générer un oscillateur de momentum en comparant le prix actuel avec son canal et sa moyenne.
  2. Calcul du prix moyen pondéré par volume (VWAP): Calcul du prix moyen mobile pondéré par volume.
  3. Identifier les divergences entre le prix et l'indicateur WT: Un renversement de tendance potentiel est indiqué lorsque le prix atteint un nouveau sommet/bas alors que l'indicateur ne le fait pas.
  4. Conditions d'entrée: ouvrir une position longue lorsqu'une divergence haussière est identifiée; fermer la position lorsqu'une divergence baissière est identifiée.
  5. Le montant de la garantie est calculé en fonction de l'indicateur de risque.
  6. Taille des positions: ajustez dynamiquement la taille des positions pour chaque transaction en fonction du pourcentage de risque du compte et de la distance stop-loss.
  7. Couleur d'arrière-plan: modifier la couleur d'arrière-plan en fonction des niveaux de surachat/survente de l'indicateur, fournissant des indices visuels supplémentaires.

Analyse des avantages

  1. Suivi de tendance: en identifiant les divergences entre le prix et l'indicateur, la stratégie peut saisir les opportunités potentielles d'inversion de tendance.
  2. Gestion des risques: l'utilisation d'un système dynamique d'arrêt des pertes basé sur l'ATR et de la taille des positions basée sur le pourcentage de risque permet de contrôler les pertes potentielles.
  3. Indices visuels: La couleur de fond change en fonction de l'état de surachat/survente de l'indicateur, fournissant des signaux visuels supplémentaires aux traders.
  4. Flexibilité: les paramètres de la stratégie (par exemple, longueur du canal, longueur moyenne, niveaux de surachat/survente) peuvent être ajustés en fonction des différentes conditions du marché et des styles de négociation.

Analyse des risques

  1. Marchés instables: dans des conditions de marché sans tendance claire, la stratégie peut subir des pertes consécutives.
  2. Optimisation des paramètres: les performances de la stratégie dépendent en grande partie du choix des paramètres, et des paramètres sous-optimaux peuvent entraîner des résultats inférieurs à la moyenne.
  3. Surtrading: les signaux d'entrée et de sortie fréquents peuvent entraîner des coûts de négociation élevés, ce qui affecte le rendement global de la stratégie.

Directions d'optimisation

  1. Filtres de tendance: introduire des indicateurs de confirmation de tendance supplémentaires (par exemple, des moyennes mobiles) lorsque des divergences se produisent pour filtrer les faux signaux potentiels.
  2. Paramètres dynamiques: ajuster les paramètres de l'indicateur en fonction de la volatilité du marché, en utilisant des canaux plus courts et des longueurs moyennes lors d'une faible volatilité et des paramètres plus longs lors d'une forte volatilité.
  3. Prise de bénéfices: introduire des niveaux de prise de bénéfices dynamiques basés sur des ratios risque-rendement ou des prix cibles pour mieux gérer les positions rentables.
  4. Filtres long/short: Filtre les signaux de négociation basés sur la direction générale de la tendance du marché (par exemple, les moyennes mobiles à long terme) pour ne négocier que dans la direction de la tendance.

Résumé

La stratégie de divergence de l'oscillateur WaveTrend combine l'indicateur WaveTrend et le prix moyen pondéré par volume pour identifier les opportunités potentielles d'inversion de tendance. Les forces de la stratégie résident dans ses capacités de suivi de tendance et ses mesures de gestion des risques, mais elle peut faire face à des risques sur des marchés agités. La stratégie peut être optimisée en introduisant des filtres supplémentaires, des ajustements de paramètres dynamiques et des règles d'entrée et de sortie améliorées.


/*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")


Relationnée

Plus de