Diese Strategie nutzt umfassend den EMA-Indikator, den Bollinger Bands-Indikator und den MACD-Indikator.
Berechnen Sie den 3-Tage-EMA, den 9-Tage-EMA und den 30-Tage-EMA.
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.
Berechnen Sie die 12-Tage-, 26-Tage-MACD- und 9-Tage-Signallinie.
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.
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.
Durch die Kombination von gleitenden Durchschnittsindikatoren und Dynamikindikatoren kann diese Strategie Markttrends und -zeiten besser erfassen und bietet folgende Vorteile:
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.
Die Kombination von Bollinger Bands-Standarddeviationsindikatoren und EMAs kann den Zeitpunkt des Kaufs und Verkaufs genauer bestimmen.
Die Kombination von mehreren Indikatoren kann sich ergänzen, und verschiedene Indikatoren können das Urteil in einem Durchbruch überprüfen.
Diese Strategie birgt auch einige Risiken. Achten Sie auf folgende Punkte für die Optimierung:
Die Kombination von gleitenden EMA-Durchschnitten kann angepasst und optimiert werden.
Die Parameter der Bollinger-Bänder können optimiert werden, indem die Multiplikation der Standardabweichungen geändert wird, um falsche Signale auszufiltern.
Die Parameter und Kombination des MACD-Indikators können optimiert werden, um die Wirkung der Momentumbeurteilung zu verbessern.
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)