Momentum Circuit Breaker MACD-Strategie


Erstellungsdatum: 2023-10-20 17:12:31 zuletzt geändert: 2023-10-20 17:12:31
Kopie: 0 Klicks: 740
1
konzentrieren Sie sich auf
1617
Anhänger

Momentum Circuit Breaker MACD-Strategie

Überblick

Die MACD-Strategie basiert hauptsächlich auf der Kombination von MACD-Indikatoren und MACD-Indikatoren, um ein Handelssignal zu erzeugen. Sie gehört zur Trendverfolgungsstrategie. Die Strategie berechnet zuerst die schnelle EMA und die langsame EMA, dann den MACD-Wert und dann die Signallinie des MACD. Gleichzeitig berechnet sie die Dynamik des Preises.

Strategieprinzip

Die Strategie basiert hauptsächlich auf der Kombination von MACD und Dynamikindikatoren.

Der MACD-Indikator ist ein Trend-Tracking-Indikator, der aus einem Fast-Line-EMA, einem Slow-Line-EMA und einem MACD-Spaltenbild besteht. Die Fast-Line-EMA-Parameter sind in der Regel 12 Tage, die Slow-Line-EMA-Parameter sind 26 Tage. Die Berechnungsformel lautet:

Schnelllinie EMA = EMA ((Schlusskurs, 12)

Schwache EMA = EMA ((Schlusskurs, 26)

MACD = schnelle EMA - langsame EMA

Signallinie = EMA (MACD,9)

Wenn die schnelle Linie die langsame Linie durchbricht, ist die kurzfristige Aufwärtsdynamik stärker als die langfristige, ein Einstiegssignal; wenn die schnelle Linie unter der langsamen Linie durchbricht, ist die langfristige Abwärtsdynamik stärker als die kurzfristige, ein Ausstiegssignal.

Der Dynamikindex ist ein technischer Indikator, der die Geschwindigkeit der Veränderung des Aktienpreises widerspiegelt.

Momentum = heutiger Schlusskurs - Schlusskurs vor N Tagen

Wenn der heutige Schlusskurs über N Tage höher ist, ist die Dynamik positiv, und die Aktie ist im Aufwärtstrend. Wenn der heutige Schlusskurs unter N Tage liegt, ist die Dynamik negativ, und die Aktie ist im Abwärtstrend.

Die Strategie verwendet eine Kombination aus MACD- und Dynamik-Indikatoren, um ein Handelssignal zu erzeugen. Die Kriterien sind: Wenn ein Kaufsignal erzeugt wird, wenn der MACD-Differenzwert und der Dynamik-Differenzwert auf der Null-Achse durchqueren, wird eine Kreuzung über der Null-Achse erzeugt. Wenn ein Verkaufsignal erzeugt wird, wenn der MACD-Differenzwert und der Dynamik-Differenzwert unter der Null-Achse durchqueren, wird eine Kreuzung unter der Null-Achse erzeugt.

Strategische Stärkenanalyse

Diese Strategie hat folgende Vorteile:

  1. Die Kombination von MACD und Dynamik ermöglicht Trendverfolgung und verhindert, dass ein ungültiger Handel nur dann stattfindet, wenn die Assetpreise in Richtung der Schwingung geraten.

  2. Auf der Grundlage der doppelten Bestätigungsmechanismen, die das Handelssignal erzeugen, können einige Geräusche gefiltert und die Störung durch falsche Signale vermieden werden.

  3. Die MACD-Indikatorparameter sind anpassbar und können je nach Sorte und Handelszyklus optimiert werden.

  4. Es wurde ein Zwei-Wege-Trading-Mechanismus für den Kauf und Verkauf eingesetzt, um einen Zwei-Wege-Trendfang zu ermöglichen.

  5. Die Strategie ist einfach zu verstehen, hat weniger Parameter und ist für Anfänger geeignet.

Strategische Risikoanalyse

Die Strategie birgt auch einige Risiken:

  1. Der MACD und der Dynamikindex sind Trend-Folger, die in Zeiten starker Marktschwankungen oder ohne deutliche Trends möglicherweise mehr ungültige Trades erzeugen.

  2. Bei einem Dual-Index-Package kann zwar ein falsches Signal gefiltert werden, es kann aber auch eine Handelschance verpasst werden. Die Parameter sollten entsprechend angepasst werden, um das Risiko auszugleichen.

  3. Bei einer Umkehrung des grossen zyklischen Trends verbleibt der MACD-Indikator und führt zu einem Handelsverlust.

  4. Es kann eine hohe Transaktionsfrequenz geben, was auf die Vermögensverwaltung und die Kontrolle der Gebühren zurückzuführen ist.

  5. Fehlende Parameter können zu einer zu hohen Sensitivität oder zu einer zu hohen Verzögerung führen und müssen ständig getestet und optimiert werden, je nach Marktbedingungen.

Richtung der Strategieoptimierung

Diese Strategie kann optimiert werden durch:

  1. Optimierung der Parameter des MACD-Indikators, um die optimale Kombination von Parametern für verschiedene Handelsarten und -zyklen zu finden.

  2. Optimierung der Dynamometer-Tagesparameter, Balance zwischen Sensitivität und Geräuschfilterung.

  3. Erhöhung des Stop-Loss-Mechanismus, um den maximalen Verlust eines einzelnen Handels zu kontrollieren.

  4. Das Modul zur Positionsverwaltung wurde hinzugefügt, um die Größe der Geschäfte mit den Trends zu verbinden.

  5. Filter wie Konzentrationsindikatoren wurden hinzugefügt, um falsche Transaktionen unter Kurven zu vermeiden.

  6. In Kombination mit anderen Indikatoren wie Bollinger Bands, RSI und anderen, bilden sich mehrfach bestätigte Handelssignale.

  7. Hinzufügen von Optimierungsläufen, so dass die Parameter kontinuierlich iterativ und optimiert werden können.

Zusammenfassen

Die Strengths der MACD-Strategie nutzen MACD-Indikatoren und Dynamik-Indikatoren, um Trends zu verfolgen. Die Doppelbestätigungsmechanismen können den Marktlärm effektiv auslöschen und die Nichterfüllung von Nichterfüllungen verhindern. Die Strategie ist einfach, direkt und leicht zu verstehen und eignet sich besonders für Anfänger.

Strategiequellcode
/*backtest
start: 2022-10-13 00:00:00
end: 2023-10-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="MACD MOMENTUM TEST", shorttitle="MACD MOM TEST")

// Getting inputs
fast_length = input(title="Fast Length", type=input.integer, defval=12)
slow_length = input(title="Slow Length", type=input.integer, defval=26)
len = input(title="Momentum", type=input.integer, defval=10)
src1 = input(title="Source MACD", type=input.source, defval=close)
src2 = input(title="Source MOMENTUM", type=input.source, defval=close)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 14)
sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=false)
sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=false)

// Plot colors
col_grow_above = #0c8e61
col_grow_below = #ffcdd2
col_fall_above = #b2dfdb
col_fall_below = #d42f28
col_macd = #ffffff
col_signal = #d42f28
col_mom = #fbc02d

// Calculating
fast_ma = sma_source ? sma(src1, fast_length) : ema(src1, fast_length)
slow_ma = sma_source ? sma(src1, slow_length) : ema(src1, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal
mom = src2 - src2[len]


ma(s,l) => ema(s,l)
sema = ma( src1, fast_length )
lema = ma( src1, slow_length )
i1 = sema + mom + ma( src1 - sema, fast_length )
i2 = lema + mom + ma( src1 - lema, slow_length )
macdl = i1 - i2
macd1 =sema - lema

delta = mom - macd1

// Strategy
    // Backtest
FromYear  = input(defval = 2001, title = "From Year", minval = 2009)
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2009)
ToMonth   = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 31, title = "To Day", minval = 1, maxval = 31)

    // Function exampel
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false // create function "within window of time"

if (crossover(delta, 0))
    strategy.entry("Buy", true, when=window(), comment="Buy")

if (crossunder(delta, 0))
    strategy.close_all(when=window())

// Plot
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)
plot(hist, title="Histogram", style=plot.style_histogram, color=(hist>=0 ? (hist[1] < hist ? col_grow_above : col_fall_above) : (hist[1] < hist ? col_grow_below : col_fall_below) ), transp=0 )
plot(macd, title="MACD", color=col_macd, transp=0)
plot(signal, title="Signal", color=col_signal, transp=0)
plot(mom, color=col_mom, title="Mom")