EMA-Kreuzungsstrategie

Schriftsteller:ChaoZhang, Datum: 2023-09-28 11:22:39
Tags:

Übersicht

Diese Strategie baut ein Handelssystem auf, das auf dem EMA-Crossover-Prinzip basiert, um automatisch zu handeln und Markttrends zu erfassen.

Strategie Logik

Diese Strategie basiert hauptsächlich auf dem Überschreitungsprinzip von zwei gleitenden Durchschnitten, EMAs. Eine ist die 20-Perioden-Slow EMA und die andere ist die 9-Perioden-Fast EMA. Wenn die schnelle EMA (EMA9) über die langsame EMA (EMA20) kreuzt, wird ein Kaufsignal generiert. Wenn die EMA9 unterhalb der EMA20 kreuzt, wird ein Verkaufssignal generiert.

Insbesondere berechnet die Strategie die Werte von zwei EMAs und vergleicht ihre Größenverhältnisse, um festzustellen, ob ein Crossover stattfindet. Wenn EMA9 größer als EMA20 ist, zeigt es ein goldenes Kreuz an und die booleanische Variable bullish wird auf true gesetzt, was bedeutet, dass ein Kaufsignal generiert wird. Wenn EMA9 kleiner als EMA20 ist, zeigt es ein totes Kreuz an und die booleanische Variable bearish wird auf true gesetzt, was bedeutet, dass ein Verkaufssignal generiert wird.

Gleichzeitig verwendet die Strategie auch die Cross-Funktion, um Crossovers zwischen EMA9 und EMA20 zu erkennen. Wenn ein Aufwärts-Crossover stattfindet, d.h. EMA9 über EMA20 überschreitet, wird auch Bullish auf True gesetzt. Wenn ein Abwärts-Crossover stattfindet, d.h. EMA9 unter EMA20 überschreitet, wird auch Bearish auf True gesetzt.

Diese doppelte Validierung hilft, fehlende Signale zu vermeiden. Schließlich tritt die Strategie in eine lange oder kurze Logik ein, die auf den Werten von bullish und bearish basiert, um das automatisierte Handelssystem abzuschließen.

Analyse der Vorteile

Diese Strategie hat folgende Vorteile:

  1. Die Anwendung des EMA-Crossover-Prinzips ermöglicht die effektive Erkennung von Markttrendumkehrpunkten und die Erfassung von Trends.

  2. Die Kombination aus schnellem und langsamem EMA glättet Trends aus und fängt Umkehrungen auf.

  3. Das klassische goldenes Kreuz zum Kaufen und das tote Kreuz zum Verkaufen ist einfach und intuitiv.

  4. Die zusätzliche Crossover-Erkennungslogik vermeidet fehlende Signale.

  5. Vollautomatisiertes System, kein manueller Eingriff erforderlich, gute Backtest-Ergebnisse.

  6. Anpassbare EMA-Perioden ermöglichen die Optimierung der Strategie.

Risikoanalyse

Diese Strategie birgt auch einige Risiken:

  1. Die EMA-Crossover-Trenddetektion kann zu spät sein und Umkehrpunkte verpassen.

  2. Der Whipsaw-Effekt kann bei kurzfristigen Korrekturen falsche Signale auslösen.

  3. Festgelegte EMA-Perioden können sich nicht an Marktveränderungen anpassen.

  4. Wenn man die Trendstärke nicht einschätzen kann, kann man in den verschiedenen Märkten geschlagen werden.

  5. Kein Stop-Loss bedeutet, dass sich die Verluste vergrößern könnten.

  6. Nachprüfungsüberbau von automatisierten Systemen, fragwürdige Live-Leistung.

Um den Risiken entgegenzuwirken, können Optimierungen in folgenden Bereichen vorgenommen werden:

  1. Hinzufügen anderer Indikatoren zur Trendbestätigung, um Schlagzeilen zu vermeiden.

  2. Implementieren Sie einen Stop-Loss, um den Abwärtstrend zu begrenzen.

  3. Einführung einer Parameteroptimierung für dynamische EMA-Perioden.

  4. Hinzufügen der Trendstärke Bestimmung, um unterschiedliche Marktgeschäfte zu vermeiden.

  5. Verwenden Sie Ensemble-Modelle, um die Robustheit zu verbessern.

Optimierungsrichtlinien

Diese Strategie kann in mehreren Aspekten optimiert werden:

  1. Dynamische EMA-Perioden: Die festen Zeiträume 20 und 9 können angepasst werden, um die sich entwickelnden Markttrends besser zu verfolgen.

  2. Validierung für mehrere Zeitrahmen: Derzeit kann nur ein Zeitrahmen Signale auf mehreren Zeitrahmen überprüfen, um falsche Signale zu vermeiden.

  3. Kombination anderer Indikatoren: Einbeziehung von Indikatoren wie MACD, KD, um Crossover-Signale zu filtern und die Genauigkeit zu verbessern.

  4. Stop-Loss: Derzeit kein Stop-Loss, kann Fix- oder Trailing-Stop-Loss hinzugefügt werden, um den Abwärtstrend zu begrenzen.

  5. Optimierung der Parameter: Optimieren Sie EMA-Perioden, um die besten Kombinationen zu finden.

  6. Modelle zusammensetzen: Aufbau eines Ensembles von Teilstrategien mit unterschiedlichen Parametern für die Robustheit.

  7. Maschinelles Lernen: Nutzen von neuronalen Netzwerken, um Kreuzungen für ein intelligentes System zu trainieren und zu erkennen.

Schlussfolgerung

Diese Strategie baut ein automatisiertes System auf der Grundlage des klassischen EMA-Crossover-Prinzips auf. Die Gesamtlogik ist einfach und klar. Es gibt jedoch Stabilitätsprobleme. Durch die Einführung dynamischer Parameter, Multi-Indikator-Combos, Stop-Losses, Ensemble-Modelle usw. können signifikante Verbesserungen in der Live-Performance und Robustheit erzielt werden. EMA-Crossover-Strategien erfordern weitere Forschung und Anwendung.


/*backtest
start: 2022-09-21 00:00:00
end: 2023-09-27 00:00:00
period: 4d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//For TRI'ers with a stinky trading view account.
//Some reccomended moving averages including the institutional moving averages.
//Much love to Brian for changing our lives.
//@version=4




strategy (title="Crossing Ema 20:9 by Sedkur", overlay=false)

src = close

ema20 = ema(src, 20)
ema9 = ema(src, 9)

plot( ema20, color=color.orange, style=plot.style_line, title="EMA20", linewidth=2)
plot( ema9, color=color.blue, style=plot.style_line, title="EMA9", linewidth=2)

//bullish = (ema9>ema20)?true:false
bullish = cross(ema9, ema20) and (ema9>ema20)?true:false
bearish = cross(ema9, ema20) and (ema20>ema9)?true:false
plotshape(bullish, style=shape.triangleup , location=location.belowbar, color=color.lime,size=size.tiny)
plotshape(bearish, style=shape.triangledown , location=location.abovebar, color=color.red,size=size.tiny)
alertcondition(bullish, title="Bullish", message="AL verdi")

if (bullish)
    strategy.entry("buy", strategy.long, comment="al", when = year>2016)
if (bearish)
    strategy.entry("sell", strategy.short, comment="sat", when = year>2016)
plot(strategy.equity)

Mehr