Trendfolgende Dual Moving Average Crossover-Strategie kombiniert mit SMA-Trendfiltersystem

EMA SMA MA RSI RR
Erstellungsdatum: 2025-02-21 14:35:29 zuletzt geändert: 2025-02-21 14:35:29
Kopie: 3 Klicks: 395
2
konzentrieren Sie sich auf
319
Anhänger

Trendfolgende Dual Moving Average Crossover-Strategie kombiniert mit SMA-Trendfiltersystem Trendfolgende Dual Moving Average Crossover-Strategie kombiniert mit SMA-Trendfiltersystem

Überblick

Die Strategie ist ein quantitatives Handelssystem, das eine Kombination aus Moving Average (MA) -Kreuzung und Trendverfolgung verwendet. Sie verwendet den 15-Zyklus-SMA (SMA) als Trendfilter, während die Kreuzung der 9-Zyklus- und 21-Zyklus-Index-Moving Average (EMA) genutzt wird, um Handelssignale zu erzeugen. Die Strategie verwendet strenge Einstiegsbedingungen und ein festes 1: 4-Risiko-Gewinn-Verhältnis, um das Risiko zu verwalten.

Strategieprinzip

Die Kernlogik der Strategie basiert auf den folgenden Schlüsselelementen:

  1. Trendbestätigung: Die Verwendung des 15-Zyklus-SMA als Hauptindikator für die Trendbestätigung. Der Preis wird oberhalb des 15-SMA als Aufwärtstrend betrachtet, umgekehrt als Abwärtstrend.
  2. Handelssignal: Das Handelssignal wird durch die Kreuzung von 9EMA und 21EMA ausgelöst. Es wird ein Mehrwertsignal erzeugt, wenn 9EMA 21EMA überschreitet und andere Bedingungen erfüllt sind. Es wird ein Fehlwertsignal erzeugt, wenn 9EMA 21EMA unterschreitet und andere Bedingungen erfüllt sind.
  3. Bestätigungsvoraussetzungen: Die Multiplikation erfordert zwei aufeinanderfolgende Sonneneinstrahlung, wobei beide EMAs über 15 SMA liegen; die Deckung erfordert eine Negation, wobei beide EMAs unter 15 SMA liegen.
  4. Risikomanagement: Das System berechnet automatisch die Stop-Loss- und Gewinnziele auf Basis der Einstiegspunkte mit einem Risiko-Gewinn-Verhältnis von 1: 4.

Strategische Vorteile

  1. Trend-Tracking-Fähigkeit: Durch die Trend-Filtermechanismen der 15 SMA ist es möglich, den Handel in einer horizontalen oder kontrastiven Situation zu vermeiden.
  2. Mehrere Bestätigungsmechanismen: kombiniert mit mehreren Bedingungen, wie z. B. Gleichgewichtskreuzung, Graphik und Trendbestätigung, reduziert das Risiko von Falschsignalen.
  3. Risikomanagement: Fixed-Risk-Benefit-Ratio und automatische Stop-Loss-Stopp-Einstellungen, die zu einer langfristigen Betriebsstabilität beitragen.
  4. Klare visuelle Rückmeldung: Das System liefert klare visuelle Anweisungen, einschließlich der Markierung von Handelssignalen und der Anzeige des Stop-Loss-Levels.

Strategisches Risiko

  1. Rückstandsrisiko: Der Moving Average ist im Wesentlichen ein rückständiger Indikator und kann bei schnellen Marktveränderungen nicht reagieren.
  2. Falsche Durchbruchrisiken: Falsche Kreuzungen können in den Obergrenzen auftreten.
  3. Die Einschränkung eines festen Risikoratio: Ein fester Risikoratio von 1:4 ist möglicherweise nicht für alle Marktbedingungen geeignet.
  4. Risiko von fortlaufenden Verlusten: Es kann zu fortlaufenden Stop-Losses kommen, wenn die Märkte im Umbruch sind.

Richtung der Strategieoptimierung

  1. Dynamische Zyklus-Optimierung: Die Moving Average-Zyklen können automatisch an die Marktschwankungen angepasst werden.
  2. Einführung von Schwankungsfiltern: Hinzufügen von ATR oder anderen Schwankungsindikatoren zur Optimierung der Eintrittszeit.
  3. Dynamisches Risikomanagement: Das Risiko-Gewinn-Verhältnis wird dynamisch an die Marktbedingungen angepasst.
  4. Erhöhung des Marktumfelds: Einführung von Trendstärkenindikatoren zur Optimierung der Handelsbedingungen.

Zusammenfassen

Dies ist eine Strategie, die durch eine Kombination aus mehreren technischen Indikatoren und einem strengen Risikomanagement eine gute Praxis hat. Obwohl einige inhärente Risiken bestehen, kann die Stabilität und Profitabilität der Strategie durch die empfohlene Optimierungsrichtung weiter verbessert werden. Die Strategie ist besonders geeignet für die Anwendung in Märkten mit deutlichen Trends und wird empfohlen, sie in mittleren und langen Zeiträumen zu verwenden.

Strategiequellcode
/*backtest
start: 2024-02-21 00:00:00
end: 2024-12-19 00:00:00
period: 4d
basePeriod: 4d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("EMA Crossover Strategy with 15 SMA Trend", overlay=true, margin_long=100, margin_short=100)

// Calculate Indicators
sma15 = ta.sma(close, 15)
ema9 = ta.ema(close, 9)
ema21 = ta.ema(close, 21)

// Trend Detection
uptrend = close > sma15
downtrend = close < sma15

// Crossover Conditions
goldenCross = ta.crossover(ema9, ema21)
deathCross = ta.crossunder(ema9, ema21)

// Candle Conditions
twoBullish = (close > open) and (close[1] > open[1])
bearishCandle = (close < open)

// Entry Conditions
longCondition = goldenCross and uptrend and twoBullish and (ema9 > sma15) and (ema21 > sma15)
shortCondition = deathCross and downtrend and bearishCandle and (ema9 < sma15) and (ema21 < sma15)

// Risk Management
var float longStop = na
var float longTarget = na
var float shortStop = na
var float shortTarget = na

if longCondition
    longStop := low
    longTarget := close + 4*(close - longStop)
    strategy.entry("Long", strategy.long)
    strategy.exit("Long Exit", "Long", stop=longStop, limit=longTarget)

if shortCondition
    shortStop := high
    shortTarget := close - 4*(shortStop - close)
    strategy.entry("Short", strategy.short)
    strategy.exit("Short Exit", "Short", stop=shortStop, limit=shortTarget)

// Visual Elements
plot(sma15, "15 SMA", color=color.orange)
plot(ema9, "9 EMA", color=color.blue)
plot(ema21, "21 EMA", color=color.red)

// Plot trading levels
plot(longCondition ? longStop : na, "Long Stop", color=color.red, style=plot.style_linebr)
plot(longCondition ? longTarget : na, "Long Target", color=color.green, style=plot.style_linebr)
plot(shortCondition ? shortStop : na, "Short Stop", color=color.red, style=plot.style_linebr)
plot(shortCondition ? shortTarget : na, "Short Target", color=color.green, style=plot.style_linebr)

// Signal Markers
plotshape(longCondition, "Buy", shape.triangleup, location.belowbar, color=color.green, size=size.small)
plotshape(shortCondition, "Sell", shape.triangledown, location.abovebar, color=color.red, size=size.small)