Klassische Kreuzung von doppelten gleitenden Durchschnitten

Schriftsteller:ChaoZhang, Datum: 2023-10-27 16:47:30
Tags:

img

Übersicht

Die doppelte gleitende Durchschnitts-Crossover-Strategie ist eine sehr klassische und häufig verwendete technische Analyse-Strategie. Diese Strategie nutzt das Crossover eines schnelleren gleitenden Durchschnitts und eines langsameren gleitenden Durchschnitts als Handelssignale für Kauf und Verkauf. Wenn der schnellere gleitende Durchschnitt über den langsameren gleitenden Durchschnitt von unten kreuzt, wird ein Kaufsignal generiert. Wenn der schnellere gleitende Durchschnitt unter den langsameren gleitenden Durchschnitt von oben kreuzt, wird ein Verkaufssignal generiert.

Strategie Logik

Zu den wichtigsten Bestandteilen des Strategiecodes gehören:

  1. Definition der Länge und Art der schnellen und langsam gleitenden Durchschnitte: Die schnelle MA hat eine Periode von 5 Jahren, die langsame MA hat eine Periode von 21 Jahren, wobei beide einfache gleitende Durchschnitte verwenden.

  2. Berechnung der schnellen und langsamen Wechselkurse: Verwendung der Funktion sma zur Berechnung der einfachen gleitenden Durchschnittswerte mit 5 und 21 Perioden.

  3. Zeichnen Sie das Diagramm: Zeichnen Sie die Trendlinien der schnellen und langsamen MAs.

  4. Definition der Einstiegs- und Ausstiegsregeln: Kaufen, wenn die schnelle MA über die langsame MA überschreitet, verkaufen, wenn die schnelle MA unter die langsame MA überschreitet.

  5. Ausführen von Trades: Verwenden Sie die langen und kurzen Funktionen der Strategie, um Trades automatisch auszuführen, wenn die Bedingungen erfüllt sind.

Der Schlüssel zu dieser Strategie besteht darin, gleitende Durchschnitte verschiedener Perioden zu verwenden, um die schnellen und langsamen MA zu bilden, und ihre Crossovers als Handelssignale zu verwenden. Der schnelle MA erfasst Preisänderungen schneller, während der langsame MA den langfristigen Trend besser widerspiegelt. Der Crossover des schnellen MA über dem langsamen MA zeigt einen Aufbruch an, der ein Kaufsignal ist. Und der Crossover unten ist ein Verkaufssignal. Die Logik dieser Strategie ist einfach und einfach umzusetzen.

Analyse der Vorteile

Die doppelte Kreuzung der gleitenden Durchschnitte hat folgende Vorteile:

  1. Einfacher Grundsatz, leicht zu verstehen, für Anfänger geeignet.

  2. Folgen Sie dem Preistrend, kleinen Rückzug.

  3. Moderate Handelsfrequenz, vermeiden Sie Überhandelungen.

  4. Anpassungsfähige Parameter, flexibel an die Marktänderungen angepasst.

  5. Einfach zu optimieren und geeignete persönliche Parameter zu finden.

  6. Kann Stop-Loss einstellen, um das Risiko zu kontrollieren.

  7. Kann in verschiedenen Märkten verwendet werden, hohe Anwendbarkeit.

  8. Kann mit anderen Indikatoren kombiniert werden, um die Leistung zu verbessern.

Risikoanalyse

Diese Strategie birgt auch einige Risiken:

  1. Eine verzögerte Reaktion, wenn der Trend stark ist, kann den besten Einstiegszeitpunkt verpassen.

  2. Mehr falsche Signale während der Range-gebundenen Märkte können Filter hinzufügen um falsche Trades zu vermeiden.

  3. Zu viele Transaktionen können die Rentabilität beeinträchtigen, die MA-Distanz vergrößern, um Crossovers zu reduzieren.

  4. Es ist schwierig, den Trend zu bestimmen, das Risiko eines Gegentrends kann Trendindikatoren hinzufügen.

  5. Parameteroptimierung erfordert ausreichende historische Daten, Risiko einer Überanpassung an neue Produkte.

  6. Ein einzelner Indikator, anfällig für äußere Faktoren, die Leistung kann instabil sein, kann mit anderen Indikatoren zur Überprüfung kombiniert werden.

