Dual SuperTrend mit MACD-Kombinationshandelsstrategie

Schriftsteller:ChaoZhang, Datum: 2023-09-26 17:45:03
Tags:

Übersicht

Die Dual SuperTrend mit MACD-Kombinationshandelsstrategie umfasst zwei Trendindikatoren (SuperTrend 1 und SuperTrend 2) mit einem Momentum-Oszillator (MACD), um einen systematischen Ansatz für den Handel ohne diskretionäre Entscheidungsfindung zu bieten.

Hauptvorteile dieser Strategie:

  • Dual SuperTrend Validierung - Die Verwendung von zwei SuperTrend-Indikatoren mit unterschiedlichen ATR-Perioden und Faktoren zur Bestätigung der Trendrichtung minimiert falsche Signale.

  • Momentum-Bestätigung - Das MACD-Histogramm dient als Momentumfilter zur Validierung von Ein- und Ausstiegen.

  • Ziel Ein- und Ausstiegsregeln - Die Strategie erzeugt klare Kauf- und Verkaufssignale, die auf der Kombination von Trend und Dynamik basieren.

  • Automatisiertes Handelsmanagement - Eingebaute Einstellungen für Provisionen, Slippage und Anfangskapital automatisieren den Handelsausführungsprozess.

  • Anpassbarkeit - Alle Parameter können leicht angepasst werden, um spezifischen Handelsbedürfnissen und sich ändernden Marktbedingungen gerecht zu werden.

Wie es funktioniert

Die Strategie basiert auf einer Reihe definierter Regeln und konzentriert sich in erster Linie auf die vom Dual SuperTrend bestätigte Trendrichtung und das vom MACD-Histogramm angezeigte Momentum.

Eintrittsregeln

  • Long Entry: Beide SuperTrends sind bullisch und das MACD-Histogramm liegt über Null.

  • Kurzer Einstieg: Sowohl der SuperTrends als auch das MACD-Histogramm liegen unter Null.

Ausgangsregeln

  • Exit Long: Entweder wird der SuperTrend bärisch oder das MACD-Histogramm fällt unter Null.

  • Exit Short: Entweder wird der SuperTrend bullisch oder das MACD-Histogramm steigt über Null.

Handelsmanagement

  • Festverpflichtungssatz und Slipage-Einstellungen.

  • Auto-Risikomanagement zur Verhinderung einer Überbelastung.

Handelsrichtung

Die Strategie ermöglicht den Handel sowohl auf bullischen als auch auf bärischen Märkten.

Verwendung

  • Am besten in Zeitrahmen angewendet, in denen der Trend sichtbar ist.

  • Benutzer können die SuperTrend- und MACD-Parameter anpassen.

Voreinstellungen

  • SuperTrend 1 ATR-Zeitraum: 10

  • SuperTrend 1 Faktor: 3,0

  • SuperTrend 2 ATR-Zeitraum: 20

  • SuperTrend 2 Faktor: 5,0

  • MACD Fast Length: 12

  • MACD-Langsamkeit: 26

  • MACD-Signal-Gleichung: 9

  • Kommission: 0,1%

  • Schieben: 1 Punkt

  • Regie: Beide

Die Standardparameter bieten einen ausgewogenen Ansatz, können aber angepasst werden.

Vorteile

Die wichtigsten Vorteile dieser Strategie sind:

  1. Doppelte Trendvalidierung minimiert falsche Signale

Die Verwendung von zwei SuperTrend-Indikatoren reduziert im Vergleich zu Strategien mit einem Indikator deutlich die falschen Signale.

  1. MACD-Impulsfilter verbessert die Genauigkeit

Das MACD-Histogramm filtert weniger ideale Handelssignale aus und verbessert die Eingabegenauigkeit.

  1. Wirksame Abnahmekontrolle

Die Kombination von zwei Trendindikatoren ermöglicht schnelle Ausgänge, wenn sich der Trend ändert, was dazu beiträgt, die Rückgänge zu kontrollieren.

  1. Hohe Automatisierungsgrad, keine Diskretion erforderlich

Die gut definierten Ein- und Ausstiegsregeln beseitigen subjektive Interpretationen und menschliche Fehler.

  1. Hochgradig anpassbar für eine breitere Anwendbarkeit

Durch anpassbare Parameter ist diese Strategie für verschiedene Instrumente und Handelspräferenzen robust.

Risiken und Optimierung

Zu den möglichen Risiken gehören:

  1. Schwierigkeiten bei dynamischen Trendübergängen

Häufige Trendumkehrungen können für das Dual-Trend-Indikator-Setup eine Herausforderung darstellen.

  1. Begrenzte Zugriffskontrolle bei starken Trends

