MACD Double Conversion Zero Lag Handelsstrategie - Hochfrequenzhandel basierend auf kurzfristiger Trenderfassung

MACD EMA SMA
Erstellungsdatum: 2024-05-24 18:14:37 zuletzt geändert: 2024-05-24 18:14:37
Kopie: 0 Klicks: 1177
1
konzentrieren Sie sich auf
1617
Anhänger

MACD Double Conversion Zero Lag Handelsstrategie - Hochfrequenzhandel basierend auf kurzfristiger Trenderfassung

Überblick

Die Strategie basiert auf der nullverzögerten Version des MACD-Indikators und ermöglicht hochfrequenten Handel durch schnelle Reaktion auf Preisänderungen, die Erfassung von kurzfristigen Trends. Die Strategie verwendet zwei unterschiedliche Perioden von Moving Averages (Schnelle und Langsame Linien), um den MACD-Indikator zu erstellen, und führt eine nullverzögerte Algorithmus ein, um die Verzögerung zwischen dem Indikator und dem Preis zu beseitigen und die Aktualität des Signals zu verbessern. Die Signallinie wird mit der Kreuzung der MACD-Linie als Kauf- und Verkaufssignal verwendet und Alarme eingerichtet, um es den Händlern zu ermöglichen, die Handelschancen rechtzeitig zu erfassen.

Strategieprinzip

  1. Berechnen Sie die EMA (Indikatorische Moving Average) oder SMA (einfache Moving Average) für die Schnelllinie (Standard 12-Zyklus) und die Slowline (Standard 26-Zyklus).
  2. Mit Hilfe von Zero Lag Algorithmen werden die schnellen und langsamen Linien zweimal glatter, wodurch die Verzögerung zwischen den Indikatoren und den Preisen beseitigt wird.
  3. Die MACD-Linie besteht aus der Differenz zwischen der schnellen und der langsamen Linie mit null Verzögerung.
  4. Die Signalleitung besteht aus einem MACD-Signal, der als EMA (Default 9-Zyklus) oder SMA bezeichnet wird.
  5. Die MACD-Säulenkarte besteht aus der Differenz zwischen der MACD-Linie und der Signallinie, wobei die Positivwerte in Blau und die Negativwerte in Rot dargestellt werden.
  6. Wenn die MACD-Leitung die Signalleitung von unten nach oben durchquert und der Durchschnittspunkt unterhalb der Null-Achse liegt, wird ein Kaufsignal erzeugt (blauer Punkt).
  7. Wenn die MACD-Leitung die Signalleitung von oben nach unten durchquert und der Durchschnittspunkt über der Null-Achse liegt, wird ein Verkaufssignal erzeugt (Rotpunkt).
  8. Die Strategie basiert auf einer automatischen Auftragsvergabe auf einem Kauf- oder Verkaufssignal und löst entsprechende Warnungen aus.

Analyse der Stärken

  1. Die Zero Lag-Algorithmen eliminieren die Verzögerungen zwischen den Indikatoren und den Preisen und verbessern die Aktualität und Genauigkeit der Signale.
  2. Der Doppel-Moving-Average ist so konzipiert, dass er die Markttrends besser erfasst und an unterschiedliche Marktumgebungen angepasst werden kann.
  3. Die MACD-Säulenkarte ist eine intuitive Darstellung der positiven und negativen Kräfte, die bei der Entscheidungsfindung unterstützt werden.
  4. Automatische Aufträge und Warnfunktionen ermöglichen es Händlern, ihre Handelschancen rechtzeitig zu erfassen und ihre Effizienz zu steigern.

Risikoanalyse

  1. Häufige Kreuzungen können zu Übertriebenen und Verlusten führen.
  2. Die falsche Einstellung der Parameter kann zu Signalverfälschungen führen, die die Strategie beeinträchtigen.
  3. Die Strategie basiert auf historischen Daten und ist schlechter auf Notfälle und Black Swan-Veranstaltungen angepasst.

