Momentum Line Crossover EMA Neun Aktien MACD-Strategie

Schriftsteller:ChaoZhang, Datum: 2024-02-27
Tags:

img

Übersicht

Diese Strategie nutzt umfassend den EMA-Indikator, den Bollinger Bands-Indikator und den MACD-Indikator.

Strategieprinzip

  1. Berechnen Sie den 3-Tage-EMA, den 9-Tage-EMA und den 30-Tage-EMA.

  2. Berechnen Sie die Standardabweichung innerhalb von 20 Tagen nach dem Kurs und ziehen Sie die Bollinger-Bänder mit 1 und 2 Mal der Standardabweichung.

  3. Berechnen Sie die 12-Tage-, 26-Tage-MACD- und 9-Tage-Signallinie.

  4. Wenn die 9-Tage-EMA über die 30-Tage-EMA steigt und der Preis die Obergrenze der 1-fachen Standardabweichung Bollinger Bands überschreitet, wird ein Kaufsignal ausgegeben.

  5. Wenn die 30-Tage-EMA unter die 9-Tage-EMA fällt und der Preis unter der unteren Grenze der 1-fachen Standardabweichung Bollinger Bands liegt, wird ein Verkaufssignal ausgegeben.

Analyse der Vorteile

Durch die Kombination von gleitenden Durchschnittsindikatoren und Dynamikindikatoren kann diese Strategie Markttrends und -zeiten besser erfassen und bietet folgende Vorteile:

  1. Der EMA-Indikator kann schnell auf Preisänderungen reagieren, um Markttrends zu bestimmen; der MACD-Indikator beurteilt die Dynamik, um falsche Ausbrüche zu verhindern.

  2. Die Kombination von Bollinger Bands-Standarddeviationsindikatoren und EMAs kann den Zeitpunkt des Kaufs und Verkaufs genauer bestimmen.

  3. Die Kombination von mehreren Indikatoren kann sich ergänzen, und verschiedene Indikatoren können das Urteil in einem Durchbruch überprüfen.

Risiko- und Optimierungsanalyse

Diese Strategie birgt auch einige Risiken. Achten Sie auf folgende Punkte für die Optimierung:

  1. Die Kombination von gleitenden EMA-Durchschnitten kann angepasst und optimiert werden.

  2. Die Parameter der Bollinger-Bänder können optimiert werden, indem die Multiplikation der Standardabweichungen geändert wird, um falsche Signale auszufiltern.

  3. Die Parameter und Kombination des MACD-Indikators können optimiert werden, um die Wirkung der Momentumbeurteilung zu verbessern.

Zusammenfassung

Diese Strategie integriert den EMA-Indikator, um den Haupttrend zu bestimmen, ergänzt durch den Bollinger Bands-Indikator, der Kauf- und Verkaufspunkte genau erfassen kann, wenn die Dynamik relativ groß ist; der MACD-Indikator ergänzt die Trendbestätigung und kann falsche Signale effektiv filtern. Durch die Optimierung von Parametern kann die Wirkung dieser Strategie weiter verbessert werden.


/*backtest
start: 2023-02-20 00:00:00
end: 2024-02-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("emabb_collab", shorttitle="emabb", overlay=true)

// Input parameters
ema3 = input(3, title="3 EMA")
ema9 = input(9, title="9 EMA")
ema30 = input(30, title="30 EMA")
macdShort = input(12, title="MACD Short")
macdLong = input(26, title="MACD Long")
macdSignal = input(9, title="MACD Signal")
length = input.int(20, minval=1)
src = input(close, title="Source")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
basis = ta.sma(src, length)
dev1 = mult * ta.stdev(src, length)
upper1 = basis + dev1
lower1 = basis - dev1
dev2 = mult * 2 * ta.stdev(src, length)
upper2 = basis + dev2
lower2 = basis - dev2
plot(basis, "Basis", color=#FF6D00)
p1 = plot(upper1, "Upper1", color=#2962FF)
p2 = plot(lower1, "Lower1", color=#2962FF)
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))
plot(basis, "Basis", color=#FF6D00)
p3 = plot(upper2, "Upper2", color=#00FF8C)
p4 = plot(lower2, "Lower2", color=#00FF8C)
fill(p3, p4, title = "Background", color=color.rgb(0, 153, 140, 95))

// Calculate EMAs
ema3Value = ta.ema(close, ema3)
ema9Value = ta.ema(close, ema9)
ema30Value = ta.ema(close, ema30)


// Calculate MACD
[macdLine, signalLine, _] = ta.macd(close, macdShort, macdLong, macdSignal)


// Conditions for buy signal
buyCondition = ta.crossover(ema9Value, ema30Value)  and ta.stdev(close, 20) > ta.stdev(close, 20)[1]

//Conditions for sell signal
sellCondition = ta.crossover(ema30Value, ema9Value)  and ta.stdev(close, 20) < ta.stdev(close, 20)[1]

// Plot signals on the chart

plotshape(buyCondition, title='Buy Label', style=shape.triangleup, location=location.belowbar, size=size.normal, text='Buy', textcolor=color.new(color.white, 0), color=color.new(color.green, 0))
plotshape(sellCondition, title='sell Label', style=shape.triangledown, location=location.abovebar, size=size.normal, text='sell', textcolor=color.new(color.white, 0), color=color.new(color.red, 0))

// Plot EMAs
plot(ema3Value, title="3 EMA", color=color.orange)
plot(ema9Value, title="9 EMA", color=color.purple)
plot(ema30Value, title="30 EMA", color=color.red)


if buyCondition
    strategy.entry('Long', strategy.long)
if sellCondition
    strategy.entry('Short', strategy.short)






Mehr