Die Strategie des doppelten gleitenden Durchschnitts

Schriftsteller:ChaoZhang, Datum: 2024-03-11 12:06:22
Tags:

img

Strategieübersicht

Die Dual Moving Average Crossover Strategie ist eine klassische Trendfolgestrategie. Diese Strategie verwendet zwei gleitende Durchschnitte mit unterschiedlichen Perioden, um Markttrends zu erfassen. Wenn der schnelle gleitende Durchschnitt über den langsamen gleitenden Durchschnitt überschreitet, erzeugt er ein langes Signal. Wenn der schnelle gleitende Durchschnitt unter den langsamen gleitenden Durchschnitt überschreitet, erzeugt er ein kurzes Signal. Die Kernidee dieser Strategie ist, dass der schnelle gleitende Durchschnitt preisempfindlicher ist und schneller auf Veränderungen der Markttrends reagieren kann, während der langsame gleitende Durchschnitt den langfristigen Trend des Marktes widerspiegelt. Durch die Analyse des Crossovers der beiden gleitenden Durchschnitte können wir den Wendepunkt des Markttrends bestimmen und entsprechend Trades tätigen.

Strategieprinzip

In diesem Strategiecode werden zwei gleitende Durchschnitte verwendet: ein schneller gleitender Durchschnitt (Standard 14-Perioden) und ein langsamer gleitender Durchschnitt (Standard 28-Perioden).

Die Hauptlogik der Strategie ist folgende:

  1. Berechnen Sie die Werte des schnellen und des langsamen gleitenden Durchschnitts
  2. Wenn der schnelle gleitende Durchschnitt über den langsamen gleitenden Durchschnitt geht, erzeugt er ein Long-Signal und eröffnet eine Long-Position.
  3. Wenn der schnelle gleitende Durchschnitt unter den langsamen gleitenden Durchschnitt überschreitet und ein Shorting zulässig ist (allowShorting=true), wird ein Shortsignal erzeugt und eine Shortposition eröffnet.
  4. Wenn der schnelle gleitende Durchschnitt unter den langsamen gleitenden Durchschnitt geht und ein Shorting nicht zulässig ist (allowShorting=false), wird die Longposition geschlossen.

Durch diese Logik kann die Strategie den Haupttrend des Marktes verfolgen, indem sie Long-Positionen in einem Aufwärtstrend und Short-Positionen oder keine Positionen in einem Abwärtstrend hält.

Strategische Vorteile

  1. Einfache und klare Logik, leicht zu verstehen und umzusetzen
  2. Geeignet für Trendmärkte, kann mittelfristige und langfristige Markttrends effektiv erfassen
  3. Einstellbare Parameter für verschiedene Märkte und Handelsinstrumente
  4. Kann flexibel wählen, ob ein Shorting auf der Grundlage von Marktmerkmalen und persönlichen Vorlieben zulässig ist
  5. Gleitende Durchschnitte sind klassische Indikatoren der technischen Analyse, die weit verbreitet und validiert werden.

Strategische Risiken

  1. In den Bereichsgebundenen Märkten können häufige Kreuzungen von gleitenden Durchschnitten zu häufigem Handel und erhöhten Transaktionskosten führen
  2. Wenn der schnelle gleitende Durchschnitt zu kurz oder der langsame gleitende Durchschnitt zu lang gewählt wird, kann dies zu Signalverzögerungen führen und die besten Handelsmöglichkeiten verpassen
  3. Wenn sich die Marktentwicklung umkehrt, kann die Strategie in Folgeverluste erleiden
  4. Festgelegte gleitende Durchschnittsperiodenparameter können sich möglicherweise nicht an dynamische Marktveränderungen anpassen

