
Eine Supertrend-EMA-Kombination ist eine Handelsstrategie, bei der der Supertrend-Indikator mit mehreren EMA-Indikatoren kombiniert wird. Die Strategie nutzt die Supertrend-Indikatoren, um die Richtung des aktuellen Markttrends zu bestimmen, und verwendet die EMA-Indikatoren verschiedener Zyklen als Trigger für die Kauf- und Verkaufssignale. Ein Kaufsignal wird erzeugt, wenn der kurzfristige EMA mit dem mittleren EMA verzweigt ist und der Supertrend-Indikator einen Aufwärtstrend zeigt.
Der Supertrend- und EMA-Kombinationsstrategiekernel nutzt die Eigenschaften des Supertrend- und EMA-Indikators, um Trendänderungen und Preisschwankungen auf dem Markt zu erfassen. Der Supertrend-Indikator beurteilt die Richtung des aktuellen Markttrends, indem er den aktuellen Schlusskurs mit dem Auf- und Ablauf des vorherigen Zyklus vergleicht. Wenn der Schlusskurs über den Schlusskurs fällt, zeigt der Markt einen Aufwärtstrend an. Wenn der Schlusskurs über den Schlusskurs fällt, zeigt der Markt einen Abwärtstrend an.
Die Strategie nutzt die Supertrend-Indikatoren, um die Markttrends zu beurteilen, und erzeugt gleichzeitig Kauf- und Verkaufssignale durch die Kreuzung der EMA-Indikatoren. Die Strategie hat die Vorteile, dass sie eine starke Trendverfolgung, eine zuverlässige Signalbestätigung und eine große Anpassungsfähigkeit hat. Die Strategie ist jedoch auch mit Risiken wie Parameteroptimierung, Marktfluktuation und Trendwechsel konfrontiert.
/*backtest
start: 2023-06-01 00:00:00
end: 2024-06-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Supertrend EMA Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// Supertrend Parameters
atrPeriod = input(10, title="ATR Period")
src = input(hl2, title="Source")
multiplier = input(3.0, title="ATR Multiplier", step=0.1)
changeATR = input(true, title="Change ATR Calculation Method?")
showSignals = input(true, title="Show Buy/Sell Signals?")
highlighting = input(true, title="Highlighter On/Off?")
// Calculate ATR
atr = changeATR ? atr(atrPeriod) : sma(tr, atrPeriod)
// Calculate Supertrend
up = src - (multiplier * atr)
dn = src + (multiplier * atr)
up1 = nz(up[1], up)
dn1 = nz(dn[1], dn)
up := close[1] > up1 ? max(up, up1) : up
dn := close[1] < dn1 ? min(dn, dn1) : dn
trend = 1
trend := nz(trend[1], trend)
trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend
// Plot Supertrend
upPlot = plot(trend == 1 ? up : na, title="Up Trend", style=plot.style_linebr, linewidth=2, color=color.green)
dnPlot = plot(trend == 1 ? na : dn, title="Down Trend", style=plot.style_linebr, linewidth=2, color=color.red)
// EMA Parameters
shortEmaLength = input(20, title="Short EMA Length")
mediumEmaLength = input(50, title="Medium EMA Length")
longEmaLength = input(100, title="Long EMA Length")
longestEmaLength = input(200, title="Longest EMA Length")
// Calculate EMA
shortEma = ema(close, shortEmaLength)
mediumEma = ema(close, mediumEmaLength)
longEma = ema(close, longEmaLength)
longestEma = ema(close, longestEmaLength)
// Plot EMA
plot(shortEma, color=color.red, title="EMA 20")
plot(mediumEma, color=color.orange, title="EMA 50")
plot(longEma, color=color.aqua, title="EMA 100")
plot(longestEma, color=color.blue, title="EMA 200")
// Define Buy and Sell Conditions
buyCondition = crossover(shortEma, mediumEma) and trend == 1
sellCondition = crossunder(shortEma, mediumEma) and trend == -1
// Plot Buy/Sell Signals
plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sellCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Add Text Labels for Buy and Sell Signals
if (buyCondition)
label.new(bar_index, high, text="Buy", color=color.green, textcolor=color.white, style=label.style_label_up, yloc=yloc.abovebar)
if (sellCondition)
label.new(bar_index, low, text="Sell", color=color.red, textcolor=color.white, style=label.style_label_down, yloc=yloc.belowbar)
// Strategy Entry and Exit
if (buyCondition)
strategy.entry("Buy", strategy.long)
if (sellCondition)
strategy.close("Buy")
// Highlight Trend
longFillColor = highlighting ? (trend == 1 ? color.green : color.white) : color.white
shortFillColor = highlighting ? (trend == -1 ? color.red : color.white) : color.white
fill(plot(ohlc4, title="", style=plot.style_circles, linewidth=0), upPlot, title="UpTrend Highlighter", color=longFillColor)
fill(plot(ohlc4, title="", style=plot.style_circles, linewidth=0), dnPlot, title="DownTrend Highlighter", color=shortFillColor)
// Alerts
alertcondition(buyCondition, title="Buy Alert", message="Supertrend EMA Buy Signal")
alertcondition(sellCondition, title="Sell Alert", message="Supertrend EMA Sell Signal")