Zweigleisige EMA-Crossover-Ausbruchstrategie

Schriftsteller:ChaoZhang, Datum: 2023-11-28 15:39:37
Tags:

img

Übersicht

Die Dual EMA Crossover Breakout-Strategie erzeugt Kauf- und Verkaufssignale auf der Grundlage der Überschneidung von schnellen und langsamen EMA-Linien, kombiniert mit Handelsvolumen-Breakout, Kerzenmustern und Preis-Breakout-Filtern, um die Zuverlässigkeit zu verbessern.

Grundsätze

Die Kernlogik der Dual EMA Crossover Breakout-Strategie liegt in der goldenen Crossover-Theorie von zwei EMAs. Die Theorie glaubt, dass, wenn die kurzfristige EMA über die längerfristige EMA überschreitet, sie einen Aufwärtstrend signalisiert, so sollten lange Positionen eingerichtet werden. Wenn die kurzfristige EMA unter die längerfristige EMA überschreitet, signalisiert sie einen Abwärtstrend, so sollten kurze Positionen eingerichtet werden.

Die Strategie berechnet zunächst die 9-Perioden- und 21-Perioden-EMA. Wenn die 9-EMA über die 21-EMA überschreitet, wird ein long Signal generiert. Wenn die 9-EMA unter die 21-EMA überschreitet, wird ein short Signal generiert. Um falsche Signale auszufiltern, werden folgende Bedingungen überprüft:

  1. Volumenbedingung - Das Volumen der jüngsten Kerze sollte 85% des durchschnittlichen Volumens der vorherigen 5 Kerzen übersteigen.

  2. Preisdurchbruch - Der Preis muss als Eingangsbestätigung über 9-EMA durchbrechen.

  3. Candlestick-Muster-Zustand - Identifizieren Sie bullische oder bärische Umkehrmuster und vermeiden Sie Whipsaws während seitlicher Märkte.

Bei Long-Positionen werden Exits ausgelöst, wenn der Preis unter 9-EMA fällt.

Analyse der Vorteile

Durch die Kombination von Signalen aus mehreren technischen Indikatoren kann die Dual EMA Crossover Breakout-Strategie Trends effektiv identifizieren und die Gewinnrate verbessern.

  1. Die Verwendung von doppelten EMAs zur Bestimmung der wichtigsten Trendrichtung ist sehr zuverlässig.

  2. Das Hinzufügen eines Lautstärkungsfilters verhindert falsche Signale bei unzureichender Lautstärke.

  3. Das Hinzufügen eines Kerzenmusterfilters beseitigt das Rauschen von Marktbereichen.

  4. Eintritt nach Preissenkungen bestätigt EMA den Trend.

  5. Der Stop-Loss-Mechanismus kontrolliert die Risiken aktiv.

Risikoanalyse

Die Strategie birgt noch einige Risiken:

  1. Die EMA kann während unruhiger Märkte falsche Signale erzeugen, was zu Verlusten führt.

  2. Festgelegte EMA-Perioden können sich möglicherweise nicht an sich ändernde Märkte anpassen.

  3. Es besteht immer noch die Wahrscheinlichkeit, dass Sie die Muster falsch identifizieren.

  4. Die Strategie kann einige Kursbewegungen verpassen und eine unvollkommene Trendverfolgung haben.

Optimierungsrichtlinien

Die wichtigsten Optimierungsrichtungen sind:

  1. Testen Sie mehr EMA-Kombinationen, um optimale Parameter zu finden.

  2. Zusätzlich werden anpassungsfähige EMA basierend auf sich ändernden Marktbedingungen angegeben.

  3. Optimierung der Positionsgröße für verschiedene Marktbedingungen.

  4. Einbeziehen Sie mehr Indikatoren wie MACD, KDJ, um Ensemble-Strategien zu bilden.

  5. Einführung von Modellen für maschinelles Lernen zur Verbesserung der Robustheit.

Schlussfolgerung

Die Dual EMA Crossover Breakout-Strategie identifiziert Trends effektiv unter Verwendung einer doppelten EMA-Richtungsanalyse und fügt mehrere Volumen / Preis / Musterfilter hinzu, um die Effizienz zu verbessern und gleichzeitig Risiken zu kontrollieren.


/*backtest
start: 2023-11-20 00:00:00
end: 2023-11-27 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//Author: Andrew Shubitowski
strategy("Buy/Sell Strat", overlay = true)

//Define EMAs & Crossovers (Feature 2)
a = ta.ema(close, 9)
b = ta.ema(close, 21)
crossUp = ta.crossover(a, b)
crossDown = ta.crossunder(a, b)


//Define & calc volume averages (Feature 1)
float volAvg = 0
for i = 1 to 5
    volAvg := volAvg + volume[i]
volAvg := volAvg / 5

//Define candlestick pattern recongition (Feature 4)
bool reversalPatternUp = false
bool reversalPatternDown = false
if (close > close[1] and close[1] > close [2] and close[3] > close[2] and close > close[3])
    reversalPatternUp := true
    
if (close < close[1] and close[1] < close [2] and close[3] < close[2] and close < close[3])
    reversalPatternDown := true

//Execute trade (Feature 3 + 5)
if (crossUp)
    strategy.entry("long", strategy.long, when = ((volume * 0.85) > volAvg and close > a and reversalPatternUp == true))
    
if (crossDown)
    strategy.entry("short", strategy.short, when = ((volume * 0.85) > volAvg and close < a and reversalPatternDown == true))
    
//Exit strategy (New Feature)
close_condition_long = close < a
close_condition_short = close > a
if (close_condition_long)
    strategy.close("long")

if (close_condition_short)
    strategy.close("short")

//plot the EMAs
plot(a, title = "Fast EMA", color = color.green)
plot(b, title = "Slow EMA", color = color.blue)


//Some visual validation parameters
//plotchar(volAvg, "Volume", "", location.top, color.aqua) //*TEST* volume calc check
//plotshape(reversalPatternUp, style = shape.arrowup, color = color.aqua) //*TEST* reversal check
//plotshape(reversalPatternDown, style = shape.arrowup, location = location.belowbar, color = color.red) //*TEST* reversal check

Mehr