MA Wendepunkt Lang- und Kurzzeitstrategie

Schriftsteller:ChaoZhang, Datum: 2024-01-17 11:56:53
Tags:

img

Übersicht

Diese Strategie beurteilt den Trend anhand der Wendepunkte der gleitenden Durchschnittslinie, um bei der Wendepunkt des MA-Uplifttrends lang zu gehen und bei der Wendepunkt des MA-Abwärtstrends kurz zu gehen.

Strategieprinzip

Die Strategie verwendet price=security ((tickerid, Periode, close), um den Schlusskurs als Preis für die Strategieanalyse zu erhalten, berechnet dann die SMA oder EMA auf der Grundlage der Eingabewahl von ma1-Länge, um den ersten durchschnittlichen Linienpreis zu erhalten1. roc1 wird dann als ein Tageswechselkurs des Preises definiert1. Durch den Schwellenwert TrendStrength1 beurteilt sie, ob die durchschnittliche Linie einen signifikanten Anstieg oder Fall hat. Wenn roc1 den TrendStrength1 überschreitet, wird ma1up als wahr definiert, was bedeutet, dass die durchschnittliche Linie steigt. Wenn roc1 unter dem negativen TrendStrength1 liegt, wird ma1down als wahr definiert, was bedeutet, dass die durchschnittliche Linie fällt. Ein langes Signal wird ausgegeben, wenn die durchschnittliche Linie steigt und der vorherige Tag fällt. Ein kurzes Signal wird ausgegeben, wenn die durchschnittliche Linie fällt und der vorherige Tag steigt.

Die Strategie nutzt somit die Wendepunkte der gleitenden Durchschnittslinie, um die Trendänderung des Aktienkurses zu erfassen, die zu einer typischen Trendfolgestrategie gehört.

Analyse der Vorteile

Der größte Vorteil dieser Strategie besteht darin, dass sie die Wendepunkte der gleitenden Durchschnittslinie nutzt, um den Trend zu beurteilen, was eine relativ reife und zuverlässige technische Analysemethode im quantitativen Handel ist.

  1. Der gleitende Durchschnitt glättet die Preise aus und kann etwas Rauschen filtern, um Trendumkehrungen zuverlässiger zu erkennen.

  2. Diese Strategie erkennt nicht nur Wendepunkte, sondern setzt auch einen Schwellenwert für den Wendegrad, so dass unnötige Trades vermieden werden können, die durch falsche Ausbrüche am gleitenden Durchschnitt verursacht werden.

  3. Diese Strategie hat nur einen gleitenden Durchschnitt und einige Parameter, die für Benutzer leicht zu verstehen und zu meistern sind.

Risikoanalyse

Die wichtigsten Risiken dieser Strategie sind:

  1. Diese Strategie ist eine Trend-Folge-Strategie, die nur Trends folgen kann und keine Markt-Ober- und Unterstände vorhersagen kann und so schnell Umkehrmöglichkeiten verpasst.

  2. Bewegliche Durchschnittsverzögerungsprobleme: Bewegliche Durchschnittswerte weisen eine gewisse Verzögerung bei der Reflexion von Kursbewegungen auf, was sich auf die Aktualität der Identifizierung von Trendumkehrungen auswirken kann.

  3. Eine falsche vorherige Optimierung der Parameter beeinflusst direkt die Ergebnisse. Parameter-Einstellungen dieser Strategie wie Anzahl der Perioden der Durchschnittslinie und Schwelle der Veränderungsrate Gradient wird direkt Auswirkungen auf die Strategie's Gewinn, Drawdown usw. und muss sorgfältig getestet und optimiert werden.

Die entsprechenden Lösungen sind:

  1. Sie kombinieren andere Indikatoren angemessen, um wichtige Bull- und Bear-Wendepunkte vorherzusagen.

  2. Test EMA und andere schnellere gleitende Durchschnitte anstelle von SMA.

  3. Es wird empfohlen, Multi-Optimierung durchzuführen, um die besten Parameter-Einstellungen zu finden.

Optimierungsrichtlinien

Diese Strategie kann in folgenden Richtungen weiter optimiert werden:

  1. Hinzufügen einer zweiten gleitenden Durchschnittslinie, um eine goldenen Kreuz und toten Kreuz-Strategie zu bilden. Dies nutzt die Beziehung zwischen zwei gleitenden Durchschnitten, um Trends und Filterlärm zu bestimmen.

  2. Durch die Beobachtung von Veränderungen des Volumens an den gleitenden Durchschnitts-Wendepunkten kann die Zuverlässigkeit der Wendepunkte weiter überprüft werden.

  3. Test unterstützende Rollen anderer technischer Indikatoren wie RSI und MACD. Diese Indikatoren können auch dazu beitragen, Trends zu bestimmen und Kombinationsstrategien mit gleitenden Durchschnittswendepunkten zu bilden.

  4. Optimierung und Überprüfung von Parametern für mehrere Marktbedingungen.

  5. Verwenden Sie maschinelle Lernmethoden, um Parameter in verschiedenen Marktumgebungen dynamisch zu optimieren und die Parameterrobustheit für die dynamische Optimierung zu bewerten.

Schlussfolgerung

Zusammenfassend ist dies ein relativ reifer Trend-Folge-Strategie mit etwas praktischem Wert. Die Strategieidee ist einfach und klar, mit wenigen anpassbaren Parametern, die leicht zu verstehen und zu testen sind. Gleichzeitig gibt es auch Probleme wie Trend-Folge-Lag. Es wird empfohlen, mit anderen Indikatoren zu kombinieren, zu testen und zu optimieren, oder Mechanismen für dynamische Parameteranpassung einzuführen, um die Stabilität und den praktischen Effekt der Strategie weiter zu verbessern.


/*backtest
start: 2023-01-10 00:00:00
end: 2024-01-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("MA Turning Point Strategy", overlay=true)
src = input(close, title="Source")

price = request.security(syminfo.tickerid, timeframe.period, src)
ma1 = input(25, title="1st MA Length")
type1 = input("SMA", "1st MA Type", options=["SMA", "EMA"])

price1 = if (type1 == "SMA")
    sma(price, ma1)
else
    ema(price, ma1)

plot(series=price1, style=line,  title="1st MA", color=blue, linewidth=2, transp=0)

lookback1 = input(1, "Lookback 1")
roc1 = roc(price1, lookback1)

ma1up = false
ma1down = false
ma2up = false
ma2down = false

ma1up := nz(ma1up[1])
ma1down := nz(ma1down[1])
ma2up := nz(ma2up[1])
ma2down := nz(ma2down[1])

trendStrength1 = input(2.5, title="Minimum slope magnitude * 100", type=float) * 0.01

if crossover(roc1, trendStrength1)
    ma1up := true
    ma1down := false
    
if crossunder(roc1, -trendStrength1) 
    ma1up := false
    ma1down := true

longCondition = ma1up and ma1down[1]
if (longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = ma1down and ma1up[1]
if (shortCondition)
    strategy.entry("Short", strategy.short)



Mehr