Die Ressourcen sind geladen. Beförderung...

Strategie für die Divergenz des WaveTrend-Oszillators

Schriftsteller:ChaoZhang, Datum: 2024-05-28 17:43:54
Tags:WTVWAP

img

Übersicht

Diese Strategie kombiniert den WaveTrend Oscillator (WT) und den Volumengewichteten Durchschnittspreis (VWAP), um potenzielle Trendumkehrmöglichkeiten zu erfassen, indem Abweichungen zwischen Preis und Indikator ermittelt werden. Die Strategie verwendet die Durchschnittswahrhafte Bandbreite (ATR) zur Bestimmung von Stop-Loss-Levels und passt die Positionsgröße dynamisch an, basierend auf dem Konto-Risiko-Prozentsatz. Die Hauptstärken der Strategie liegen in ihren Trendverfolgungsfähigkeiten und Risikomanagementmaßnahmen, aber sie kann in unruhigen Märkten Verluste erleiden. Zu den Optimierungsrichtungen gehören das Hinzufügen zusätzlicher Filter und die Verbesserung der Ein- und Ausstiegsregeln.

Strategieprinzipien

  1. Berechnen Sie den WaveTrend-Oszillator (WT): Erstellen Sie einen Momentumsoszillator, indem Sie den aktuellen Preis mit seinem Kanal und Durchschnitt vergleichen.
  2. Berechnung des volumengewichteten Durchschnittspreises (VWAP): Berechnen Sie einen durch das Volumen gewichteten gleitenden durchschnittlichen Preis.
  3. Identifizieren von Abweichungen zwischen Preis und WT-Indikator: Eine mögliche Trendumkehr wird angezeigt, wenn der Preis ein neues Hoch/Tief erreicht, während der Indikator dies nicht tut.
  4. Einstiegsbedingungen: Eröffnen einer Long-Position, wenn eine bullische Divergenz festgestellt wird; Schließen der Position, wenn eine fallende Divergenz festgestellt wird.
  5. Stop-Loss: Dynamische Stop-Loss-Niveaus auf der Grundlage des durchschnittlichen wahren Bereichs (ATR) festlegen.
  6. Positionsgröße: Die Positionsgröße für jeden Handel wird dynamisch anhand des Kontorisikoanteils und der Stop-Loss-Distanz angepasst.
  7. Hintergrundfarbe: Ändern Sie die Hintergrundfarbe basierend auf den überkauften/überverkauften Niveaus des Indikators und geben so zusätzliche visuelle Hinweise.

Analyse der Vorteile

  1. Trendverfolgung: Durch die Ermittlung von Abweichungen zwischen Preis und Indikator kann die Strategie mögliche Chancen zur Trendumkehr erfassen.
  2. Risikomanagement: Der Einsatz von ATR-basierten dynamischen Stop-Loss-Systemen und der auf Risikoprozentsatz basierenden Positionsgröße hilft, potenzielle Verluste zu kontrollieren.
  3. Visuelle Hinweise: Die Hintergrundfarbe ändert sich je nach Überkauf/Überverkauf des Indikators und liefert zusätzliche visuelle Signale für Händler.
  4. Flexibilität: Die Parameter der Strategie (z. B. Kanallänge, Durchschnittslänge, Überkauf-/Überverkaufswerte) können an unterschiedliche Marktbedingungen und Handelsstile angepasst werden.

Risikoanalyse

  1. Unruhige Märkte: Bei Marktbedingungen ohne klare Trends kann die Strategie aufeinanderfolgende Verluste erleiden.
  2. Parameteroptimierung: Die Leistung der Strategie hängt weitgehend von der Wahl der Parameter ab, und suboptimale Parameter-Einstellungen können zu unterdurchschnittlichen Ergebnissen führen.
  3. Übertrading: Häufige Ein- und Ausstiegssignale können zu hohen Handelskosten führen, die sich auf die Gesamtleistung der Strategie auswirken.

Optimierungsrichtlinien

  1. Trendfilter: Bei Abweichungen werden zusätzliche Trendbestätigungsindikatoren (z. B. gleitende Durchschnitte) eingeführt, um mögliche falsche Signale auszufiltern.
  2. Dynamische Parameter: Anpassung der Indikatorparameter anhand der Marktvolatilität unter Verwendung kürzerer Kanallängen und durchschnittlicher Längen bei geringer Volatilität und längerer Parameter bei hoher Volatilität.
  3. Take-Profit: Einführung dynamischer Take-Profit-Levels auf der Grundlage von Risiko-Rendite-Verhältnissen oder Zielpreisen zur besseren Verwaltung profitabler Positionen.
  4. Long/Short-Filter: Filtern Sie Handelssignale auf der Grundlage der allgemeinen Markttrendrichtung (z. B. langfristige gleitende Durchschnitte), um nur in Richtung des Trends zu handeln.

Zusammenfassung

Die WaveTrend Oscillator Divergenz Strategie kombiniert den WaveTrend Indikator und den Volume Weighted Average Price, um potenzielle Trendumkehrchancen zu identifizieren. Die Stärken der Strategie liegen in ihren Trend-Folge-Fähigkeiten und Risikomanagementmaßnahmen, aber sie kann Risiken in unruhigen Märkten ausgesetzt sein. Die Strategie kann durch die Einführung zusätzlicher Filter, dynamischer Parameteranpassungen und verbesserte Ein- und Ausstiegsregeln weiter optimiert werden.


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


Verwandt

Mehr