Wechselkurse für den Wechselkurs

Schriftsteller:ChaoZhang, Datum: 2024-02-22 16:25:13
Tags:

img

Übersicht

Die schwebende Durchschnitts-Crossover-MACD-Handelsstrategie ist eine quantitative Handelsstrategie, die die Crossover-Situationen von kurz- und langfristigen exponentiellen gleitenden Durchschnitten (EMA) verfolgt und Kauf- und Verkaufsaktionen durchführt, wenn ein goldenes Kreuz und ein totes Kreuz auftreten.

Strategie Logik

Diese Strategie stützt sich hauptsächlich auf den 12-Tage-EMA, den 26-Tage-EMA und den MACD-Indikator.

  1. Berechnen Sie den 12-Tage- und den 26-Tage-EMA.
  2. Berechnen Sie den MACD (d. h. die 12-Tage-EMA minus die 26-Tage-EMA).
  3. Berechnen Sie den 9-Tage-EMA des MACD als Signallinie.
  4. Wenn der MACD über die Signallinie geht, wird ein Kaufsignal generiert.
  5. Wenn der MACD unter die Signallinie fällt, wird ein Verkaufssignal generiert.
  6. Die entsprechende Kauf- oder Verkaufsoperation wird am Ende der zweiten Kerze durchgeführt, nachdem das Signal erzeugt wurde.

Darüber hinaus legt diese Strategie auch einige Filterbedingungen fest:

  1. Die Handelszeit ist die Zeit, zu der der Handelstag nicht geschlossen wird.
  2. Der absolute Wert der Differenz zwischen dem MACD und der Signallinie muss größer als 0,08 sein.
  3. Es ist nur eine Position zugelassen.

Analyse der Vorteile

Diese Strategie kombiniert den gleitenden Durchschnitts-Crossover und den MACD-Indikator, der die Wendepunkte der kurz- und mittelfristigen Marktentwicklung effektiv erfassen kann.

  1. Die Strategievorschriften sind einfach und klar, leicht verständlich und umsetzbar.
  2. Die Indikatorparameter sind für eine relativ stabile Leistung optimiert.
  3. Es wird berücksichtigt, dass mittelfristige und kurzfristige Trends verfolgt und ein zeitnaher Stop-Loss-Ausgang erfolgt.
  4. Die Handelslogik ist streng, um ungültige Handelsgeschäfte zu vermeiden.

Risikoanalyse

Diese Strategie birgt auch einige Risiken:

  1. Risiko einer Überanpassung der Backtestdaten: Für die tatsächliche Anwendung können Parameter und Schwellenwerte angepasst werden.
  2. Hohe Kostenrisiken durch häufigen Handel.
  3. Verlustrisiko aus Fehlen eines rechtzeitigen Ausstiegs, wenn sich der Trend umkehrt
  4. Hebelwirkung - Risikoverstärkung, die dem quantitativen Handel selbst innewohnt.

Entsprechende Minderungsmethoden:

  1. Dynamische Optimierung von Parametern und Anpassung von Schwellenwerten.
  2. Entspannung der Handelsregeln, um unnötigen Handel zu verringern.
  3. Kombinieren Sie mehr Indikatoren, um Umkehrsignale zu beurteilen.
  4. Strict kontrollieren Positionen und Hebel.

Optimierungsrichtlinien

Zu den wichtigsten Aspekten für die Optimierung dieser Strategie gehören:

  1. Testen Sie längere Kombinationen von gleitenden Durchschnittszyklen, um optimale Parameter zu finden.
  2. Fügen Sie Fundamentaldaten wie finanzielle Leistung, bedeutende Ereignisse usw. als Filter hinzu.
  3. Mehr Indikatoren für den Zeitpunkt der Trendumkehr, wie Bollinger-Bänder, KDJ usw.
  4. Entwickeln Sie Stop-Loss-Mechanismen, um Verluste aktiv zu reduzieren, wenn Verluste vorgegebene Stop-Loss-Punkte erreichen.
  5. Zusätzliche Auslastungsquote zur Kontrolle der maximalen Auslastung.

Zusammenfassung

Die Moving Average Crossover MACD-Handelsstrategie erzeugt Handelssignale durch einfaches Trendverfolgen und kontrolliert Risiken effektiv mit geeigneten Filterbedingungen. Es ist eine effektive quantitative Handelsstrategie. Die Strategie kann in Form von Parameteroptimierung, Hinzufügen von Stop-Loss-Mechanismen, Einbeziehung mehr Hilfsindikatoren usw. verbessert werden.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMMA", max_bars_back = 200)

var up1 = #26A69A
var up2 = #B2DFDB
var down1 = #FF5252
var down2 = #FFCDD2
var confirmationLength = 2

var earliest = timestamp("20 Jan 2024 00:00 +0000")

// Regn u
shortEMA = ta.ema(close, 12)
longEMA = ta.ema(close, 26)
macd = shortEMA - longEMA
signal = ta.ema(macd, 9)
delta = macd - signal
absDelta = math.abs(delta)
previousDelta = delta[1]

signalCrossover = ta.crossover(macd, signal)
signalCrossunder = ta.crossunder(macd, signal)

harskiftetdag = hour(time[confirmationLength]) > hour(time)

enterLongSignal = signalCrossover[confirmationLength] and (macd > signal) and (absDelta >= 0.08)
exitLongSignal = signalCrossunder[confirmationLength] and (macd < signal)

enterShortSignal = signalCrossunder[confirmationLength] and (macd < signal) and (absDelta >= 0.08)
exitShortSignal = signalCrossover[confirmationLength] and (macd > signal)

// Så er det tid til at købe noe
qty = math.floor(strategy.equity / close)

if time >= earliest and not harskiftetdag
    if exitLongSignal 
        strategy.close("long")
    else if enterLongSignal
        strategy.close("short")
        strategy.entry("long", strategy.long, qty = qty)

    if exitShortSignal
        strategy.close("short")
    else if enterShortSignal
        strategy.close("long")
        strategy.entry("short", strategy.short, qty = qty)

// Så er det tid til at vise noe

plot(macd, color=color.blue)
plot(signal, color=color.orange)

// bgcolor(color = delta > 0.1 ? color.new(color.green, 90) : color.new(color.green, 100))
// bgcolor(color = signalCrossover ? color.purple : signalCrossunder ? color.aqua : color.new(color.green, 100))

histogramColor = delta > 0 ? (previousDelta < delta ? up1 : up2) : (previousDelta > delta ? down1 : down2)

plot(
     delta,
     style=plot.style_columns,
     color=histogramColor
     )

Mehr