Eine schwankende Dynamik-Umkehrung bewegliche Durchschnitt Crossover Strategie

Schriftsteller:ChaoZhang, Datum: 21.12.2023
Tags:

img

Übersicht

Diese Strategie ist eine Dynamikumkehrhandelsstrategie, die auf dem MACD-Indikator basiert. Sie erzeugt den MACD-Indikator durch Berechnung der Differenz zwischen schnellen und langsamen gleitenden Durchschnittslinien. Wenn der MACD-Indikator von positiv auf negativ wechselt, wird ein Verkaufssignal erzeugt. Wenn der MACD-Indikator von negativ auf positiv wechselt, wird ein Kaufsignal erzeugt. Diese Strategie beinhaltet auch die Signallinie des MACD-Indikators zur zusätzlichen Glättung, um einige laute Handelssignale auszufiltern.

Strategieprinzip

Der Kernindikator dieser Strategie ist der MACD, der aus einem schnellen gleitenden Durchschnitt, einem langsamen gleitenden Durchschnitt und einer Signallinie besteht. Zuerst wird ein schneller EMA mit einer Periode von 12 Tagen und ein langsamer EMA mit einer Periode von 26 Tagen berechnet, dann wird der Unterschied zwischen ihnen als MACD-Indikator berechnet. Der MACD-Indikator spiegelt den Trend der Preisänderungen auf der Grundlage des Impulskonzepts wider. Wenn der schnelle EMA schneller steigt als der langsame EMA, zeigt er einen Aufwärtstrend des Preises an, und der MACD ist positiv. Im Gegenteil, wenn der Aktienkurs in einem Abwärtstrend ist, ist der MACD negativ.

Um Lärm zu filtern, führt diese Strategie einen Signal-Linie-Indikator ein, um den MACD zusätzlich zu glätten. Der Signal-Linie-Parameter wird auf 9-Tage-EMA gesetzt. Schließlich wird die Differenz zwischen dem MACD und der Signallinie als Handelssignale berechnet. Wenn sich die Differenz von positiv auf negativ ändert, wird ein Verkaufssignal generiert. Wenn sich die Differenz von negativ auf positiv ändert, wird ein Kaufsignal generiert.

Analyse der Vorteile

Die wichtigsten Vorteile dieser Strategie sind:

  1. Mit dem MACD-Indikator können kurzfristige Umkehrchancen der Aktienkurse erfasst werden.

  2. Die Einbeziehung der Signallinie glättet einige laute Handelssignale aus und reduziert falsche Signale.

  3. Durch flexible Einstellungen von Parametern können die Händler die Parameter an die tatsächlichen Marktbedingungen anpassen.

  4. Die Logik ist einfach und klar, leicht verständlich und umsetzbar, geeignet für Anfänger zum Lernen und Erforschen.

  5. Verschiedene Kombinationen von Indikatoren und Signalen bieten einen großen Spielraum für die Optimierung der Strategie und eine hohe Skalierbarkeit.

Risikoanalyse

Diese Strategie birgt auch einige Risiken:

  1. Die Verfolgung von kurzfristigen Umkehrungen kann die Handelshäufigkeit und die Transaktionskosten erhöhen.

  2. Der MACD-Indikator kann bei langfristigen einseitigen Preissteigerungen oder -rückgängen leicht falsche Signale erzeugen.

  3. Verzögerte Signalgenerierung aufgrund unsachgemäßer Parametereinstellungen kann den besten Einstiegspunkt verpassen.

  4. Diese relativ einfache Strategie kann unter komplexen Marktbedingungen unterdurchschnittlich sein.

Um die oben genannten Risiken abzubauen, können Verbesserungen folgendermaßen vorgenommen werden:

  1. Optimierung von Parametern zur Verringerung der Handelsfrequenz, z. B. Erhöhung des Signalzyklus.

  2. Hinzufügen von Filterbedingungen, um nicht in langfristige Trends gefangen zu bleiben, z. B. Kombination anderer Tracking-Indikatoren zur Bestimmung langfristiger und kurzfristiger Trends.

  3. Verwenden Sie Limit-Orders, um die optimale Preisgestaltung zu ermitteln.

  4. Fügen Sie weitere Faktoren hinzu, um die Marktbedingungen zu bestimmen und den Handel auf abnormalen Märkten zu vermeiden.

