Die Dual SuperTrend-Strategie ist eine quantitative Handelsstrategie, die ein Dual-SuperTrend-Kanalsystem beinhaltet.
Die Dual SuperTrend-Strategie leitet sich vom SuperTrend-Indikator ab. Der SuperTrend besteht aus oberen und unteren Bands, um Preistrends und wichtige Unterstützungs-/Widerstandsniveaus zu bestimmen. Der Dual SuperTrend baut zwei Kanäle darauf auf: den konsolidierenden Kanal und den Brechkanal.
Die Strategie berechnet zunächst den wahren Bereich und den durchschnittlichen wahren Bereich. Es berechnet dann die Basisbands auf der Grundlage der Länge und Multiplikatorparameter. Als nächstes konstruiert es den Bruchkanal, wenn der Preis durch die Basisbands bricht. Das Dual-Channel-System wird so etabliert.
Bei der Doppelkanalstruktur werden Handelssignale erzeugt, wenn der Preis verschiedene Kanäle durchquert:
Die zweikanalige Überwachung ermöglicht sowohl eine Trendverfolgung als auch eine Umkehrung.
Die Dual SuperTrend-Strategie mit dem Doppelkanalsystem hat folgende Vorteile:
Die Dual SuperTrend-Strategie birgt außerdem folgende Risiken:
Die Risiken können durch Anpassung des Parameterbereichs, Hinzufügen von Filtern, Steuerung der Positionsgröße usw. gemindert werden.
Die Dual SuperTrend-Strategie kann in folgenden Aspekten optimiert werden:
Weitere Optimierungen können die Parameter-Fitting und die Walk Forward-Analyse für eine robustere Leistung verbessern.
Die Dual SuperTrend-Strategie nutzt den Dual-Channel-Mechanismus zur Trendverfolgung und Umkehrung. Stabile Handelsstrategien können durch Parameteroptimierung entwickelt werden, aber es gibt Einschränkungen. Risikokontroll-Addons sind erforderlich. Insgesamt bietet die Dual SuperTrend einen soliden Rahmen für kurzfristige quantitative Handelsstrategien.
/*backtest start: 2022-11-08 00:00:00 end: 2023-11-14 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Double Supertrend Strategy", overlay=true) // Define your parameters length = input(10, title="Length") multiplier = input(3, title="Multiplier") // Calculate the True Range and Average True Range trueRange = max(high - low, max(abs(high - close[1]), abs(low - close[1]))) averageTrueRange = sma(trueRange, length) // Calculate the basic upper and lower bands basicUpperBand = hl2 + (multiplier * averageTrueRange) basicLowerBand = hl2 - (multiplier * averageTrueRange) // Calculate the final upper and lower bands finalUpperBand = basicUpperBand finalLowerBand = basicLowerBand finalUpperBand := close[1] > finalUpperBand[1] ? max(basicUpperBand, finalUpperBand[1]) : basicUpperBand finalLowerBand := close[1] < finalLowerBand[1] ? min(basicLowerBand, finalLowerBand[1]) : basicLowerBand // Determine if we're currently in an uptrend or downtrend uptrend = close > finalLowerBand[1] downtrend = close < finalUpperBand[1] // Plot the bands plot(uptrend ? finalUpperBand : na, color=color.green, linewidth=2) plot(downtrend ? finalLowerBand : na, color=color.red, linewidth=2) // Define your conditions for entering and exiting trades if (uptrend) strategy.entry("Buy", strategy.long) else if (downtrend) strategy.entry("Sell", strategy.short)