Verbesserte SuperTrend-Strategie

Schriftsteller:ChaoZhang, Datum: 2024-01-17 15:55:15
Tags:

img

Übersicht

Dieser Artikel analysiert eingehend eine Trendfolgestrategie, die den SuperTrend-Indikator mit einem stochastischen RSI-Filter für eine verbesserte Genauigkeit kombiniert.

Strategie Logik

SuperTrendberechnung

Zuerst werden die wahren Reichweiten (TR) und die durchschnittlichen wahren Reichweiten (ATR) berechnet.

Der Betrag der Verzinsung wird in den folgenden Zahlen angegeben: Unterer Band = SMA ((Schließung, ATR-Periode) - ATR-Multiplikator * ATR

Ein Aufwärtstrend wird ermittelt, wenn er unterhalb des unteren Bandes geschlossen wird. Ein Abwärtstrend wird ermittelt, wenn er unter dem oberen Band geschlossen wird.

Während des Aufwärtstrends wird der SuperTrend auf das untere Band gesetzt. Während des Abwärtstrends wird der SuperTrend auf das obere Band gesetzt.

Filtermechanismus

Um falsche Signale zu reduzieren, wird der SuperTrend mit einem gleitenden Durchschnitt glättet, um den gefilterten SuperTrend zu erhalten.

Stochastischer RSI

Der RSI-Wert wird berechnet, dann wird der Stochastische Indikator darauf angewendet, um einen Stochastischen RSI zu erzeugen.

Einreise- und Ausreisebedingungen

Long-Entry: Schließung von Kreuzungen über dem gefilterten SuperTrend im Aufwärtstrend und dem Stochastic RSI < 80 Kurzer Eintrag: Schließung von Kreuzungen unter dem gefilterten SuperTrend bei Abwärtstrend und Stochastischem RSI > 20

Lange Ausfahrt: Schließung von Kreuzungen unter dem gefilterten SuperTrend im Aufwärtstrend
Kurzer Ausgang: Schließen von Kreuzungen über dem gefilterten SuperTrend im Abwärtstrend

Vorteile der Strategie

Diese verbesserte Trendfolgestrategie hat folgende Vorteile gegenüber einfachen gleitenden Durchschnitten:

  1. SuperTrend selbst verfügt über gute Trendenerkennungs- und Falschsignalfilterfähigkeiten.
  2. Der Filtermechanismus reduziert die falschen Signale weiter und führt zu zuverlässigeren Signalen.
  3. Der stochastische RSI vermeidet falsche Signale rund um wichtige Unterstützungs-/Widerstandsniveaus bei Überkauf/Überverkauf.
  4. Die Strategie berücksichtigt sowohl die Trendrichtung als auch die Überkauf-/Überverkaufsbedingungen, die zu einem besseren Gleichgewicht zwischen dem Befolgen des Trends und der Vermeidung falscher Signale führen.
  5. Eine flexible Anpassung der Parameter ermöglicht die Anpassung an verschiedene Marktumgebungen.

Risiken und Optimierung

Mögliche Risiken

  1. Der Stop-Loss kann bei hohen Volatilitätsbewegungen getroffen werden.
  2. Verzögerungsprobleme mit SuperTrend und Filterung, was zu fehlenden Preisänderungen führt.
  3. Falsche Einstellungen des Stochastischen RSI-Parameters beeinflussen die Strategieleistung.

Risikomanagement

  1. Sie müssen den Stop-Loss entsprechend anpassen oder den Trailing Stop-Loss verwenden.
  2. Tune Parameter wie ATR-Periode und Filterperiode, um den Verzögerungseffekt auszugleichen.
  3. Testen und optimieren Sie die Stochastischen RSI-Parameter.

Optimierungsmöglichkeiten

  1. Versuche verschiedene Parameterkombinationen, um optimale Parameter zu finden.
  2. Versuchen Sie verschiedene Filtermechanismen wie EMA-Gleichung usw.
  3. Maschinelles Lernen zur automatischen Optimierung von Parametern.
  4. Hinzufügen anderer Indikatoren zur Ergänzung der Zulassungsbedingungen.

Schlussfolgerung

Diese Strategie kombiniert die Stärken von SuperTrend und Stochastic RSI für eine effektive Trendidentifizierung und qualitativ hochwertige Handelssignale und macht die Strategie gleichzeitig durch Filtermechanismen robust gegenüber Marktlärm. Eine weitere Leistungsverbesserung kann durch Parameteroptimierung oder Kombination mit anderen Indikatoren/Modellen erzielt werden. Insgesamt zeigt diese Strategie eine gute Trendverfolgungsfähigkeit und eine gewisse Risikokontrolle für diejenigen, die nach stabilen Renditen suchen.


/*backtest
start: 2024-01-09 00:00:00
end: 2024-01-16 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Improved SuperTrend Strategy with Stochastic RSI", shorttitle="IST+StochRSI", overlay=true)

// Input parameters
atr_length = input(14, title="ATR Length")
atr_multiplier = input(1.5, title="ATR Multiplier")
filter_length = input(5, title="Filter Length")
stoch_length = input(14, title="Stochastic RSI Length")
smooth_k = input(3, title="Stochastic RSI %K Smoothing")

// Calculate True Range (TR) and Average True Range (ATR)
tr = ta.rma(ta.tr, atr_length)
atr = ta.rma(tr, atr_length)

// Calculate SuperTrend
upper_band = ta.sma(close, atr_length) + atr_multiplier * atr
lower_band = ta.sma(close, atr_length) - atr_multiplier * atr

is_uptrend = close > lower_band
is_downtrend = close < upper_band

super_trend = is_uptrend ? lower_band : na
super_trend := is_downtrend ? upper_band : super_trend

// Filter for reducing false signals
filtered_super_trend = ta.sma(super_trend, filter_length)

// Calculate Stochastic RSI
rsi_value = ta.rsi(close, stoch_length)
stoch_rsi = ta.sma(ta.stoch(rsi_value, rsi_value, rsi_value, stoch_length), smooth_k)

// Entry conditions
long_condition = ta.crossover(close, filtered_super_trend) and is_uptrend and stoch_rsi < 80
short_condition = ta.crossunder(close, filtered_super_trend) and is_downtrend and stoch_rsi > 20

// Exit conditions
exit_long_condition = ta.crossunder(close, filtered_super_trend) and is_uptrend
exit_short_condition = ta.crossover(close, filtered_super_trend) and is_downtrend

// Plot SuperTrend and filtered SuperTrend
plot(super_trend, color=color.orange, title="SuperTrend", linewidth=2)
plot(filtered_super_trend, color=color.blue, title="Filtered SuperTrend", linewidth=2)

// Plot Buy and Sell signals
plotshape(series=long_condition, title="Buy Signal", color=color.green, style=shape.triangleup, location=location.belowbar)
plotshape(series=short_condition, title="Sell Signal", color=color.red, style=shape.triangledown, location=location.abovebar)

// Output signals to the console for analysis
plotchar(long_condition, "Long Signal", "▲", location.belowbar, color=color.green, size=size.small)
plotchar(short_condition, "Short Signal", "▼", location.abovebar, color=color.red, size=size.small)

// Strategy entry and exit
strategy.entry("Long", strategy.long, when=long_condition)
strategy.entry("Short", strategy.short, when=short_condition)
strategy.close("Long", when=exit_long_condition)
strategy.close("Short", when=exit_short_condition)


Mehr