Die Strategie trägt den Namen
Die Strategie verwendet den Supertrend-Indikator, um die Markttrendrichtung zu bestimmen. Der Supertrend wird auf der Grundlage des Durchschnittlichen Wahren Bereichs und eines Faktors berechnet. Wenn der Preis über der Supertrend-Linie liegt, ist es ein Aufwärtstrend; wenn der Preis unter der Supertrend-Linie liegt, ist es ein Abwärtstrend. In dieser Strategie ist der Faktor auf 3.0 und die ATR-Länge ist 10.
Darüber hinaus verwendet die Strategie 10-Tage-EMA und 20-Tage-SMA, um gleitende Durchschnitte zu konstruieren. EMA (Exponential Moving Average) weist den jüngsten Preisen ein höheres Gewicht zu, während SMA (Simple Moving Average) alle Daten mit gleichem Gewicht betrachtet. Wenn die kurzfristige EMA über der längerfristigen SMA liegt, gilt sie als Kaufsignal.
Zusammenfassend ist die Logik der Handelssignalgenerierung:
Long-Entry: Supertrend > 0 (Aufwärtstrend) UND 10-Tage-EMA > 20-Tage-SMA Kurzer Einstieg: Supertrend < 0 (Abwärtstrend) UND 10-Tage-EMA < 20-Tage-SMA
So bestimmt es die Trendrichtung mit Supertrend und verwendet das gleitende Durchschnitts-Crossover zur zusätzlichen Bestätigung, um diesen Trend nach der Strategie zu konstruieren.
Der größte Vorteil dieser Strategie besteht in der Kombination von Supertrend und gleitenden Durchschnitten, wodurch sowohl die Zuverlässigkeit als auch die Empfindlichkeit verbessert werden.
Diese Strategie birgt einige Risiken:
Wir können verschiedene ATR- und Factorwerte für Supertrend und verschiedene Längewerte für MAs testen. Auch der Backtestzeitraum sollte verschiedene Marktumgebungen abdecken.
Es gibt viel Optimierungsmöglichkeiten:
Dies kann die Leistung und Stabilität weiter verbessern. Auch Stop-Loss-Konfiguration ist wichtig für die Risikokontrolle.
Die Strategie kombiniert Supertrend für die Trendrichtung und EMA+SMA-Crossovers, um Signale zu generieren, ein typisches Trendfolgensystem. Es hat eine hohe Zuverlässigkeit und viel Flexibilität für die Optimierung, die es wert ist, im Live-Handel überprüft zu werden. Aber wir sollten auch Risiken kontrollieren und übermäßige Optimierung vermeiden.
/*backtest start: 2024-01-19 00:00:00 end: 2024-02-18 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Supertrend and Moving Averages Strategy", overlay=true) // Supertrend parameters atrLength = input.int(10, title="ATR Length", minval=1) factor = input.float(3.0, title="Factor", minval=0.01, step=0.01) [supertrend, direction] = ta.supertrend(factor, atrLength) // Moving Averages parameters length_ema = input(10, title="Length of EMA") length_sma = input(20, title="Length of SMA") // Calculate EMAs and SMAs ema_10 = ta.ema(close, length_ema) sma_20 = ta.sma(close, length_sma) // Strategy logic longCondition = ema_10 > sma_20 and direction > 0 shortCondition = ema_10 < sma_20 and direction < 0 strategy.entry("Long", strategy.long, when=longCondition) strategy.entry("Short", strategy.short, when=shortCondition) // Plot Supertrend plot(direction > 0 ? supertrend : na, color=color.green, style=plot.style_line, linewidth=2, title="Up Trend") plot(direction < 0 ? supertrend : na, color=color.red, style=plot.style_line, linewidth=2, title="Down Trend") // Plot Moving Averages plot(ema_10, color=color.blue, title="10 EMA") plot(sma_20, color=color.red, title="20 SMA") // Alerts for Supertrend alertcondition(direction[1] > direction, title='Downtrend to Uptrend', message='The Supertrend value switched from Downtrend to Uptrend ') alertcondition(direction[1] < direction, title='Uptrend to Downtrend', message='The Supertrend value switched from Uptrend to Downtrend') alertcondition(direction[1] != direction, title='Trend Change', message='The Supertrend value switched from Uptrend to Downtrend or vice versa')