Quantifizierungsstrategie für den gleitenden Durchschnitt

Schriftsteller:ChaoZhang, Datum: 22.12.2023
Tags:

img

Übersicht

Diese Strategie erzeugt Ein- und Ausstiegssignale, indem sie den exponentiellen gleitenden Durchschnitt der EMA und den MACD-Indikator berechnet und die Crossover-Signale beider kombiniert.

Strategie Logik

Diese Strategie verwendet den exponentiellen gleitenden Durchschnitt der EMA, um die aktuelle Trendrichtung zu bestimmen. Gleichzeitig verwendet sie den gleitenden Durchschnitts-Crossover des MACD-Indikators, um Handelssignale zu generieren. Nur wenn der Preis durch die EMA-Linie bricht, werden die MACD-Goldenkreuz- und Todeskreuzsignale berücksichtigt. Dies vermeidet falsche Signale.

Die Strategie basiert hauptsächlich auf den Vorteilen der gleitenden Durchschnittshandelsstrategien und der MACD-Handelsstrategien. Der gleitende Durchschnitt kann die Trendrichtung recht gut beurteilen. Die schnellen und langsamen Linienkreuzungen des exponentiellen gleitenden Durchschnitts des MACD können Kauf- und Verkaufspunkte anzeigen. Beide in Kombination zu verwenden, kann die Genauigkeit der Signale verbessern.

Analyse der Vorteile

Diese Strategie kombiniert die EMA- und MACD-Doppelindikatoren, um einige falsche Signale effektiv auszufiltern und die Signalqualität zu verbessern. Gleichzeitig beurteilt die EMA den Haupttrend und der MACD bestimmte Ein- und Ausstiegspunkte. Die beiden ergänzen sich und können gute Renditen erzielen.

Darüber hinaus berücksichtigt diese Strategie nur das MACD-Signal, wenn der Preis die EMA-Linie durchbricht, und vermeidet falsche Trades in unruhigen Märkten.

Risikoanalyse

Das Hauptrisiko dieser Strategie liegt in den Parameter-Einstellungen. Wenn die Parameter der EMA und des MACD nicht richtig eingestellt sind, können Signale verpasst oder falsche Signale erzeugt werden.

Um Risiken zu reduzieren, sollten die Parameter entsprechend angepasst werden, um dem aktuellen Marktzyklus von EMA und MACD zu entsprechen. Gleichzeitig wird empfohlen, Stop Loss zu verwenden, um Einzelverluste zu kontrollieren. Wenn der Markt einen Tiefpunkt erreicht oder Unterstützung erreicht, sollte der Handel ausgesetzt werden, um anhaltende Verluste zu vermeiden.

Optimierungsrichtlinien

Die folgenden Aspekte der Strategie können optimiert werden:

  1. Dynamische Optimierung von Parametern zur Anpassung von EMA- und MACD-Parametern an Echtzeitmarktbedingungen und -zyklen zur Gewährleistung der Gültigkeit der Parameter

  2. Hinzufügen anderer Indikatoren in Kombination, z. B. BOLL-Kanäle oder KD-Indikatoren, um Strategiesignale zu verstärken

  3. Verwenden Sie Machine-Learning-Methoden, um automatisch Strategieparameter zu optimieren und Parameter basierend auf Backtest-Ergebnissen anzupassen

  4. Bei einem Durchbruch der EMA-Linie ist die Stärke der Richtung zu beurteilen, um falsche Ausbrüche zu vermeiden.

  5. Hinzufügen von Profit-taking- und Stop-Loss-Strategien, um Gewinne zu erzielen und Verluste zu reduzieren

Zusammenfassung

Die bewegliche Durchschnitts-Crossover-Quantitative Strategie kombiniert doppelte EMA- und MACD-Indikatoren, um qualitativ hochwertige Signale effektiv zu erzeugen. Die Optimierung der Parameter-Einstellungen, das Hinzufügen von Stop-Loss/Profit-Taking, das Hinzufügen anderer Indikatoren usw. kann die Stabilität und Rentabilität der Strategie weiter verbessern. Diese effektive und einfache Strategie hat einen großen Bezugs- und Anwendungswert für quantitative Trader.


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

//@version=5
strategy("LONERTESTV2", overlay=true)

// Input definitions
fastLength = input(12, title="Fast Length")
slowlength = input(26, title="Slow Length")
MACDLength = input(9, title="MACD Length")
emaLength = input(13, title="EMA Length")
//smaLength = input(200, title="SMA Length")

// SMA Indicator - Are we in a Bull or Bear market according to 200 SMA?
//SMA = ta.ema(close, smaLength)

// EMA Indicator - Are we in a rally or not?
EMA = ta.ema(close, emaLength)

// MACD Indicator - Is the MACD bullish or bearish?
MACD = ta.ema(close, fastLength) // - ta.ema(close, slowlength)
aMACD = ta.ema(MACD, MACDLength)
delta = MACD - aMACD

// Set Buy/Sell conditions
buy_entry = close > EMA and delta > 5 ? true : close > EMA and delta > -5
sell_entry = close < EMA and delta < -5 ? true : close < EMA and delta < 5

if buy_entry
    strategy.entry(id='EL', direction=strategy.long)

if sell_entry
    strategy.entry(id='ES', direction=strategy.short)

// strategy.entry("Buy", strategy.long)
// strategy.entry("Sell", strategy.short)


Mehr