Optimierungsrichtlinien

Die Strategie kann in folgenden Aspekten optimiert werden:

  1. Optimieren Sie MACD-Parameter und Signallinieparameter, um die beste Parameterkombination zu finden.

  2. Hinzufügen anderer Hilfsindikatoren, um langfristige und kurzfristige Trends zu ermitteln und gegen Trends zu handeln, z. B. gleitender Durchschnitt, Bollinger-Bänder usw.

  3. Verwenden Sie Handelsvolumenindikatoren wie "On Balance Volume", um falsche Ausbrüche zu vermeiden.

  4. Festlegen von Parametern entsprechend den verschiedenen Bestandseigenschaften, um die Strategie anpassungsfähiger zu machen.

  5. Hinzufügen von Stop Loss und Gewinnpreiseinstellungen zur Kontrolle von Einzelverlusten und Gewinnniveaus.

  6. Bewertung von Aktienqualitätsfaktoren wie Finanzindikatoren, Ratingänderungen usw. und Auswahl des optimalen Aktienpools.

Diese Optimierungsmaßnahmen können die Stabilität, die Gewinnrate und das Gewinnniveau der Strategie verbessern und die Grundlage für die weitere Entwicklung und Verbesserung der Strategie bilden.

Zusammenfassung

Dies ist eine typische kurzfristige Umkehrhandelsstrategie. Sie verwendet einfache und klare MACD-Indikatoren, um Veränderungen der Aktiendynamik und Signallinien widerzuspiegeln, um spezifische Einstiegspunkte zu bestimmen. Mit geeigneten Parameter-Einstellungen kann sie kurzfristige Preisumkehrmöglichkeiten nutzen, um überschüssige Renditen zu erzielen.

Selbstverständlich können sich einzelne Indikatoren und einfache Strategien kaum perfekt an verschiedene komplexe Marktbedingungen anpassen. Anleger sollten auf Risiken achten und Strategien entsprechend ihren eigenen Bedingungen und Risikobereitschaft auswählen. In der Zwischenzeit sollten sie auch die Marktbedingungen im Blick behalten, Strategieparameter und Handelsregeln optimieren. Nur durch kontinuierliches Lernen und Verbessern kann man langfristig stabile Anlagerenditen erzielen.


/*backtest
start: 2023-11-20 00:00:00
end: 2023-12-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//study(title="MACD Strategy by Sedkur", shorttitle="MACD Strategy by Sedkur")
strategy (title="MACD Strategy by Sedkur", shorttitle="MACD Strategy by Sedkur")


// Getting inputs
dyear = input(title="Year", type=input.integer, defval=2017, minval=1950, maxval=2500)
fast_length = input(title="Fast Length", type=input.integer, defval=12)
slow_length = input(title="Slow Length", type=input.integer, defval=26)
buyh = input(title="Buy histogram value", type=input.float, defval=0.0, minval=-1000, maxval=1000, step=0.1)
sellh = input(title="Sell histogram value", type=input.float, defval=0.0, minval=-1000, maxval=1000, step=0.1)
src = input(title="Source", type=input.source, defval=close)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
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 = #26A69A
col_grow_below = #FFCDD2
col_fall_above = #B2DFDB
col_fall_below = #EF5350
col_macd = #0094ff
col_signal = #ff6a00

// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal

plot(hist, title="Histogram", style=plot.style_columns, 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)

strategy.entry("buy", strategy.long, comment="buy", when = hist[1] <= hist and buyh<=hist and year>=dyear)
strategy.entry("sell", strategy.short, comment="sell", when = hist[1] >= hist and sellh>=hist and year>=dyear)


Mehr