
Die Strategie nutzt die EMA, den Bollinger Bands und den MACD, um den Zeitpunkt des Kauf- und Verkaufs zu bestimmen, indem sie die EMA-Neun-Mittellinie und die EMA-Dreißig-Mittellinie in Kombination mit dem Preisverteilungsbereich und den Dynamikindikatoren nutzt.
Die 3-Tage-EMA, die 9-Tage-EMA und die 30-Tage-EMA werden berechnet.
Berechnen Sie die 20-Tage-Standarddifferenz und zeichnen Sie die Bollinger Bands für die 1- und 2-fache Standardabweichung.
Berechnen Sie die MACD für den 12., 26. und 9. Tag.
Ein Kaufsignal wird ausgesendet, wenn die 9-Tage-EMA die 30-Tage-EMA überschreitet und der Preis die Obergrenze der Bollinger-Band-Standarddifferenz um ein Vielfaches überschreitet.
Wenn der 30-Tage-EMA den 9-Tage-EMA überschreitet und der Preis unterhalb der 1-fachen Standardabweichung des Bollinger Bands liegt, wird ein Verkaufssignal ausgesendet.
Diese Strategie kombiniert die Gleichgewichts- und Dynamikindikatoren, um Markttrends und -zeiten besser zu erfassen, und bietet folgende Vorteile:
Der EMA-Indikator kann schnell auf Preisänderungen reagieren, um Markttrends zu beurteilen. Der MACD-Indikator ist sehr beurteilungsfähig und verhindert falsche Durchbrüche.
Die Bollinger Bands Standard Differenz Indicator kombiniert mit der EMA, um den Zeitpunkt des Kaufs und Verkaufs zu bestimmen.
Es gibt mehrere Kombinationen von Indikatoren, die sich ergänzen können. In einem Durchbruch können verschiedene Indikatoren die Beurteilung überprüfen.
Die Strategie birgt auch einige Risiken, die auf folgende Punkte hin optimiert werden müssen:
Die EMA-Linienkombination kann angepasst und optimiert werden, um Trends besser zu erfassen.
Die Bollinger-Band-Parameter können optimiert werden, wobei die Variationsmultiplier-Standards schlecht sind, um falsche Signale zu filtern.
Die MACD-Indikatorparameter können optimiert und kombiniert werden, um die Effektivität der Urteilsfähigkeit zu verbessern.
Die Strategie integriert die EMA-Gehaltsmessung, um einen großen Trend zu ermitteln. Die Bollinger-Band-Indikatoren können die Kauf- und Verkaufspunkte bei größerer Stärke präzise erfassen. Die MACD-Indikatoren ergänzen die Trendbestätigung, um falsche Signale effektiv zu filtern. Durch die Optimierung der Parameter kann die Strategie die Wirksamkeit weiter verbessern.
/*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)