EMA-VWAP und CBC-Trendumkehr-Tracking-quantitative Handelsstrategie

EMA VWAP CBC PDH PDL PDVWAP PDC
Erstellungsdatum: 2025-04-02 10:31:49 zuletzt geändert: 2025-04-02 10:31:49
Kopie: 0 Klicks: 488
2
konzentrieren Sie sich auf
319
Anhänger

EMA-VWAP und CBC-Trendumkehr-Tracking-quantitative Handelsstrategie EMA-VWAP und CBC-Trendumkehr-Tracking-quantitative Handelsstrategie

Strategieübersicht

Die EMA-VWAP Synergy CBC Trendwechsel-Quantifizierungs-Handelsstrategie ist ein komplexes Handelssystem, das mehrere technische Indikatoren kombiniert. Die Kernstrategie besteht darin, die Synergie der drei großen technischen Indikatoren zu nutzen, um ein genaues Handelssignal zu erzeugen.

Diese Strategie eignet sich besonders für marktorientierte Umgebungen mit klaren Trends und filtert durch die Kombination der Richtung der kurz- und mittelfristigen EMAs mit der Positionsbeziehung von VWAP und der Beilage der CBC-Breakthroughs die falschen Breakouts und Noise-Signale effektiv. Die Strategie integriert auch die wichtigsten Kursreferenzen des Tages, einschließlich der Höhen (PDH), Tiefen (PDL), Schlusskurs (PDC) und VWAP-Level des vorangegangenen Handelstages sowie die Höhen und Tiefen am Montag, die als Referenz für die ganze Woche dienen, um eine Fülle von Markthintergrundinformationen für Handelsentscheidungen bereitzustellen.

Die Strategie verwendet eindeutige Ein- und Ausstiegsregeln, bei denen Eintrittssignale mehrere Bedingungen gleichzeitig erfüllen müssen, während das Ausstiegssignal auf das umgekehrte Umkehrsignal der CBC angewiesen ist, um die Handelsphilosophie “Bei Auftrieb nach Auftrieb, bei Absturz nach Ausstieg” umzusetzen.

Strategieprinzip

Die Kernprinzipien der Strategie basieren auf der Synergie von vier wichtigen technischen Elementen:

  1. Mehrzeit-EMA-SystemDie Strategie nutzt drei EMA-Linien (die 9-Zyklus-, 20-Zyklus- und 200-Zyklus-Linien) als Rahmen für die Trendentscheidung. Die relative Position des schnellen EMA (der 9-Zyklus) gegenüber dem mittleren EMA (der 20-Zyklus) wird verwendet, um die Richtung des kurzfristigen Trends zu bestimmen. Wenn der schnelle EMA über dem mittleren EMA liegt, gilt dies als ein Positivsignal.

  2. VWAP-BenchmarkDie Strategie verlangt, dass der Preis, die schnelle EMA und die mittlere EMA auf der gleichen Seite der VWAP liegen müssen, um die Einheitlichkeit und Stärke des Trends zu bestätigen.

  3. CBC (Schließen, Brechen, Schließen) WendezeichenCBC-Signal: Dies ist der Kern der Strategie, die durch die Detektion der Preise, die die Höhen oder Tiefen des vorigen Handelstags zu brechen, und bestätigt die Wirksamkeit des Brechens bei der Schließung. Wenn die Schließung der Preise über den Vortags-Hoch überschreitet, wird die CBC-Signal zu einem Besser umgedreht; wenn die Schließung der Preise die Vortags-Tiefs fallen, wird die CBC-Signal zu einem Besser umgedreht.

  4. Tagesschlüssel-PreisreferenzsystemDie Strategie integriert die Höhen, Tiefen, Schlusskurs und VWAP-Level des vorangegangenen Handelstages sowie die Höhen und Tiefen am Montag als Referenz für die gesamte Woche, um einen vollständigen Bezugsrahmen für die Marktstruktur zu bilden.

