Momentum-Doppelmittelstrategie

Schriftsteller:ChaoZhang, Datum: 2023-11-17 17:00:32
Tags:

img

Übersicht

Diese Strategie nutzt die Dynamik-Doppel-Drehdurchschnitts-Crossover-Methode, um den Handel mit geringem Risiko umzusetzen. Sie verwendet zwei gleitende Durchschnittswerte unterschiedlicher Perioden, eine schnelle Linie und eine langsame Linie, um Ein- und Ausstiegssignale basierend auf ihrem Crossover zu bestimmen. Das Ziel dieser Strategie ist es, Trendänderungen zu erfassen und langfristige Gewinne während der großen Trends zu generieren.

Strategie Logik

Die Strategie erzeugt Handelssignale basierend auf dem Überschreiten einer schnellen WMA-Linie und einer langsamen WMA-Linie. Die Periode der schnellen Linie ist die Hälfte der Periode der langsamen Linie. Ein Kaufsignal wird erzeugt, wenn die schnelle Linie über die langsame Linie von unten überschreitet. Ein Verkaufssignal wird erzeugt, wenn die schnelle Linie unter die langsame Linie von oben überschreitet. Um falsche Signale auszufiltern, enthält sie auch einen Momentum-Indikator basierend auf dem Unterschied zwischen zwei gleitenden Durchschnitten. Ein Handelssignal wird nur erzeugt, wenn der MA-Crossover gleichzeitig mit dem Momentum-Indikator auftritt, der die Formenanforderungen erfüllt.

Insbesondere umfasst die Schlüssellogik:

  1. Definition von Preisinput und -parametern: Erhalten Sie OHLC-Preisdaten; Definition von Parametern HullMA Periode z, Preisgegebenheiten p.

  2. Berechnung der doppelten MA: Berechnung der zweiperiodischen MA n2ma, der z-periodischen MA nma.

  3. Berechnung der MA-Differenz: Berechnung der Differenz zwischen zwei MA-Diff.

  4. Berechnung des Impulsindikators: Berechnung des gleitenden Durchschnitts der Diff - n1, n2, n3 mit Periode sqn.

  5. Bestimmung der Kreuzung: Markieren Sie n1 über n2 als grün, andernfalls rot.

  6. Flächenformen: Fläche n1 und n2.

  7. Identifizieren von Signalen: Erzeugen von Signalen, wenn sich n1, n2, n3 in die gleiche Richtung ausrichten.

  8. Eintritt und Ausstieg: Long gehen, wenn die Schnelllinie über der langsamen Linie und der Impulsindikator übereinstimmen; Short gehen, wenn die Schnelllinie unter der langsamen Linie und der Impulsindikator übereinstimmen.

Vorteile

Durch die Kombination von Doppel-MA-Crossover und Momentum-Indikator kann diese Strategie falsche Signale effektiv herausfiltern und nur am Anfang von Trendänderungen Trades generieren, wodurch eine gute Strategieleistung erzielt wird.

  1. Der MA-Crossover erkennt Veränderungen des Trends und profitiert von diesen.

  2. Der Momentum-Indikator filtert falsche Signale aus und vermeidet, von kurzfristigen Schwankungen getäuscht zu werden.

  3. Nur der Handel mit großen Trendänderungen verringert die unnötige Handelsfrequenz.

  4. Die Parameteroptimierung entspricht den Eigenschaften der verschiedenen Produkte.

  5. Ein gewisses Maß an Pyramiden erlaubt, Profitzyklen zu verlängern.

Risiken

Es gibt auch einige Risiken, die man beachten sollte:

  1. Der Dual-MA-Crossover hat bei der Erkennung von Trendveränderungen Verzögerungen, möglicherweise fehlt das beste Timing.

  2. Die falsche Einstellung der Parameter auf dem Impulsindikator kann zu schlechten Signalen führen.

  3. Es besteht ein Ungleichgewicht zwischen langen und kurzen Haltungszeiten.

  4. Die Strategie fehlt an Mechanismen, um mit unsicheren Marktbedingungen umzugehen.

  5. Es besteht die Gefahr einer Überoptimierung, die eine schrittweise Optimierung der Parameter erfordert.

