Strategie für die Kreuzung von mobilen Durchschnitten

Schriftsteller:ChaoZhang, Datum: 2024-02-04 10:31:45
Tags:

移动平均交叉优化策略

Übersicht

Die Strategie basiert auf der Herstellung von Kauf- und Verkaufssignalen, die auf den üblichen gleitenden Durchschnittskreuzungen basieren, jedoch mit einigen Änderungen, um eine genauere Handelssignal zu erzeugen. Die Strategie, die die Kreuzung von schnellen und langsamen gleitenden Durchschnitten kombiniert, um Trends zu bestimmen, gehört zur Trendverfolgungsstrategie.

Die Strategie

Wenn ein schneller gleitender Durchschnitt den langsamen gleitenden Durchschnitt von unten durchbricht, wird es als ein Kaufsignal angesehen; wenn ein schneller gleitender Durchschnitt den langsamen gleitenden Durchschnitt von oben durchbricht, wird es als ein Verkaufsignal angesehen.

Der Schlüssel zur Strategie besteht in der Auswahl eines schnellen und langsamen Durchschnitts. Diese Strategie verwendet als Schnell- und als Langsam-Durchschnittsindex 50 und 100 als Durchschnittsindex. Die Strategiewirkung kann durch Anpassung der Durchschnittsparameter optimiert werden.

Stärkenanalyse

Die Strategie, die mit zwei Gleichlinien kombiniert wird, kann Trends effektiv filtern und Trends identifizieren. Im Vergleich zu einer einheitlichen Strategie kann die Strategie die Gewinnchancen erhöhen. Zusätzlich kann die Einstellung von Stop-Loss-Lösungen die Verluste einzelner Trades begrenzen.

Die Strategie verwendet das Kreuzprinzip, um Trendwendepunkte zu bestimmen und Trendchancen rechtzeitig zu erfassen. Die Strategie ist im Vergleich zu Strategien mit komplexer bedingter Logik leicht zu verstehen und zu implementieren.

Risikoanalyse

Die Strategie kann drei Risiken aufweisen: falsches Parameterrisiko, falsches Haltezeitrisiko und falsches Stop-Loss-Risiko.

  • Eine falsche Auswahl der Gleichstrangparameter führt zu einem falschen Signal. Wenn die Gleichstranglänge zu kurz oder zu lang ist, wird der Markt falsch beurteilt und sollte entsprechend an die spezifischen Merkmale der Sorte angepasst werden.

  • Eine zu lange oder zu kurze Haltedauer, um den Gewinn oder das Risiko nicht zu maximieren oder zu kontrollieren. Verschiedene Ausgänge müssen getestet werden, um den optimalen Haltedauer zu bestimmen.

  • Eine falsche Einstellung der Stoppposition führt zu einer zu lockeren oder zu spannenden Stoppposition, die entsprechend der Variationsfrequenz bestimmt wird.

Optimierung

Die Strategie kann in folgenden Bereichen optimiert werden:

  • Versuche mehr Kombinationen von Gleichungsparametern, um die besten zu finden.

  • Dynamische Stop-Loss-Positionen basierend auf den letzten N-Tage-Preisschwankungen oder ATRs

  • Mit mehr Indikatoren wie MACD, KD, etc. wird der Einstiegszeitpunkt bestimmt.

  • Trends filtern, um den Markt zu vermeiden

  • Es kann in Betracht gezogen werden, die Strategie auf mehr Arten anzuwenden oder sie zu einer inter-artenartigen Strategie zu verbessern.

Zusammenfassung

Die mobile Mittel-Cross-Optimierung-Strategie integriert die Vorteile einer schnellen, langsamen Trendorientierung und setzt Stopp-Losses zur Risikokontrolle ein. Sie ist eine leicht umsetzbare Trend-Tracking-Strategie. Sie kann durch Parameteroptimierung, Stopp-Loss-Optimierung, Signalfilterung und andere Methoden die Stabilität und Effizienz weiter verbessern.


/*backtest
start: 2024-01-27 00:00:00
end: 2024-02-03 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ashishchauhan
strategy(title="MA CO Strategy Test", overlay=true, pyramiding=0, initial_capital=100000)

fastEMALen = input(title="Fast EMA Length", type=input.integer, defval=50)
slowEMALen = input(title="Slow EMA Length", type=input.integer, defval=100)

fastEMA = ema(close, fastEMALen)
slowEMA = ema(close, slowEMALen)

enterLong = crossover(fastEMA, slowEMA)
enterShort = crossunder(fastEMA, slowEMA)

longStop = 0.0
longStop := enterShort ? close : longStop[1]

shortStop = 0.0
shortStop := enterLong ? close : shortStop[1]

plot(series=fastEMA, color=color.orange, title="Fast EMA")
plot(series=slowEMA, color=color.teal, linewidth=3, title="Slow EMA")

if enterLong
    strategy.entry(id="GoLong", long=true)

if enterShort
    strategy.entry(id="GoShort", long=false)

if strategy.position_size > 0
    strategy.exit(id="ExLong", from_entry="GoLong", stop=longStop)

if strategy.position_size < 0
    strategy.exit(id="ExShort", from_entry="GoShort", stop=shortStop)

strategy.close_all()


Weitere Informationen