Handelsstrategie basierend auf dem doppelten gleitenden Durchschnitt


Erstellungsdatum: 2024-01-19 14:10:38 zuletzt geändert: 2024-01-19 14:10:38
Kopie: 0 Klicks: 574
1
konzentrieren Sie sich auf
1617
Anhänger

Handelsstrategie basierend auf dem doppelten gleitenden Durchschnitt

Überblick

Die Dual Moving Average Trading Strategy ist eine übliche Quantitative Trading-Strategie, bei der zwei unterschiedliche Zeiträume als Moving Averages verwendet werden, um ein Handelssignal zu erzeugen, das auf ihre Kreuzung basiert. Insbesondere wird ein Kaufsignal ausgegeben, wenn der langfristige Moving Average über den kurzfristigen Moving Average überschritten wird, und ein Verkaufssignal, wenn der langfristige Moving Average unter dem kurzfristigen Moving Average überschritten wird.

Grundsätze

Die Kernprinzipien der Strategie sind: Der kurzfristige Moving Average spiegelt die kurzfristige Tendenz der Assetpreise wider, der langfristige Moving Average spiegelt die langfristige Tendenz der Assetpreise wider. Wenn die kurzfristige Linie die langfristige Linie überschreitet, wird die kurzfristige Tendenz in einen Aufwärtstrend umgewandelt, und dann kann gekauft werden. Wenn die kurzfristige Linie die langfristige Linie unterbricht, wird die kurzfristige Tendenz in einen Abwärtstrend umgewandelt, und dann kann verkauft werden.

Konkret definiert die Strategie zwei Moving Averages: einen 5-Tage-Short-Moving-Average, um kurzfristige Preistrends zu erfassen, und einen 15-Tage-Long-Moving-Average, um langfristige Preistrends zu beurteilen. Wenn die 5-Tage-Linie von unten durch die 15-Tage-Linie geht, bedeutet dies, dass die kurzfristigen Preise zu steigen beginnen, was ein Kaufsignal ist.

Analyse der Stärken

Im Vergleich zu anderen Strategien bietet die Doppel-Moving-Average-Strategie folgende Vorteile:

  1. Einfach zu bedienen, leicht zu verstehen und für Anfänger geeignet
  2. Der Grund, warum man in einem komplexen Markt nicht auf die Preisentwicklung achten sollte
  3. Die Parameter können flexibel angepasst werden, um sich an unterschiedliche Marktumgebungen anzupassen, indem sie die Periodizität des Moving Averages anpassen
  4. Effektive Filterung von Marktgeräuschen, Wendepunkte für langfristige und kurzfristige Trends
  5. Anpassbare Frequenzen, reduzierte Transaktionskosten und Schlupflose

Risikoanalyse

Die Doppel-Moving-Average-Strategie birgt auch einige Risiken, die vor allem folgende sind:

  1. Kann falsche Signale erzeugen, bewegliche Durchschnitte sind im Wesentlichen ein nachlassendes Signal
  2. Es ist notwendig, sich gleichzeitig mit zwei langen und kurzen Moving Averages zu befassen, wobei die Parameteranpassung und die Wirksamkeitskontrolle komplexer sind.
  3. Der Markt ist nicht in der Lage, mit starken Preisschwankungen gut umzugehen, was zu einem Verlust führen kann.
  4. Die Handelsfrequenz kann zu hoch oder zu niedrig sein und muss optimiert werden.
  5. Die Effektivität ist stark von der Marktentwicklung abhängig und wirkt in einer insgesamt niedrigen Periode des Index nicht gut.

Entsprechende Lösungen:

  1. Filtersignale in Kombination mit anderen Indikatoren
  2. Optimierung der Moving Average-Parameter und Prüfung der Effekte
  3. Setzen Sie einen geeigneten Stop-Loss-Bereich
  4. Anpassung der Moving Average-Parameter zur Optimierung der Handelsfrequenz
  5. Anpassung der Parameter an unterschiedliche Marktbedingungen

Optimierungsrichtung

Die Strategie kann in folgenden Richtungen optimiert werden:

  1. In Kombination mit anderen Indikatoren filtern Sie Signale wie MACD, KDJ usw., um falsche Signale zu vermeiden

  2. Einführung von Adaptive Moving Averages, die die Moving Average-Parameter dynamisch an die Marktschwankungen anpassen, um die Stabilität zu verbessern

  3. Optimierung von Moving Average-Parametern, die optimale Kombination von Parametern und die Verbesserung der Effektivität der Strategie

  4. Einstieg in die Stop-Loss-Mechanismen, um die Ausweitung von Verlusten zu verhindern und die Risikokontrolle zu verbessern

  5. Mehrfache Zeitrahmenkombination mit gleichzeitiger Nutzung von Sonnen- und Umlaufsignalen zur Steigerung der Stabilität

  6. Markov-Status-Switching, unterschiedliche Parameter für verschiedene Marktbedingungen, um die Anpassungsfähigkeit zu verbessern

Zusammenfassen

Die Doppel-Moving-Average-Trading-Strategie ist eine quantitative Handelsstrategie, die insgesamt eine stabilere Wirkung hat. Die Handelsprinzipien sind einfach, leicht zu verstehen und umzusetzen, die Parameter sind flexibel einzustellen und die Markttrends effektiv zu verfolgen. Es gibt jedoch auch bestimmte Einschränkungen, wie die Erzeugung von Falschsignalen, die Schwierigkeit, mit starken Marktschwankungen umzugehen. Dies muss durch die Einführung anderer Hilfsmittel und Parameteroptimierung kontrolliert werden.

Strategiequellcode
//@version=3
strategy("CS: 2 Moving Averages Script - Strategy (Testing)", overlay=true)

// === GENERAL INPUTS ===
// short ma
ma1Source   = input(defval = close, title = "MA 1 Source")
ma1Length   = input(defval = 5, title = "MA 1 Period", minval = 1)
// long ma
ma2Source   = input(defval = close, title = "MA 2 Source")
ma2Length   = input(defval = 15, title = "MA 2 Period", minval = 1)

// === SERIES SETUP ===
/// a couple of ma's..
ma1 = ema(ma1Source, ma1Length)
ma2 = ema(ma2Source, ma2Length)

// === PLOTTING ===
fast = plot(ma1, title = "MA 1", color = red, linewidth = 2, style = line, transp = 30)
slow = plot(ma2, title = "MA 2", color = green, linewidth = 2, style = line, transp = 30)

// === LOGIC ===
enterLong = crossover(ma1, ma2)
exitLong = crossover(ma2, ma1)

// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2018, title = "From Year", minval = 2012)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2012)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true // create function "within window of time"

// Entry //
strategy.entry(id="Long Entry", long=true, when=enterLong and window())
strategy.entry(id="Short Entry", long=false, when=exitLong and window())