Doppelte Überprüfung der trendfolgenden Handelsstrategie basierend auf MACD und Supertrend

MACD ATR SMA
Erstellungsdatum: 2024-12-11 17:16:05 zuletzt geändert: 2024-12-11 17:16:05
Kopie: 0 Klicks: 369
1
konzentrieren Sie sich auf
1617
Anhänger

Doppelte Überprüfung der trendfolgenden Handelsstrategie basierend auf MACD und Supertrend

Überblick

Die Strategie ist ein Double-Verified-Trend-Tracking-Trading-System, das MACD- und Supertrend-Indikatoren kombiniert. Die Strategie ermittelt den Einstiegszeitpunkt durch den Vergleich der Überschneidung von MACD- und Signallinien in Kombination mit der Trendrichtung des Supertrend-Indikators und setzt eine feste Prozentsatz-Stop- und Stop-Low-Ebene ein, um das Risiko zu kontrollieren. Diese Double-Verified-Mechanismus erhöht die Zuverlässigkeit der Handelssignale und reduziert effektiv die Störung durch falsche Signale.

Strategieprinzip

Die Kernlogik der Strategie basiert auf den folgenden Schlüsselelementen:

  1. Supertrend-Indikator: Die Trendlinie wird mit ATR und einem Doppelfaktor von 20 Zyklen berechnet, um die Richtung des aktuellen Markttrends zu bestimmen.
  2. MACD-Indikator: Der MACD-Indikator verwendet die klassische 12/26/9-Parameter-Einstellung, um ein Handelssignal durch die Kreuzung von schnellen und langsamen Linien zu erzeugen.
  3. Eintrittsvoraussetzungen: Eintritt wird nur ausgelöst, wenn die MACD-Schnelllinie die langsame Linie aufwärts überquert (Buy Signal) und die Supertrend-Richtung als Aufwärtstrend (Direction == 1) eingestuft wird.
  4. Risikomanagement: Setzen Sie einen Stop-Loss von 0,5% und einen Stop-Out von 99,99% pro Handel, um Ihre Gelder zu schützen und Ihre Gewinne zu sichern.

Strategische Vorteile

  1. Dual-Verification-Mechanismus: Durch die Kombination der Vorteile des Trend-Tracking-Indikators (Supertrend) und des Momentum-Indikators (MACD) wird die Genauigkeit der Handelssignale deutlich verbessert.
  2. Der Supertrend-Indikator basiert auf der ATR-Berechnung und kann die Parameter automatisch an die Volatilität des Marktes anpassen, um sich an unterschiedliche Marktbedingungen anzupassen.
  3. Risikokontrolle: Prozentsatz-Stop-Loss-Strategie, um sicherzustellen, dass das Risiko eines einzelnen Handels unter Kontrolle ist.
  4. Logische Klarheit der Ausführung: Ein- und Ausstiegsbedingungen sind klar, um die Störungen durch subjektive Beurteilungen zu vermeiden.
  5. Einfache Bedienung: Strategie-Logik ist intuitiv und einfach zu bedienen und zu überwachen.

Strategisches Risiko

  1. Trendabhängigkeit: Häufige Falschsignale, die in einem wackligen Markt entstehen können, erhöhen die Handelskosten.
  2. Rückstandsrisiko: Die MACD und der Supertrend gehören zu den rückständigen Indikatoren und können bei schnellen Marktveränderungen nicht rechtzeitig reagieren.
  3. Fixed Stop-Loss-Risiko: Die Verwendung eines festen Stop-Loss-Prozentsatzes ist möglicherweise nicht gut für die Volatilität in verschiedenen Marktumgebungen geeignet.
  4. Parameter-Sensitivität: Die Effektivität der Strategie ist von mehreren Parameter-Einstellungen abhängig und muss kontinuierlich optimiert werden, um sich an veränderte Märkte anzupassen.

Richtung der Strategieoptimierung

  1. Dynamische Stop-Optimierung: Es wird empfohlen, den festen Stop in einen dynamischen Stop-Optimierung zu ändern, der auf ATR basiert und besser an Marktschwankungen angepasst ist.
  2. Hinzufügen von Marktumfeldfiltern: Sie können Volatilitätsindikatoren (wie VIX) als Filter für die Marktumgebung hinzufügen, um Strategieparameter zu ändern oder den Handel während hoher Volatilität auszusetzen.
  3. Einführung von Preis-Leistungs-Beziehungen: Erwägen Sie die Einbeziehung von Transaktionsmengenindikatoren in das Signalbestätigungssystem, um die Signalsicherheit zu verbessern.
  4. Optimierung der Anpassungsfähigkeit von Parametern: Entwicklung von Anpassungsmechanismen für Parameter, die auf Marktbedingungen basieren, um die Anpassungsfähigkeit von Strategien zu verbessern.
  5. Positionsmanagement verbessert: Einführung eines dynamischen Positionsmanagementmechanismus, der die Handelsgröße an die Marktvolatilität und die Dynamik des Kontowertes anpasst.

Zusammenfassen

Durch die Kombination der Vorteile der MACD- und Supertrend-Indikatoren baut die Strategie ein relativ zuverlässiges Trend-Tracking-Trading-System auf. Eine Genauigkeit von 46% und eine Rendite von 46% zeigen, dass die Strategie eine gewisse Profitabilität aufweist. Die Stabilität und Anpassungsfähigkeit der Strategie wird durch die vorgeschlagene Optimierungsrichtung, insbesondere durch die Einführung von dynamischen Stop-Loss- und Marktumfeldfiltern, voraussichtlich weiter verbessert.

Strategiequellcode
/*backtest
start: 2024-11-10 00:00:00
end: 2024-12-09 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy('MANTHAN BHRAMASTRA', overlay=true)

// Supertrend function
f_supertrend(_period, _multiplier) =>
    atr = ta.sma(ta.tr, _period)
    upTrend = hl2 - _multiplier * atr
    downTrend = hl2 + _multiplier * atr
    var float _supertrend = na
    var int _trendDirection = na
    _supertrend := na(_supertrend[1]) ? hl2 : close[1] > _supertrend[1] ? math.max(upTrend, _supertrend[1]) : math.min(downTrend, _supertrend[1])
    _trendDirection := close > _supertrend ? 1 : -1
    [_supertrend, _trendDirection]

// Supertrend Settings
factor = input(2, title='Supertrend Factor')
atrLength = input(20, title='Supertrend ATR Length')

// Calculate Supertrend
[supertrendValue, direction] = f_supertrend(atrLength, factor)


// MACD Settings
fastLength = input(12, title='MACD Fast Length')
slowLength = input(26, title='MACD Slow Length')
signalSmoothing = input(9, title='MACD Signal Smoothing')

// Calculate MACD
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing)

// Generate Buy signals
buySignal = ta.crossover(macdLine, signalLine) and direction == 1

// Plot Buy signals

// Calculate stop loss and take profit levels (0.25% of the current price)
longStopLoss = close * 0.9950
longTakeProfit = close * 1.9999

// Execute Buy orders with Target and Stop Loss
if buySignal
    strategy.entry('Buy', strategy.long)
    strategy.exit('Sell', 'Buy', stop=longStopLoss, limit=longTakeProfit)