Der Stop-Loss kann bei starken Trendbewegungen zurückbleiben und zu größeren Drawdowns führen.

  1. Unfähigkeit zur Reaktion auf plötzliche Ereignisse

Es kann sich nicht schnell an schwarze Schwanen angepasst haben, was das Risiko erhöht.

Optimierungsmöglichkeiten:

  1. Feinstuningparameter für verschiedene Instrumente.

  2. Hinzufügen von Stop-Loss-Mechanismen wie Trailing-Stops zur weiteren Steuerung von Drawdowns.

  3. Einbeziehung anderer Indikatoren zur Erkennung plötzlicher Ereignisse und zur Verringerung von Abzügen.

Schlussfolgerung

Zusammenfassend lässt sich sagen, dass die Dual SuperTrend- und MACD-Kombinationsstrategie die Stärken von Trendverfolgung und Momentum-Analyse kombiniert. Mit klaren Regeln und einem hohen Grad an Automatisierung kann sie Geräusche effektiv filtern und einen starken praktischen Nutzen bieten.


/*backtest
start: 2023-09-18 00:00:00
end: 2023-09-25 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © PresentTrading

//@version=5
// Define the strategy settings
// strategy("Dual-Supertrend with MACD - Strategy [presentTrading]", overlay=true, precision=3, default_qty_type=strategy.cash, 
//  commission_value= 0.1, commission_type=strategy.commission.percent, slippage= 1, 
//   currency=currency.USD, default_qty_type = strategy.percent_of_equity, default_qty_value = 10, initial_capital= 10000)

// Trading Direction Dropdown
tradeDirection = input.string("both", "Trading Direction", options=["long", "short", "both"])

// MACD Inputs
fast_length = input(12, "Fast Length")
slow_length = input(26, "Slow Length")
signal_length = input(9, "Signal Smoothing")
sma_source = input.string("EMA", "Oscillator MA Type", options=["SMA", "EMA"])
sma_signal = input.string("EMA", "Signal Line MA Type", options=["SMA", "EMA"])


// MACD Calculation
fast_ma = sma_source == "SMA" ? ta.sma(close, fast_length) : ta.ema(close, fast_length)
slow_ma = sma_source == "SMA" ? ta.sma(close, slow_length) : ta.ema(close, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length)
hist = macd - signal

// Input Parameters for Supertrend 1
atrPeriod1 = input(10, "ATR Length for Supertrend 1")
factor1 = input.float(3.0, "Factor for Supertrend 1", step=0.01)

// Supertrend Calculation for 1
[supertrend1, direction1] = ta.supertrend(factor1, atrPeriod1)

// Input Parameters for Supertrend 2
atrPeriod2 = input(20, "ATR Length for Supertrend 2")
factor2 = input.float(5.0, "Factor for Supertrend 2", step=0.01)

// Supertrend Calculation for 2
[supertrend2, direction2] = ta.supertrend(factor2, atrPeriod2)

// Combined Conditions
isBullish = direction1 < 0 and direction2 < 0 and hist > 0
isBearish = direction1 > 0 and direction2 > 0 and hist < 0
exitLong = direction1 > 0 or direction2 > 0 or hist < 0
exitShort = direction1 < 0 or direction2 < 0 or hist > 0

// Strategy Entry and Exit based on Trading Direction
if (tradeDirection == "both" or tradeDirection == "long")
    strategy.entry("Buy", strategy.long, when=isBullish)
    strategy.close("Buy", when=exitLong)

if (tradeDirection == "both" or tradeDirection == "short")
    strategy.entry("Sell", strategy.short, when=isBearish)
    strategy.close("Sell", when=exitShort)

bodyMiddle1 = plot((open + close) / 2, display=display.none)
upTrend1 = plot(direction1 < 0 ? supertrend1 : na, "Up Trend", color = color.green, style=plot.style_linebr)
downTrend1 = plot(direction1 < 0? na : supertrend1, "Down Trend", color = color.red, style=plot.style_linebr)

fill(bodyMiddle1, upTrend1, color.new(color.green, 90), fillgaps=false)
fill(bodyMiddle1, downTrend1, color.new(color.red, 90), fillgaps=false)

bodyMiddle2 = plot((open + close) / 2, display=display.none)
upTrend2 = plot(direction2 < 0 ? supertrend2 : na, "Up Trend", color = color.green, style=plot.style_linebr)
downTrend2 = plot(direction2 < 0? na : supertrend2, "Down Trend", color = color.red, style=plot.style_linebr)

fill(bodyMiddle2, upTrend2, color.new(color.green, 90), fillgaps=false)
fill(bodyMiddle2, downTrend2, color.new(color.red, 90), fillgaps=false)

Mehr