Strategie für die Verlagerung des gleitenden Durchschnitts

Schriftsteller:ChaoZhang, Datum: 23.09.2021
Tags:

Übersicht

Dies ist eine typische gleitende durchschnittliche Crossover-Handelsstrategie. Sie verwendet die Crossover-Punkte von schnellen und langsamen gleitenden Durchschnitten als Handelssignale. Wenn der schnelle gleitende Durchschnitt über den langsamen gleitenden Durchschnitt von unten überschreitet, wird er als Kaufsignal betrachtet. Wenn der schnelle gleitende Durchschnitt unter den langsamen gleitenden Durchschnitt von oben überschreitet, wird er als Verkaufssignal betrachtet. Diese Strategie kombiniert zwei gleitende Durchschnitte und kann effektiv Marktlärm filtern und Trends identifizieren.

Strategieprinzipien

Die wichtigsten Schritte dieser Strategie sind:

  1. Festlegen Sie den schnellen gleitenden Durchschnitt fastMA und den langsam gleitenden Durchschnitt slowMA.

  2. Berechnen Sie den schnellen gleitenden Durchschnitt schneller und langsamer gleitender Durchschnitt auf der Grundlage des Eingabetyps Typ. Typ = 1 ist einfacher gleitender Durchschnitt, Typ = 2 ist exponentieller gleitender Durchschnitt.

  3. Setzen Sie den Backtest-Zeitrahmen Start und Ende.

  4. Definieren Sie die Crossover-Funktion: Wenn schnell über langsam kreuzt, erzeugen Sie ein Kaufsignal; wenn schnell unter langsam kreuzt, erzeugen Sie ein Verkaufssignal.

  5. Wenn die Crossover-Funktion ausgelöst wird, wird, wenn sie innerhalb des Backtest-Zeitrahmens liegt, ein Long- oder ein Short-Order ausgegeben.

  6. Wenn das Backtestfenster endet oder die Crossover-Funktion sich unterhalb des Fensters befindet, wird eine Long-Schließung angeordnet.

  7. Zeichnen Sie den schnellen gleitenden Durchschnitt schneller und den langsamen gleitenden Durchschnitt langsamer.

Diese Strategie verwendet die Überschneidung von schnellen und langsamen gleitenden Durchschnitten, um den Trend innerhalb des Haltezeitraums zu bestimmen und entsprechend Handelssignale zu generieren.

Analyse der Vorteile

Die Vorteile dieser Strategie:

  1. Gleitende Durchschnitte sind wirksam bei der Bestimmung von Trends und Filterung zufälliger Schwankungen.

  2. Die Kombination von schnellen und langsamen gleitenden Durchschnitten kann Trendveränderungen erkennen.

  3. Die Parameter der gleitenden Durchschnittswerte können an unterschiedliche Periodenentwicklungen angepasst werden.

  4. Flexible Wahl zwischen einfachen und exponentiellen gleitenden Durchschnitten.

  5. Die Backtest-Funktionalität ermöglicht das Testen und Optimieren von Strategieparametern.

  6. Einfache und klare Logik, leicht zu verstehen und umzusetzen.

  7. Durch das Zeichnen von gleitenden Durchschnittsdiagrammen können Trends und Effekte visuell ermittelt werden.

Risikoanalyse

Einige Risiken dieser Strategie:

  1. Kann während der Bereichsbegrenzung falsche Signale erzeugen.

  2. Gleitende Durchschnitte haben einen Verzögerungseffekt, können Wendepunkte verpassen.

  3. Stützt sich ausschließlich auf die Kreuzung des gleitenden Durchschnitts, keine anderen Indikatoren oder Filter.

  4. Die Handelskosten werden nicht berücksichtigt.

  5. Keine Stop-Loss Strategie.

  6. Unvernünftige Parameter-Einstellungen können die Strategieleistung beeinträchtigen.

  7. Eine unsachgemäße Auswahl des Backtest-Zeitraums kann zu einer Überanpassung führen.

Optimierungsrichtlinien

Die Strategie kann in folgenden Aspekten optimiert werden:

  1. Hinzufügen anderer Indikatoren wie MACD, RSI, um Signale zu bestätigen und die Genauigkeit zu verbessern.

  2. Hinzufügen einer Stop-Loss-Strategie, um Einzelverluste zu kontrollieren.

  3. Optimierung der gleitenden Durchschnittsparameter für verschiedene Zeiträume.

  4. Zusätzliche Positionsgröße basierend auf den Marktbedingungen.

  5. Berücksichtigen Sie die Handelskosten, passen Sie die Einstiegs- und Ausstiegspunkte an.

  6. Testen Sie längere Zeitrahmen, um Überanpassung zu vermeiden.

  7. Kontinuierliche Optimierung der Parameter unter Verwendung von Walks Forward-Analysen.

Zusammenfassung

Die gleitende Durchschnitts-Crossover-Strategie ist eine einfache und praktische Trendfolgestrategie. Sie kann zufällige Schwankungen filtern und Trendrichtungen identifizieren. Aber sie hat auch einige Probleme wie den Nachlass-Effekt und sollte mit anderen Indikatoren kombiniert werden. Kontinuierliche Optimierung und Tests können die Strategieleistung verbessern und sie für den Live-Handel zuverlässiger machen. Insgesamt eignet sich diese Strategie für Anleger mit relativ niedrigen Anforderungen an die Trendbestimmung.


/*backtest
start: 2023-09-13 00:00:00
end: 2023-09-20 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
// strategy("MavCrossover v2", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)

// Revision:        1
// Author:          @ToS_MavericK

// === INPUT SMA ===
fastMA  = input(defval = 13,  title = "FastMA", minval = 1, step = 1)
slowMA  = input(defval = 144,  title = "SlowMA", minval = 1, step = 1)
Type    = input(defval = 1,  title = "Type (1 = SMA, 2 = EMA)", minval = 1, maxval = 2, step = 1)
SlowMAIsFactor = input(false)

slowMA := SlowMAIsFactor == true ? round(fastMA * slowMA) : slowMA

// === INPUT BACKTEST RANGE ===
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromYear  = input(defval = 2018, title = "From Year", minval = 2012)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToYear    = input(defval = 2020, 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"

// === MA SETUP ===
fast = Type == 1 ? sma(close, fastMA) : ema(close, fastMA)
slow = Type == 1 ? sma(close, slowMA) : ema(close, slowMA)

// === EXECUTION ===
strategy.entry("L", strategy.long, when = crossover(fast, slow) and window())   // buy long when "within window of time" AND crossover
strategy.close("L", when = crossunder(fast, slow) or time > finish)             // sell long when window ends OR crossunder         

plot(fast, title = 'FastMA', color = yellow, linewidth = 2, style = line)  // plot FastMA
plot(slow, title = 'SlowMA', color = aqua, linewidth = 2, style = line)    // plot SlowMA

Mehr