Einige Lösungen:

  1. Erwägen Sie, andere führende Indikatoren hinzuzufügen, um Preisänderungen frühzeitig zu erkennen.

  2. Optimieren Sie die Parameter des Impulsindikators, um die besten Kombinationen zu finden.

  3. Zusätzlicher Volatilitätsindikator für die Kontroll-Haltedauer

  4. Beschränken Sie die Positionsgröße, um Einzelverluste zu reduzieren.

  5. Prüfung der Parameterrobustheit zur Vermeidung einer Überoptimierung.

Verbesserungsrichtlinien

Die Strategie kann in folgenden Bereichen verbessert werden:

  1. Versuche verschiedene Arten von MA, um für jedes Produkt optimale Parameter zu finden.

  2. Fügen Sie andere Indikatoren wie MACD, Bollinger Bands hinzu, um Trendveränderungen zu bestimmen.

  3. Optimieren Sie den Eintrittszeitpunkt, um die Wendepunkte genau zu bestimmen.

  4. Optimieren Sie die Ausgänge, um Gewinne zu erzielen.

  5. Parameteroptimierung gemäß den Produktmerkmalen durchführen.

  6. Verwenden Sie maschinelles Lernen, um optimale Parameterkombinationen zu finden.

  7. Entwicklung dynamischer Positionsgrößenmechanismen zur Risikokontrolle.

  8. Fügen Sie quantitative Kennzahlen wie Sharpe-Ratio, Gewinnfaktor für die Strategiebewertung hinzu.

  9. Bewertung der Leistung anhand historischer Daten mit Hilfe der Backtesting-Engine.

Zusammenfassung

Zusammenfassend lässt sich sagen, dass diese Dynamik-Doppel-MA-Strategie wichtige Trendumkehrpunkte mit Hilfe von MA-Crossover und Momentum identifiziert, was einen risikoarmen Handel ermöglicht. Sie hat Vorteile wie stabile Gewinne und einfache Implementierung, aber auch Verbesserungsprobleme wie Parameteroptimierung und Risikokontrolle. Wir können Bereiche wie Eintritts-/Ausgangszeiten, dynamische Positionsgröße verfeinern, um uns besser an die Marktbedingungen anzupassen. Umfangreiche Validierung und Evaluierung sind entscheidend, um eine robuste Strategieleistung zu gewährleisten. Insgesamt bietet diese Strategie einen einfachen, aber effektiven Ansatz für den quantitativen Handel, erfordert aber kontinuierliche Optimierungen und Validierungen, um eine konsistente Anlagerendite zu erzielen.


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

//@version=2
//OCTOPUS Indicator Strategy
strategy("FAVEL corp. Indicator Strategy", shorttitle="FAVEL corp. Monarch", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=420, default_qty_value=20, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0)
z=input(defval=60,title="HullMA cross")
p=input(ohlc4,title="Price data")
n2ma=2*wma(p,round(z/2))
nma=wma(p,z)
diff=n2ma-nma
sqn=round(sqrt(z))
n2ma1=2*wma(p[1],round(z/2))
nma1=wma(p[1],z)
diff1=n2ma1-nma1
sqn1=round(sqrt(z))
n2ma2=2*wma(p[2],round(z/2))
nma2=wma(p[2],z)
diff2=n2ma2-nma2
sqn2=round(sqrt(z))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
n3=wma(diff2,sqn)
c=n1>n2?green:red
n1e=plot(n1, color=c, linewidth=1, offset=2)
n2e=plot(n2, color=c, linewidth=1, offset=2)
fill(n1e, n2e, color=c, transp=75)
plot(cross(n1, n2) ? n1 : na, style = circles,color=c, linewidth = 4)
closelong = p<p[1] and n1<n3
if (closelong)
    strategy.close("BUY")
closeshort = p>p[1] and n1>n3
if (closeshort)
    strategy.close("SELL")
longCondition = strategy.opentrades<1 and n1>n2 and p>p[1] and n1>n3
if (longCondition)
    strategy.entry("BUY",strategy.long)
shortCondition = strategy.opentrades<1 and n1<n2 and p<p[1] and n1<n3
if (shortCondition)
    strategy.entry("SELL",strategy.short)

Mehr