Doppelte SuperTend- und MACD-Kombinationshandelsstrategie


Erstellungsdatum: 2023-09-26 17:45:03 zuletzt geändert: 2023-09-26 17:45:03
Kopie: 0 Klicks: 1610
1
konzentrieren Sie sich auf
1621
Anhänger

Überblick

Die binäre SuperTrend-MACD-Kombinationshandelsstrategie kombiniert zwei Trend-Tracking-Indikatoren (SuperTrend 1 und SuperTrend 2) mit einem Dynamik-Schock-Indikator (MACD), um eine systematische und kohärente Handelsmethode zu bieten, bei der keine subjektiven Urteile erforderlich sind.

Die wichtigsten Vorteile der Strategie:

  • Dual-SuperTrend-Verifizierung: Die Verwendung von zwei SuperTrend-Indikatoren mit unterschiedlichen ATR-Perioden und Faktoren kann die Richtung des Trends bestätigen. Die Doppel-Verifizierung reduziert die Fehlsignale.

  • Dynamikbestätigung: MACD-Säulen als Dynamikfilter, um Ein- und Ausstieg zu bestätigen und die Validierungsstufe zu erhöhen.

  • Objektive Ein- und Ausgänge: Die Strategie erzeugt Kauf- und Verkaufssignale basierend auf der Trendrichtung und der Dynamikkombination, ohne dass es Raum für subjektive Interpretationen gibt.

  • Automatisierte Transaktionsverwaltung: Strategie-eingebettete Provisionen, Gleitpunkte und Startkapital-Einstellungen, automatisierte Ausführung von Transaktionen.

  • Anpassbarkeit: Alle Parameter können leicht angepasst werden, um den Bedürfnissen verschiedener Händler und dem veränderten Marktumfeld gerecht zu werden.

Grundsätze

Die Strategie arbeitet nach einem klaren Regelwerk und konzentriert sich hauptsächlich auf die Trendrichtung, die von zwei Supertrends bestätigt wird, und die Dynamik, die von MACD-Säulen dargestellt wird.

Eintrittsregeln

  • Mehrköpfiger Einstieg: Zwei SuperTrend-Indikatoren sind mehrköpfig und die MACD-Säulenlinie ist größer als 0。

  • Eintritt ohne Kopf: Zwei SuperTrend-Indikatoren ohne Kopf und eine MACD-Säulenlinie kleiner als 0。

Spielregeln

  • Binärpositionen: Jede SuperTrend-Wende oder MACD-Säulen-Wende.

  • Flächenpositionen: jeder Supertrend-Mehrkopf- oder MACD-Säulen-Korrektur.

Geschäftsführung

  • Die Strategie nutzt ein Fixed-Commission-Ratio und einen Sliding-Point-Parameter.

  • Eingebettete automatische Risikomanagement-Funktionen, um eine übermäßige Verstopfung zu vermeiden.

Handelsrichtung

Die Strategie erlaubt viele leere zwei-Wege-Trading. Der Benutzer kann die Richtung des Handels wählen, je nachdem, wie er den Markt sieht (nur mehr, nur leere oder mehr leere).

Anleitung zur Verwendung

  • Die Zeiträume, in denen Trends sichtbar sind, sind am besten geeignet.

  • Benutzer können die ATR-Periode, den Faktor und die MACD-Parameter von SuperTrend anpassen.

Standardparameter

  • SuperTrend 1 ATR-Zyklus: 10

  • SuperTrend 1 Faktor:3.0

  • SuperTrend 2 ATR-Zyklus: 20

  • SuperTrend 2 Faktor 5.0

  • MACD-Schnelllinie-Periode: 12

  • MACD-Lowline-Periode: 26

  • MACD-Gleichungsphase: 9

  • Kommissionsanteil: 0,1%

  • Gleitpunkt: 1

  • Handelsrichtung: Zwei-Wege

Die Standardparameter bieten eine ausgewogene Handelsmethode, können jedoch nach persönlichen Vorlieben angepasst werden.

Analyse der Stärken

Diese Strategie hat folgende Vorteile:

  1. Doppelte Trends bestätigen weniger Falschmeldungen

Die Verwendung von zwei SuperTrend-Indikatoren zur Trendprüfung reduziert erheblich die Fehlsignale, die durch einen einzelnen Indikator verursacht werden. Die Doppelbestätigungsmechanismen erhöhen die Stabilität.

  1. MACD-Dynamikfilter erhöht die Genauigkeit

Die MACD-Säulen dienen als Hilfsmaßstab, um unerwünschte Handelssignale zu filtern und die Genauigkeit der Eingaben zu verbessern.

  1. Rückzugskontrolle ist stark

Eine Kombination aus zwei Trendindikatoren, die bei einer Trendwende schnell aufhören können, hilft, Rückgänge zu kontrollieren.

  1. Der Grad der Automatisierung ist hoch, keine subjektiven Beurteilungen erforderlich

Klare Ein- und Ausstiegsregeln, integrierte Handelsmanagement-Einstellungen, keine subjektiven Beurteilungen, reduzierte menschliche Fehler.

  1. Anpassbarkeit und Flexibilität

Die Indikatorparameter sind anpassbar und können für verschiedene Sorten und Handelspräferenzen optimiert werden.

Risiko und Optimierung

Die Strategie birgt auch folgende Risiken:

  1. Schwierigkeiten bei der multifunktionalen Umstellung

Die Kombination aus zwei Trendindikatoren und die relativ schwierige Umstellung auf mehrere Bereiche sind nicht für Märkte geeignet, die häufig umgestellt werden.

  1. Grenzwerte Rückzugskontrolle

Bei starken Trends kann der Stop-Loss-Preis zurückbleiben und das Risiko einer Ausweitung zurückziehen.

  1. Unfähigkeit, mit Notfällen umzugehen

Es ist unmöglich, schnell auf die Black Swan zu reagieren und es besteht ein größeres Risiko für Rückzüge.

Optimierung:

  1. Optimierung der Parameter für verschiedene Sorten.

  2. Erhöhung der Stop-Loss-Mechanismen, wie beispielsweise der mobile Stop-Loss, um die Rücknahme weiter zu kontrollieren.

  3. In Kombination mit anderen Indikatoren identifizieren Sie die Überraschungen und reduzieren Sie die Rückzüge.

Zusammenfassen

Insgesamt bietet die Doppel-SuperTrend-MACD-Kombinationsstrategie die Vorzüge von Trend-Tracking und Dynamik-Analyse. Die Regeln sind klar, mit hohem Automatisierungsgrad und der Möglichkeit, Noise-Trading-Signale effektiv zu filtern, sind sehr praktisch.

Strategiequellcode
/*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)