Optimierungsrichtlinien

Es gibt einige Möglichkeiten, die Dual-MA-Strategie weiter zu optimieren:

  1. Versuche verschiedene schnelle und langsame MA-Längen, um die optimalen Parameter für bestimmte Handelsprodukte zu finden.

  2. Fügen Sie Filter wie Handelsvolumen, ATR Stop Loss hinzu, um minderwertige Chancen zu reduzieren.

  3. Kombination von Momentum-Indikatoren zur Bestätigung von Handelssignalen und Vermeidung falscher Ausbrüche.

  4. Optimieren Sie Stop-Loss-Strategien, um vorzeitige oder späte Ausstiege zu vermeiden.

  5. Einbeziehung von Trend- und Wellenindikatoren, um dem Trend- und Gegentrendhandel zu ermöglichen.

  6. Anpassungsfähige MAs zur Anpassung von Parametern anhand von Marktbedingungen anstelle von festen Zeiträumen.

  7. Verwenden Sie Kombinationen von Parametern für verschiedene Marktsitzungen und -merkmale.

  8. Durchführung von Echtzeitoptimierungen über Algorithmen für maschinelles Lernen zur kontinuierlichen Verbesserung von Parametern.

Zusammenfassung

Durch seine einfache Logik und einfache Implementierung ist die doppelte gleitende Durchschnitts-Crossover-Strategie zu einer der wichtigsten und am häufigsten verwendeten technischen Analyse-Strategien geworden. Sie folgt dem Preistrend mit kontrolliertem Rückzug und akzeptablem Risiko. Es gibt aber auch ein enormes Optimierungspotenzial, indem Parameter abgestimmt, andere Indikatoren und automatisierte Algorithmen integriert werden, die Anwendbarkeit und Leistung weiter verbessert werden können. Insgesamt verdient die doppelte MA-Crossover-Strategie große Aufmerksamkeit und langfristige Anwendung durch Anleger.


/*backtest
start: 2023-09-26 00:00:00
end: 2023-10-26 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
// strategy("Stochastic Strategy of BiznesFilosof", shorttitle="SS of BiznesFilosof", overlay=false, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=20, commission_type=strategy.commission.percent, commission_value=0.15, pyramiding=0)

//Period
startY = input(title="Start Year", defval = 2011)
startM = input(title="Start Month", defval = 1, minval = 1, maxval = 12)
startD = input(title="Start Day", defval = 1, minval = 1, maxval = 31)
finishY = input(title="Finish Year", defval = 2050)
finishM = input(title="Finish Month", defval = 12, minval = 1, maxval = 12)
finishD = input(title="Finish Day", defval = 31, minval = 1, maxval = 31)
//finish = input(2019, 02, 28, 00, 00)
timestart = timestamp(startY, startM, startD, 00, 00)
timefinish = timestamp(finishY, finishM, finishD, 23, 59)
window = true // Lenghth strategy

length1 = input(21, minval=1), smoothK1 = input(3, minval=1), smoothD1 = input(3, minval=1)
//length2 = input(5, minval=1), smoothK2 = input(1, minval=1), smoothD2 = input(1, minval=1)
inh0 = input(title="Bottom Line", defval = 14, minval=0), inh1 = input(title="Upper Line", defval = 86, minval=0)

k1 = sma(stoch(close, high, low, length1), smoothK1)
d1 = sma(k1, smoothD1)
plot(k1, color=blue)
plot(d1, color=red)
//k2 = sma(stoch(close, high, low, length2), smoothK2)
//d2 = sma(k2, smoothD2)
//plot(k2, color=orange)

h1 = hline(inh1)
h0 = hline(inh0)
fill(h0, h1, color = aqua, transp=90)

//open
strategy.entry("LongEntryID", strategy.long, comment="LONG", when = crossover(k1, d1) and crossover(k1, inh0) and window)
strategy.entry("ShortEntryID", strategy.short, comment="SHORT", when = crossunder(k1, d1) and crossunder(k1, inh1) and window)

if crossunder(k1, d1) and crossunder(k1, inh1) and strategy.position_size > 0
    strategy.close_all()
if crossover(k1, d1) and crossover(k1, inh0) and strategy.position_size < 0
    strategy.close_all()
  
    


Mehr