Die Dual Moving Average Crossover Strategie - EMA9/20 ist eine quantitative Handelsstrategie, die auf dem Crossover von zwei exponentiellen gleitenden Durchschnitten (EMA) basiert. Diese Strategie verwendet die 9-tägige EMA und die 20-tägige EMA als Handelssignale und erzeugt Kauf- oder Verkaufssignale, wenn sich die beiden gleitenden Durchschnitte kreuzen. Darüber hinaus verwendet die Strategie das Crossover zwischen Preis und der 9-tägigen EMA als Hilfssignal sowie einen Trailing-Stop zum Management von Handelsrisiken.
Das Kernprinzip dieser Strategie besteht darin, Markttrends zu erfassen, indem man die Überschneidung von zwei gleitenden Durchschnitten mit unterschiedlichen Perioden nutzt. Wenn der kurzfristige gleitende Durchschnitt (9-Tage-EMA) über den langfristigen gleitenden Durchschnitt (20-Tage-EMA) kreuzt, zeigt dies einen potenziellen Aufwärtstrend auf dem Markt an und die Strategie erzeugt ein Kaufsignal. Umgekehrt, wenn der kurzfristige gleitende Durchschnitt unter den langfristigen gleitenden Durchschnitt kreuzt, deutet er einen potenziellen Abwärtstrend an und die Strategie erzeugt ein Verkaufssignal.
Zusätzlich zu den gleitenden Durchschnitts-Crossover-Signalen enthält die Strategie auch das Crossover zwischen dem Preis und dem kurzfristigen gleitenden Durchschnitt (9-Tage-EMA) als Hilfssignal. Wenn der Preis über den 9-Tage-EMA überschreitet, generiert er auch ein Kaufsignal, und wenn der Preis unter den 9-Tage-EMA überschreitet, generiert er ein Verkaufssignal. Dies ermöglicht eine zeitnahtere Erfassung von Veränderungen in den Markttrends.
Um das Risiko zu kontrollieren, verwendet die Strategie einen Trailing-Stop-Mechanismus. Sobald ein Handel in einen profitablen Zustand gelangt, passt der Trailing-Stop die Stop-Loss-Position kontinuierlich an die Preisbewegungen an, bis der Preis das Stop-Loss-Niveau in die entgegengesetzte Richtung überschreitet und dadurch Gewinne erzielt und potenzielle Verluste begrenzt werden.
Einfachheit: Die Strategie basiert auf dem klassischen Prinzip des gleitenden Durchschnitts, wodurch sie leicht zu verstehen und umzusetzen ist.
Trendverfolgung: Durch die Nutzung der Überschneidung von zwei gleitenden Durchschnitten mit unterschiedlichen Perioden kann die Strategie die wichtigsten Trends auf dem Markt effektiv erfassen.
Zeitnahe Stop-Loss: Die Einführung des Trailing-Stop-Mechanismus ermöglicht es, Positionen bei einer Trendwende rechtzeitig zu schließen und so das Abwärtstrisikenrisiko zu kontrollieren.
Parameterflexibilität: Die Parameter der Strategie (wie beispielsweise gleitende Durchschnittsperioden, Stop-Loss-Punkte usw.) können entsprechend den unterschiedlichen Märkten und Instrumenten optimiert und angepasst werden, um sich an die unterschiedlichen Marktbedingungen anzupassen.
Häufiger Handel: Da die Strategie sowohl bewegliche Durchschnitts- als auch Preis-Crossover-Signale verwendet, kann dies zu einer höheren Handelsfrequenz führen, wodurch die Handelskosten steigen.
Unruhige Märkte: In unruhigen Märkten kann die Strategie mehr falsche Signale erzeugen, was zu einer geringeren Rentabilität führt.
Parameterempfindlichkeit: Die Leistung der Strategie kann für die Parameterwahl empfindlich sein, und verschiedene Parameter können deutlich unterschiedliche Ergebnisse liefern.
Signalfilterung: Zusätzlich zu den Signalen des gleitenden Durchschnitts und der Preiskrossover müssen andere technische Indikatoren (wie RSI, MACD usw.) als Filterbedingungen eingeführt werden, um falsche Signale zu reduzieren.
Dynamische Parameter: Strategieparameter (z. B. gleitende Durchschnittsperioden, Stop-Loss-Punkte usw.) anhand von Faktoren wie Marktvolatilität und Trendstärke dynamisch anpassen, um sich an verschiedene Marktzustände anzupassen.
Positionsgröße: Dynamische Anpassung der Positionsgrößen anhand von Markttrends und Signalstärke, Erhöhung der Positionsgröße, wenn die Trendstärke hoch ist, und Verringerung der Positionsgröße, wenn die Trends unklar sind oder die Signale schwächer sind.
Anpassung an mehrere Instrumente: Erweitern Sie die Strategie auf mehrere Instrumente und Märkte und verringern Sie durch Diversifizierung und Korrelationsanalyse das Gesamtrisiko und verbessern Sie die Renditenstabilität.
Die Dual Moving Average Crossover Strategie - EMA9/20 ist eine einfache und praktische quantitative Handelsstrategie, die Markttrends durch das Crossover von zwei gleitenden Durchschnitten mit unterschiedlichen Perioden und Preiskreuzungen erfasst und dabei Trailing Stops zur Risikokontrolle verwendet. Die Strategie hat eine klare Logik, ist leicht zu verstehen und umzusetzen, was sie für Anfänger zum Lernen und Verwenden geeignet macht. Die Strategie hat jedoch auch einige Einschränkungen, wie schlechte Leistung in unruhigen Märkten und Empfindlichkeit gegenüber Parameterwahl. Daher ist es in der praktischen Anwendung notwendig, die Strategie entsprechend den spezifischen Merkmalen des Marktes und Instruments zu optimieren und zu verbessern, wie z. B. die Einführung von Signalfilterung, dynamische Parameteranpassung, Positionsgrößen und andere Methoden zur Verbesserung der Rentabilität und Stabilität der Handelsstrategie. Insgesamt bietet die Dual Moving Average Crossover Strategy - EMA9/20 einen guten grundlegenden quantitati
/*backtest start: 2023-03-02 00:00:00 end: 2024-03-07 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title = "EMAs 9 / 20", shorttitle = '9/20 EMAs', initial_capital = 1000, overlay = true, default_qty_type = strategy.fixed, commission_type = strategy.commission.cash_per_contract, commission_value = 0.35, default_qty_value = 1) int trailOffset = 10 int trailPoints = 15 series float oEma9 = ta.ema(ohlc4, 9) series float oEma20 = ta.ema(ohlc4, 20) series bool closeCrossoverEma9 = ta.crossover(close, oEma9) series bool closeCrossunderEma9 = ta.crossover(close, oEma9) series bool nineCrossover20 = ta.crossover(oEma9, oEma20) series bool nineCrossunder20 = ta.crossunder(oEma9, oEma20) //Entry Exits if nineCrossover20 strategy.entry("Long 9Cross20", strategy.long, 2) else if closeCrossoverEma9 strategy.entry("Long 9CrossClose", strategy.long, 2) strategy.exit("Long 9CrossClose Exit", from_entry = "Long 9CrossClose", trail_points = trailPoints, trail_offset = trailOffset) else if nineCrossunder20 strategy.close("Long 9Cross20") if nineCrossunder20 strategy.entry("Short 9Cross20", strategy.short, 2) else if closeCrossunderEma9 strategy.entry("Short 9CrossClose", strategy.short, 2) strategy.exit("Short 9CrossClose Exit", from_entry = "Short 9CrossClose", trail_points = trailPoints, trail_offset = trailOffset) else if nineCrossover20 strategy.close("Short 9Cross20")