VWAP-Abweichung und OBV-RSI Composite Mean Reversion Handelsstrategie

VWAP RSI OBV WMA MA
Erstellungsdatum: 2025-02-18 15:02:17 zuletzt geändert: 2025-02-18 15:02:17
Kopie: 4 Klicks: 539
1
konzentrieren Sie sich auf
1617
Anhänger

VWAP-Abweichung und OBV-RSI Composite Mean Reversion Handelsstrategie

Überblick

Es handelt sich um eine Handelsstrategie, bei der der kombinierte Durchschnittsrückgang des VWAP-Differenz- und OBV-RSI-RSI-Wertes kombiniert wird. Die Strategie überwacht die Abweichung des Preises von VWAP und den Überkauf-Überverkauf des OBV-RSI-RSI, um in Extremsituationen zu handeln. Die Strategie sendet ein Handelssignal aus, wenn der Preis von VWAP abweicht und der OBV-RSI-RSI gleichzeitig überkauft oder überkauft, und der Preis kehrt zum VWAP zurück.

Strategieprinzip

Die Strategie basiert auf zwei zentralen Indikatoren:

  1. VWAP-Abweichungsindikator: Berechnung der VWAP-Bewertungslinie mit einem gewichteten Moving Average (WMA) von 60 Zyklen und Berechnung des 2-fachen Standarddifferenzkanals über die Standarddifferenz. Dieser Kanal dient zur Identifizierung der extremen Abweichungen der Preise.
  2. Der OBV-RSI-Indikator: Der traditionelle RSI wird auf den OBV angewendet, um die relative Stärke von 14 Zyklen zu berechnen. Der OBV spiegelt die Stärke der Preisbewegung durch die kumulierte Übernahme wider, während der RSI verwendet wird, um den Überkauf und Überverkauf des OBV zu erkennen.

Bedingungen für die Eröffnung:

  • Überschreiten: Wenn der OBV-RSI <= 30 ((überverkauf) und der Preis unterhalb der Unterbahn liegt
  • Leerstellung: Wenn der OBV-RSI >= 70 (überkauft) und der Preis höher ist als der Kurs

Die Bedingungen für die Ausgleichszahlung:

  • Wenn der Preis zurück zur VWAP-Benchmark geht
  • Ein Stop-Loss von 0,6% zur Risikokontrolle

Strategische Vorteile

  1. Multidimensionelle Bestätigung: Die Kombination von Preis-, Transaktions- und Dynamikindikatoren bietet zuverlässigere Handelssignale
  2. Perfekte Risikokontrolle: Doppelschutz mit festen Stop-Loss- und Mean-Return-Plating-Mechanismen
  3. Anpassungsfähigkeit: Anpassung an unterschiedliche Marktumgebungen durch Parameteranpassung
  4. Logische Klarheit: Handelssignale sind klar und leicht zu verstehen und auszuführen
  5. Rückläufige Eigenschaften des Mittelwerts: Handelschancen, die von einer Überreaktion des Marktes ausgehen

Strategisches Risiko

  1. Trendrisiken: Fehlsignale können häufig ausgelöst werden, wenn sich ein Markt in einem starken Trend befindet
  2. Rutschrisiko: Bei starken Schwankungen können größere Rutschpunkte auftreten
  3. Falsche Durchbruchrisiken: Der Preis könnte sich nach dem Trigger in extreme Richtungen bewegen
  4. Parametersensitivität: Unterschiedliche Parameterkombinationen können zu großen Unterschieden in der Strategieleistung führen
  5. Liquiditätsrisiken: Es kann schwierig und zeitnah sein, in einem Markt mit geringer Liquidität zu handeln

Richtung der Strategieoptimierung

  1. Dynamische Parameteranpassung: Anpassung der VWAP- und RSI-Parameter an die Marktschwankungen
  2. Marktumfeld-Filterung: Hinzufügen von Trendfiltern, um die Häufigkeit von Geschäften in stark trendigen Märkten zu reduzieren
  3. Optimierung der Stoppmechanismen: Entwerfen von dynamischen Stoppmechanismen, um die Ertragsbeständigkeit zu verbessern
  4. Positionsmanagement: Dynamische Anpassung der Positionsgröße auf Basis von Volatilität und Risikobewertung
  5. Signalbestätigung: Hinzufügen von zusätzlichen technischen Kennzahlen oder Zeitfilter zur Verbesserung der Signalqualität

Zusammenfassen

Die Strategie baut ein robustes Mean Return Trading System auf, indem sie VWAP-Divergenz und OBV-RSI-Indikatoren kombiniert. Die Strategie sucht nach Handelsmöglichkeiten in extremen Marktbedingungen und schützt die Sicherheit der Gelder durch mehrere Risikokontrollmechanismen. Obwohl bestimmte Risiken bestehen, wird die Strategie durch kontinuierliche Optimierung und Verbesserung zu einer stabilen Performance in verschiedenen Marktumgebungen führen.

Strategiequellcode
/*backtest
start: 2024-02-19 00:00:00
end: 2025-02-16 08:00:00
period: 4h
basePeriod: 4h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=6
strategy('[Hoss] Combined Strategy', overlay=true)

// Indikator 1: [Hoss] VWAP Deviation
indicator_vwap = input.bool(true, title="Show VWAP Deviation Indicator", group="Visibility")
length = input.int(60, title="VWAP Length", group="VWAP Settings")
src = input(close, title="Source", group="VWAP Settings")

// Berechnungen für VWAP
vwmean = ta.wma(src, length)
dev = ta.stdev(src, length)
basis = vwmean
upper_dev2 = vwmean + dev * 2
lower_dev2 = vwmean - dev * 2

// Plotting VWAP Deviation
plot(indicator_vwap ? basis : na, color=color.gray, title='Basis', linewidth=2)
plot1 = plot(indicator_vwap ? upper_dev2 : na, color=color.red, title='Upper Dev 2', linewidth=2)
plot2 = plot(indicator_vwap ? lower_dev2 : na, color=color.green, title='Lower Dev 2', linewidth=2)
fill(plot1, plot2, color=color.new(color.green, 80), title='Deviation Band')

// Indikator 2: [Hoss] OBV RSI
indicator_obv_rsi = input.bool(true, title="Show OBV RSI Indicator", group="Visibility")
len = input.int(14, title="RSI Length", group="OBV RSI Settings")
obv = ta.cum(ta.change(src) > 0 ? volume : ta.change(src) < 0 ? -volume : 0)
rsi = ta.rsi(obv, len)

// Plotting OBV RSI
plot(indicator_obv_rsi ? rsi : na, color=color.blue, title="OBV RSI", linewidth=2)
hline(70, title="Overbought", color=color.red, linestyle=hline.style_dashed)
hline(30, title="Oversold", color=color.green, linestyle=hline.style_dashed)

// Strategie: Kauf- und Verkaufssignale
long_condition = not na(rsi) and rsi <= 30 and close <= lower_dev2
short_condition = not na(rsi) and rsi >= 70 and close >= upper_dev2

if (long_condition)
    strategy.entry("Long", strategy.long, stop=close * 0.994) // Stop-Loss bei 0.6%

if (short_condition)
    strategy.entry("Short", strategy.short, stop=close * 1.006) // Stop-Loss bei 0.6%

// Flash Close beim Erreichen des VWAP
if (strategy.position_size > 0 and close >= basis)
    strategy.close("Long")

if (strategy.position_size < 0 and close <= basis)
    strategy.close("Short")