
Die Strategie nutzt die durchschnittliche reale Breite der Wave und der Preis berechneten Aufwärts- und Abwärtskanal, um ein Handelssignal zu erzeugen, wenn der Preis den Kanal durchbricht. Die Strategie hat eine herausragende Trendverfolgung.
Diese Strategie berechnet zunächst den ATR-Indikator als Maß für die Preisschwankungen und berechnet dann die Höchst-, Tiefst- und Schlusspreise in Kombination mit dem Durchschnitt, um Auf- und Abwärtskurse zu berechnen. Wenn die Preise steigen, erzeugt dies ein Kaufsignal. Wenn die Preise fallen, erzeugt dies ein Verkaufsignal.
Nach dem Börsengang setzt die Strategie Zielgewinnpunkte und Stop-Loss-Punkte ein, die bei Erreichen des Zielwertes gestoppt werden, und die bei Erreichen des Stop-Loss-Punktes gestoppt werden.
Der größte Vorteil dieser Strategie liegt in der hervorragenden Trendverfolgung. Die Aufstiegskanäle können sich anpassungsfähig anpassen, um Änderungen der Preisentwicklung zu erfassen. Die Verwendung des ATR-Indikators bietet auch eine gewisse Garantie für schleppende Operationen.
Ein Hauptrisiko dieser Strategie besteht darin, dass es leicht zu mehr Leerpositionen kommt. Wenn die Preise in Schwankungen sind, werden häufig Auf- und Abwärtskanäle ausgelöst, was zu mehr ungültigen Geschäften führt. Außerdem beeinflusst die Einstellung der Stop-Loss-Punkte direkt die endgültigen Erträge.
Um diese Risiken zu verringern, kann man die Optimierung der ATR-Parameter oder die Anpassung der Kanalbreite in Betracht ziehen, um die Kanäle näher an den tatsächlichen Trends zu bringen. Darüber hinaus kann die Markteinführungszeit in Kombination mit anderen Indikatoren gefiltert werden.
Diese Strategie kann in folgenden Bereichen optimiert werden:
Optimierung der ATR-Parameter. Verschiedene Periodenparameter können getestet werden, damit die ATR die tatsächlichen Schwankungen besser widerspiegelt.
Optimierung der Kanalbreite. Verschiedene Multiplikationswerte können getestet werden, um die optimalen Parameter zu ermitteln.
Das Hinzufügen von Filtern für andere Indikatoren, z. B. in Kombination mit MACD-Indikatoren, die den Kauf- und Verkaufspunkt bestimmen, kann die ungültigen Geschäfte zu einem gewissen Grad reduzieren.
Optimierung der Stop-Loss-Punkte und Stop-Stop-Punkte. Testen Sie die Auswirkungen verschiedener Parameter auf die endgültige Rendite.
Berücksichtigen Sie die Sharp-Rate oder die Gewinn- und Verlustquote als Optimierungsziel. Um die Qualität der Strategie umfassender zu beurteilen.
Die Strategie ermöglicht eine hervorragende Trendverfolgung durch die Anpassung von Aufstiegskanälen und Durchbruchprinzipien. Sie verfügt auch über eine relativ klare Stop-Stop-Loss-Logik. Durch die Optimierung bestimmter Parameter und Regeln wird erwartet, dass die dynamische Tracking-Leistung der Strategie weiter verbessert wird, so dass sie für eine breitere Palette von Marktumgebungen geeignet ist.
/*backtest
start: 2024-02-26 00:00:00
end: 2024-02-26 20:20:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Supertrend Strategy", overlay=true)
// Input parameters
atr_length = input.int(10, title="ATR Length")
multiplier = input.float(3.0, title="Multiplier")
target_points = input.int(100, title="Target Points")
stop_loss_points = input.int(50, title="Stop Loss Points")
// Calculate ATR and Supertrend
atr = ta.atr(atr_length)
upper_band = hlc3 + (multiplier * atr)
lower_band = hlc3 - (multiplier * atr)
is_uptrend = close > lower_band
is_downtrend = close < upper_band
trend_changed = (is_uptrend[1] and is_downtrend) or (is_downtrend[1] and is_uptrend)
// Strategy logic
long_condition = is_uptrend and trend_changed
short_condition = is_downtrend and trend_changed
// Plot Supertrend
plot(is_uptrend ? lower_band : na, color=color.green, title="Supertrend Up", style=plot.style_linebr)
plot(is_downtrend ? upper_band : na, color=color.red, title="Supertrend Down", style=plot.style_linebr)
// Strategy entry and exit
if long_condition
strategy.entry("Long", strategy.long)
if short_condition
strategy.entry("Short", strategy.short)
// Calculate target and stop loss levels
long_target = strategy.position_avg_price + target_points
long_stop_loss = strategy.position_avg_price - stop_loss_points
short_target = strategy.position_avg_price - target_points
short_stop_loss = strategy.position_avg_price + stop_loss_points
// Strategy exit
strategy.exit("Long Exit", "Long", limit=long_target, stop=long_stop_loss)
strategy.exit("Short Exit", "Short", limit=short_target, stop=short_stop_loss)