Optimierungsrichtung

  1. Die Einführung von Trendbestätigungsindikatoren, wie beispielsweise dem ADX, filtert falsche Signale in den Schwankungen.
  2. Optimierung der Parameter, um die optimale Kombination aus Schnell- und Signalzeiten zu finden, um die Strategie zu stabilisieren.
  3. In Kombination mit anderen technischen Indikatoren oder Fundamentaldaten wird ein Multifaktormodell erstellt, um die risikobereinigten Erträge der Strategie zu verbessern.
  4. Die Einführung von Stop-Loss- und Stop-Stop-Mechanismen, um das Risiko für einzelne Transaktionen zu kontrollieren.

Zusammenfassen

Die MACD-Strategie mit der doppelten Umwandlung von null Verzögerung wird durch die schnelle Reaktion auf Preisänderungen, die Erfassung von kurzfristigen Trends und die Realisierung von Hochfrequenz-Trading ermöglicht. Die Entwicklung von null Verzögerung Algorithmen und doppelten Moving Averages erhöht die Aktualität und Genauigkeit der Signale. Die Strategie hat bestimmte Vorteile, wie z. B. die Intuition der Signale, die einfache Bedienung usw., aber es gibt auch Risiken wie übermäßige Handelsparameter und Sensitivität.

Strategiequellcode
/*backtest
start: 2024-04-23 00:00:00
end: 2024-05-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("BNM INTRADAY SETUP MACD 3M - Version 1.2", shorttitle="Zero Lag MACD Enhanced 1.2")
source = close

fastLength = input(12, title="Fast MM period", minval=1)
slowLength = input(26,title="Slow MM period", minval=1)
signalLength =input(9,title="Signal MM period", minval=1)
useEma = input(true, title="Use EMA (otherwise SMA)")
useOldAlgo = input(false, title="Use Glaz algo (otherwise 'real' original zero lag)")
showDots = input(true, title="Show symbols to indicate crossing")
dotsDistance = input(1.5, title="Symbols distance factor", minval=0.1)

// Fast line
ma1 = useEma ? ema(source, fastLength) : sma(source, fastLength) 
ma2 = useEma ? ema(ma1, fastLength) : sma(ma1, fastLength) 
zerolagEMA = ((2 * ma1) - ma2)

// Slow line
mas1 = useEma ? ema(source, slowLength) : sma(source, slowLength)
mas2 = useEma ? ema(mas1, slowLength) : sma(mas1, slowLength)
zerolagslowMA = ((2 * mas1) - mas2)

// MACD line
ZeroLagMACD = zerolagEMA - zerolagslowMA 

// Signal line
emasig1 = ema(ZeroLagMACD, signalLength)
emasig2 = ema(emasig1, signalLength)
signal = useOldAlgo ? sma(ZeroLagMACD, signalLength) : (2 * emasig1) - emasig2

hist = ZeroLagMACD - signal

upHist = (hist > 0) ? hist : 0
downHist = (hist <= 0) ? hist : 0

p1 = plot(upHist, color=color.blue, transp=40, style=plot.style_columns, title='Positive delta')
p2 = plot(downHist, color=color.red, transp=40, style=plot.style_columns, title='Negative delta') 

zeroLine = plot(ZeroLagMACD, color=color.red, transp=0, linewidth=2, title='MACD line')
signalLine = plot(signal, color=color.blue, transp=0, linewidth=2, title='Signal')

ribbonDiff = hist > 0 ? color.blue : color.red
fill(zeroLine, signalLine, color=ribbonDiff)

circleYPosition = signal * dotsDistance
ribbonDiff2 = hist > 0 ? color.blue : color.red

// Generate dots for cross signals
plot(showDots and cross(ZeroLagMACD, signal) ? circleYPosition : na, style=plot.style_circles, linewidth=4, color=ribbonDiff2, title='Dots')

// Alerts for buy and sell signals
buySignal = cross(ZeroLagMACD, signal) and (ribbonDiff2 == color.blue) and (ZeroLagMACD < 0)
sellSignal = cross(ZeroLagMACD, signal) and (ribbonDiff2 == color.red) and (ZeroLagMACD > 0)

// Use 'strategy.entry' for placing orders in strategy context
if (buySignal)
    strategy.entry("Buy", strategy.long)
    alert("Buy Signal: Blue dot below zero line", alert.freq_once_per_bar_close)

if (sellSignal)
    strategy.entry("Sell", strategy.short)
    alert("Sell Signal: Red dot above zero line", alert.freq_once_per_bar_close)