Um diesen Risiken entgegenzuwirken, können folgende Maßnahmen ergriffen werden:

  1. Optimierung der gleitenden Durchschnittsperiodenparameter auf der Grundlage der Merkmale des Marktes und Auswahl geeigneter Längen für schnelle und langsame gleitende Durchschnittswerte
  2. Auf marktgebundenen Märkten sollten Filterbedingungen wie die ATR-Filterung oder die Filterung des gleitenden mittleren Kreuzwinkels hinzugefügt werden.
  3. Festlegung angemessener Stop-Loss- und Take-Profit-Niveaus zur Kontrolle des Einzelhandelsrisikos
  4. Durchführung regelmäßiger Backtests und Bewertungen und Anpassung der Strategieparameter an Marktveränderungen

Optimierung der Strategie

  1. Einführung von mehr technischen Indikatoren wie MACD und RSI, um eine Multi-Faktor-Strategie zu entwickeln und die Signalgenauigkeit zu verbessern
  2. Optimierung des Positionsmanagements, z. B. Berücksichtigung von Faktoren wie ATR oder Volatilität zur dynamischen Anpassung der Positionsgrößen
  3. Bei den Märkten mit Bandbreitebegrenzung sollten Trenddeterminationsindikatoren wie ADX eingeführt werden, um häufigen Handel zu vermeiden.
  4. Verwenden Sie maschinelles Lernen oder Optimierungsalgorithmen, um automatisch die optimale Parameterkombination zu finden

Diese Optimierungen können die Anpassungsfähigkeit und Stabilität der Strategie verbessern, um sich besser an verschiedene Marktbedingungen anzupassen. Es sollte jedoch auch beachtet werden, dass eine Überoptimierung zu einer Überanpassung der Strategie und zu schlechter Performance im Live-Handel führen kann. Weitere Validierung von Daten außerhalb der Stichprobe ist erforderlich.

Zusammenfassung

Die Dual Moving Average Crossover Strategie ist eine klassische Trendfolgestrategie, die Handelssignale durch das Crossover von zwei gleitenden Durchschnitten mit verschiedenen Perioden erzeugt. Sie hat eine einfache Logik, ist einfach zu implementieren und eignet sich für Trending-Märkte. Allerdings kann sie in bereichsgebundenen Märkten häufigen Handel und aufeinanderfolgende Verluste erleiden. Daher ist es bei der Verwendung dieser Strategie notwendig, die gleitenden Durchschnittsperiodenparameter basierend auf den Merkmalen des Marktes zu optimieren und angemessene Stop-Loss- und Take-Profit-Levels festzulegen. Darüber hinaus kann die Anpassungsfähigkeit und Stabilität der Strategie durch die Einführung mehrer technischer Indikatoren, die Optimierung des Positionsmanagements, die Trendbestimmung usw. verbessert werden.


/*backtest
start: 2024-02-09 00:00:00
end: 2024-03-10 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © z4011

//@version=5
strategy("#2idagos", overlay=true, margin_long=100, margin_short=100)
allowShorting = input.bool(true, "Allow Shorting")
fastMALength = input.int(14, "Fast MA Length")
slowMALength = input.int(28, "Slow MA Length")
fastMAType = input.string("Simple", "Fast MA Type", ["Simple", "Exponential", "Weighted", "Relative"])
slowMAType = input.string("Simple", "Fast MA Type", ["Simple", "Exponential", "Weighted", "Relative"]) 

float fastMA = switch fastMAType
    "Simple" => ta.sma(close, fastMALength)
    "Exponential" => ta.ema(close, fastMALength)
    "Weighted" => ta.wma(close, fastMALength)
    "Relative" => ta.rma(close, fastMALength)

plot(fastMA, color = color.aqua, linewidth = 2)

float slowMA = switch slowMAType
    "Simple" => ta.sma(close, slowMALength)
    "Exponential" => ta.ema(close, slowMALength)
    "Weighted" => ta.wma(close, slowMALength)
    "Relative" => ta.rma(close, slowMALength)

plot(slowMA, color = color.blue, linewidth = 2)


longCondition = ta.crossover(fastMA, slowMA)
if (longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = ta.crossunder(fastMA, slowMA) and allowShorting
if (shortCondition)
    strategy.entry("Short", strategy.short)

closeCondition = ta.crossunder(fastMA, slowMA) and not allowShorting
if (closeCondition)
    strategy.close("Long", "Close")


Mehr