Die Eingangslogik erfordert, dass folgende Bedingungen gleichzeitig erfüllt sind:

  • Mehrere Eingänge: CBC-Umkehrung von Beobachter zu Beobachter + Preis liegt über VWAP + EMA-System zeigt eine Beobachterarrangement (schnelle EMA> mittlere EMA) + beide EMAs liegen über VWAP
  • Blank-Eintritt: CBC von bullish zu bearish umgedreht + Preis unter VWAP + EMA-System ist bearish angeordnet ((schnelle EMA < mittlere EMA) + beide EMAs unter VWAP

Die Ausstiegslogik hängt direkt von der Umkehrung der CBC ab, d.h. der Umkehrung der Bolling-Position bei der CBC in eine Bolling-Position und der Umkehrung der Bolling-Position bei der CBC in eine Bolling-Position, was den Trendhandel der Strategie widerspiegelt.

Strategische Vorteile

Durch die Analyse des Strategie-Codes zeigten sich folgende wesentliche Vorteile:

  1. MehrfachbestätigungDie Strategie erfordert, dass die EMA-Trendrichtung, die Position der VWAP-Preise und die CBC-Umkehrsignale synchron sind, um ein Handelssignal auszulösen, was die Fehlmeldung reduziert und die Signalqualität verbessert.

  2. Trendfollowing und UmkehrungStrategie: Die Strategie erfasst sowohl Trends (durch EMA und VWAP-Konsistenz) als auch kritische Durchbrüche durch CBC-Signale, wobei die Vorteile von Trend-Following und Reversal Trading ausgeglichen werden.

  3. Vollständige Referenz zur MarktstrukturDie Integration der Schlüsselpreise des vorangegangenen Handelstages und der Höhen- und Tiefpunkte des Montags bietet eine Fülle von Markthintergrundinformationen für Handelsentscheidungen und hilft dabei, die Position des aktuellen Preises in der größeren Marktstruktur zu verstehen.

  4. Klarer visueller FeedbackDie Strategie nutzt eine Vielzahl von visuellen Elementen, einschließlich Hintergrundfarbänderungen, Formenmarkierungen und Tags, um den Händlern die Möglichkeit zu geben, die Signale und den aktuellen Marktzustand intuitiv zu erkennen.

  5. Kurz und deutlich: Die Verwendung von CBC-Rückwärtsdrehen als Ausgangssignal verhindert das Risiko eines vorzeitigen Ausstiegs oder einer Überlagerung und bildet ein System, das konsistent und symmetrisch mit der Einstiegslogik ist.

  6. Anpassungsparameter-EinstellungDie Strategie bietet eine Datumsfilterfunktion und mehrere Anzeigeoptionen, die es dem Händler ermöglichen, die Strategie an seine Bedürfnisse anzupassen, was die Flexibilität und Anpassungsfähigkeit der Strategie erhöht.

  7. Integration der FinanzverwaltungStrategie: Die Default-Handelsmethode, bei der der Prozentsatz des Kontogeldes anstelle einer festen Handzahl verwendet wird, zeigt ein gutes Risiko-Management-Gedanken, was zu einem langfristigen Wachstum des Kapitals und einer Risikokontrolle beiträgt.

Strategisches Risiko

Obwohl diese Strategie viele Vorteile hat, haben wir bei einer tieferen Analyse des Codes folgende potenzielle Risiken entdeckt:

  1. RückstandsrisikenDie EMA ist im Wesentlichen ein Verzögerungsindikator, der in stark schwankenden Märkten zu Signalverzögerungen, Verfehlungen der besten Einstiegspunkte oder Verzögerungen führen kann, was zu zusätzlichen Verlusten führt. Die Lösung besteht darin, die EMA-Parameter in einem hoch schwankenden Umfeld anzupassen oder den Fluktuationsratefilter zu erhöhen.

  2. Falsche DurchbruchgefahrDie Lösung besteht darin, die Bestätigung der Transaktionsmenge zu erhöhen oder die Filterbedingungen für die Breakout-Wert zu setzen.

  3. Übermäßige Abhängigkeit von VWAPDie Lösung besteht darin, den Handel zu unterbrechen oder die Bedingungen für die Erhöhung der Schwankungsbreite zu überschreiten, wenn die Schwankungsbreite überschritten wird.

  4. Fehlende SchadensbegrenzungDerzeit gibt es keine eindeutige Stop-Loss-Strategie, sondern es wird nur auf CBC-Umkehrsignal-Blätterungen angewiesen, die in extremen Situationen zu größeren Verlusten führen können. Die Lösung besteht darin, einen festen Stop-Loss oder einen ATR-Multiplikator-Stop-Loss zu erhöhen und ein Maximalverlustlimit festzulegen.

  5. Nicht ausreichend datierte FilterDie Strategie bietet zwar eine Datumsfilterfunktion, berücksichtigt jedoch nicht die Auswirkungen spezieller Marktereignisse (z. B. Finanzergebnisse, politische Bekanntmachungen usw.) auf die Strategie. Die Lösung besteht darin, die Funktion des Wirtschaftskalenders zu integrieren, um den Handel während wichtiger Ereignisse automatisch anzupassen oder auszusetzen.

  6. AbweichungenStrategie verwendet:fill_orders_on_standard_ohlc = trueDie Lösung ist die Verwendung von Einzelsimulationen oder die Berücksichtigung von Schlupfpunkten und Transaktionskosten für eine realistischere Rückmeldung.

  7. EinzelzyklusabhängigkeitDie Strategie funktioniert nur auf einem einzigen Zeitzyklus, es fehlt die Bestätigung mehrerer Zyklen und es kann ein Rückschlagsignal für größere Zyklen verpasst werden. Die Lösung besteht darin, die Integration einer Bestätigungsmechanik für mehrere Zyklen zu berücksichtigen.

Richtung der Strategieoptimierung

Auf der Grundlage einer umfassenden Analyse des Strategie-Codes empfehlen wir folgende Optimierungsmöglichkeiten:

  1. Hinzufügen von AnpassungsparameternDie EMA-Zyklen können an die dynamische Marktfluktuation angepasst werden. Kurze Zyklen werden in hoch- und längere Märkte verwendet, um die Anpassung der Strategie an verschiedene Marktumstände zu verbessern. Dies kann durch die Berechnung des ATR (Average True Range) und dessen Zuordnung zum EMA-Zyklus erreicht werden.

  2. Integrierte Umsatzbestätigung: Erhöhung der Transaktionsbestätigung auf Basis des CBC-Umkehrsignals, das nur dann ausgelöst wird, wenn ein Durchbruch mit einem signifikanten Anstieg der Transaktionsmenge einhergeht, und Filterung von qualitativ minderwertigen Durchbrüchen. Dies kann durch den Vergleich des Verhältnisses zwischen der aktuellen Transaktionsmenge und der durchschnittlichen Transaktionsmenge für N-Zyklen erreicht werden.

  3. Einstieg in die Stop Loss-MechanismenEs wird empfohlen, eine Stop-Tracking-Funktion zu implementieren, die automatisch die Stop-Levels anpasst, wenn sich der Preis in eine günstige Richtung bewegt.

  4. Synchronisierte MehrzyklusbestätigungDie Signalqualität wird verbessert. Dies kann durch die Anforderung von EMA-Daten aus höheren Zeiträumen und die Überprüfung ihrer Richtung erreicht werden.

  5. Klassifizierung der MarktsituationEntwickelt wurde ein Modul zur Identifizierung von Marktzuständen, um Trendmärkte und Quermärkte zu unterscheiden, um Strategieparameter zu ändern oder den Handel unter verschiedenen Marktzuständen auszusetzen. Die ADX (Average Direction Index) oder die Analyse der Preisspanne können zur Identifizierung von Marktzuständen verwendet werden.

  6. Optimierung der KapitalverwaltungPositionsgröße wird dynamisch angepasst, basierend auf der Volatilität und der Gewinnrate. Positionsgröße wird erhöht, wenn der Gewinn hoch ist, und Positionsgröße wird reduziert, wenn der Gewinn niedrig ist. Dynamische Positionsanpassungen können durch die Berechnung der historischen Signalstatistiken und der aktuellen Marktvolatilität realisiert werden.

  7. Filterzeit erhöhenEinführung eines Tageszeitfilters, um hohe Schwankungen vor dem Börsengang und vor dem Börsengang zu vermeiden. Konzentrieren Sie sich auf die aktiven, aber relativ stabilen Zeiträume des Marktes. Optimierte Handelszeiten können je nach den Handelszeitmerkmalen der verschiedenen Märkte eingestellt werden.

  8. UmgebungsoptimierungVerwendung:fill_orders_on_standard_ohlc = falseMit Hilfe der Analyse der tatsächlichen Schlupfpunkte und der Kommissionssätze kann eine genauere Rückmessung der tatsächlichen Schlupfpunkte und Kommissionssätze durchgeführt werden, um zuverlässigere Strategiebewertungen zu erhalten.

Zusammenfassen

Die EMA-VWAP Synergy CBC Trend-Reversal Tracking Quantitative Trading Strategy ist ein strukturiertes, logisch klares Handelssystem, das durch die Integration verschiedener technischer Indikatoren und Methoden zur Analyse des Preisverhaltens ein hochwertiges Handelssignal erzeugt. Die Kernvorteile der Strategie liegen in der Mehrfachbestätigung und dem vollständigen Referenzsystem für die Marktstruktur, was die Fehlmeldungsrate reduziert und die Signalqualität verbessert.

Die Strategie verfolgt die Handelsphilosophie “Zuwachs nach Vorteil, Rückgang nach Nachteil”. Eintritt erfordert eine synchronisierte Bestätigung mehrerer Bedingungen, Ausgang hängt von den Rückwärts-Umkehrsignalen des CBC ab, um ein logisch einheitliches und symmetrisches Handelssystem zu bilden. Die Strategie integriert gleichzeitig ein reichhaltiges visuelles Feedbackelement und flexible Parameter-Einstellungen, um die Benutzererfahrung und die Anpassungsfähigkeit zu verbessern.

Die Strategie kann jedoch auch potenzielle Probleme wie Rückstandsrisiken, False-Breakout-Risiken und einen Mangel an Stop-Loss-Mechanismen aufweisen. Die Stabilität und Profitabilität der Strategie können durch die Erhöhung der Anpassungsparameter, die Integration der Verkehrsbestätigung und Optimierungsmaßnahmen wie die Aufnahme von Stop-Loss-Mechanismen und der synchronen Bestätigung mehrerer Zyklen weiter verbessert werden.

Insgesamt ist dies ein gut konzipiertes grundlegendes Strategie-Framework, das das Potenzial hat, ein robustes Trading-System zu werden, wenn es mit einer vernünftigen Optimierung und Risikomanagement-Konfiguration verbunden ist. In der Praxis sollte der Händler die Strategie-Parameter an seine eigenen Risikopräferenzen und Trading-Ziele anpassen und immer die richtige Geldmanagement-Disziplin beibehalten.

Strategiequellcode
/*backtest
start: 2024-04-02 00:00:00
end: 2025-04-01 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=6
strategy("Maple&CBC Strategy", overlay = true, fill_orders_on_standard_ohlc = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)


// EMA's
fastEma = ta.ema(close, 9)
middleEma = ta.ema(close, 20)
slowEma = ta.ema(close, 200)
vwap = ta.vwap(close)

plot(fastEma, color=color.blue, title="9 EMA")
plot(middleEma, color=color.green, title="20 EMA")
plot(slowEma, color=color.red, title="200 EMA")
plot(vwap, color=color.yellow, title="VWAP")

// Input instellingen voor zichtbaarheid van lijnen
show_prev_day_high = input.bool(true, title="Toon Previous Day High")
show_prev_day_low = input.bool(true, title="Toon Previous Day Low")
show_prev_day_vwap = input.bool(true, title="Toon Previous Day VWAP")
show_prev_day_close = input.bool(true, title="Toon Previous Day Close")
show_monday_levels = input.bool(true, title="Toon Monday High/Low")

// Vorige dag niveaus
[dh, dl, dc, dv] = request.security(syminfo.tickerid, "D", [high[1], low[1], close[1], ta.vwap(close)[1]])

// Maandag High en Low
isMonday = dayofweek == dayofweek.monday
var float mondayHigh = na
var float mondayLow = na

if isMonday and barstate.isconfirmed
    mondayHigh := high
    mondayLow := low

// CBC Flip Logica
cbc = false
cbc := cbc[1]
if cbc and close < low[1]
    cbc := false
if not cbc and close > high[1]
    cbc := true

cbc_long = cbc and not cbc[1]
cbc_short = not cbc and cbc[1]

// EMA's bullish/bearish check
ema_bullish = fastEma > middleEma
ema_bearish = fastEma < middleEma

// Prijs boven/onder VWAP check
price_above_vwap = close > vwap
price_below_vwap = close < vwap

// ==================== STRATEGIE LOGICA ====================

// Long signaal: prijs boven VWAP + EMA's bullish + EMA's boven VWAP + CBC flip bullish
emas_above_vwap = fastEma > vwap and middleEma > vwap
longCondition = cbc_long and price_above_vwap and ema_bullish and emas_above_vwap and barstate.isconfirmed

// Short signaal: prijs onder VWAP + EMA's bearish + EMA's onder VWAP + CBC flip bearish
emas_below_vwap = fastEma < vwap and middleEma < vwap
shortCondition = cbc_short and price_below_vwap and ema_bearish and emas_below_vwap and barstate.isconfirmed

// Variabelen om bij te houden of we in een positie zitten
var bool inLongPosition = false
var bool inShortPosition = false

// Strategy entrypoints
if longCondition and not inLongPosition and not inShortPosition
    strategy.entry("Long", strategy.long)
    inLongPosition := true
    inShortPosition := false

if shortCondition and not inShortPosition and not inLongPosition
    strategy.entry("Short", strategy.short)
    inShortPosition := true
    inLongPosition := false

// Strategy exitpoints - wacht op tegenovergestelde CBC flip signaal
if cbc_short and inLongPosition
    strategy.close("Long", comment="Exit Long on CBC flip short")
    inLongPosition := false

if cbc_long and inShortPosition
    strategy.close("Short", comment="Exit Short on CBC flip long")
    inShortPosition := false

// Visuele weergave van signalen
plotshape(series=cbc_long, location=location.belowbar, color=color.green, style=shape.triangleup, title="Bulls")
plotshape(series=cbc_short, location=location.abovebar, color=color.red, style=shape.triangledown, title="Bears")

// Achtergrondkleur voor visuele ondersteuning
bgcolor(cbc_long ? color.rgb(255, 235, 59, 71) : cbc_short ? color.rgb(5, 185, 240, 59) : na)

// Extra achtergrondkleur voor trading signalen
bgcolor(longCondition ? color.rgb(0, 255, 0, 90) : shortCondition ? color.rgb(255, 0, 0, 90) : na)

// Labels voor de trading posities
if inLongPosition and barstate.islast
    label.new(bar_index, low - (low * 0.002), "IN LONG", color=color.green, style=label.style_label_up, textcolor=color.white, size=size.small)

if inShortPosition and barstate.islast
    label.new(bar_index, high + (high * 0.002), "IN SHORT", color=color.red, style=label.style_label_down, textcolor=color.white, size=size.small)