
Diese Strategie kombiniert den SuperTrend-Indikator mit dem DEMA-Indikator und ermöglicht eine Trendverfolgungs-Handelsstrategie. Es erzeugt ein Kaufsignal, wenn der Preis über die Oberbahn geht, und ein Verkaufsignal, wenn der Preis unter die Oberbahn geht. Die Strategie kombiniert den DEMA-Indikator mit einem Falschsignalfilter.
Die Strategie basiert hauptsächlich auf dem SuperTrend-Indikator, um die Richtung des Preistrends zu bestimmen. Der SuperTrend-Indikator in Kombination mit dem ATR-Indikator kann den Preistrend effektiv bestimmen. Wenn der Preis steigt, wird ein Aufschwung gebildet, wenn der Preis fällt, wird ein Absturz gebildet.
Die Strategie kombiniert auch die DEMA-Anzeige, um Falschmeldungen zu filtern. Ein Kaufsignal wird nur erzeugt, wenn der Preis über die Obergrenze und über der DEMA-Linie geht. Ein Verkaufsignal wird nur erzeugt, wenn der Preis unter die Obergrenze und unter der DEMA-Linie fällt.
Insbesondere die Logik der Handelssignale für diese Strategie lautet wie folgt:
Mit dieser Logik kann man sich in einem Trendbewegungsmodus bewegen und vermeiden, in einem unsicheren Markt häufig Positionen aufzunehmen.
Die Risiken können auf folgende Weise gelöst werden:
Diese Strategie kann in folgenden Bereichen optimiert werden:
Optimierung der Parameter des SuperTrend-Indikators. Verschiedene Parameter des ATR-Zyklus können getestet werden, um die optimale Kombination zu finden.
Optimierung der DEMA-Indikatorparameter. Verschiedene Parameter können getestet werden, um die optimale Parameter-Einstellung zu ermitteln.
Die Stop-Loss-Methode erhöht die Stop-Loss-Einstellungen, die auf den ATR-Wert angepasst werden können, um zu hohe Stop-Losses zu vermeiden.
Hinzufügen von Signalfilterregeln. Es ist möglich, die Bestätigung anderer Indikatoren an den Schlüsselpunkten hinzuzufügen, um falsche Signale zu vermeiden.
Optimierung der Positionsverwaltung. Positionen können entsprechend der Dynamik der Marktvolatilität und der Risikostellung angepasst werden.
Diese Strategie integriert die Vorteile der SuperTrend- und DEMA-Indikatoren und ermöglicht eine quantitative Handelsstrategie, die auf Trendverfolgung und Signalfilterung basiert. Es gibt viel Spielraum für die Optimierung der Strategie. Die Stabilität und Profitabilität der Strategie können durch Maßnahmen wie Parameteroptimierung, Stop-Loss-Mechanismen und Signalfilterung weiter verbessert werden.
/*backtest
start: 2023-11-07 00:00:00
end: 2023-12-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy('Krish\'s Supertrend Strategy', overlay=true)
// Supertrend Settings
Periods = input(title='ATR Period', defval=10)
src = input(hl2, title='Source')
Multiplier = input.float(title='ATR Multiplier', step=0.1, defval=3.0)
changeATR = input(title='Change ATR Calculation Method ?', defval=true)
showsignals = input(title='Show Buy/Sell Signals ?', defval=true)
highlighting = input(title='Highlighter On/Off ?', defval=true)
atr2 = ta.sma(ta.tr, Periods)
atr = changeATR ? ta.atr(Periods) : atr2
up = src - Multiplier * atr
up1 = nz(up[1], up)
up := close[1] > up1 ? math.max(up, up1) : up
dn = src + Multiplier * atr
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? math.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
upPlot = plot(trend == 1 ? up : na, title='Up Trend', style=plot.style_linebr, linewidth=2, color=color.new(color.green, 0))
buySignal = trend == 1 and trend[1] == -1
plotshape(buySignal ? up : na, title='UpTrend Begins', location=location.absolute, style=shape.circle, size=size.tiny, color=color.new(color.green, 0))
plotshape(buySignal and showsignals ? up : na, title='Buy', text='Buy', location=location.absolute, style=shape.labelup, size=size.tiny, color=color.new(color.green, 0), textcolor=color.new(color.white, 0))
dnPlot = plot(trend == 1 ? na : dn, title='Down Trend', style=plot.style_linebr, linewidth=2, color=color.new(color.red, 0))
sellSignal = trend == -1 and trend[1] == 1
plotshape(sellSignal ? dn : na, title='DownTrend Begins', location=location.absolute, style=shape.circle, size=size.tiny, color=color.new(color.red, 0))
plotshape(sellSignal and showsignals ? dn : na, title='Sell', text='Sell', location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(color.red, 0), textcolor=color.new(color.white, 0))
// DEMA Settings
dema_length = 200
dema = ta.ema(close, dema_length)
// Long and Short Conditions
longCondition = buySignal and close > dema
shortCondition = sellSignal and close < dema
// Strategy Entry and Exit
strategy.entry('Long', strategy.long, when=longCondition)
strategy.entry('Short', strategy.short, when=shortCondition)
strategy.close('Long', when=ta.change(trend) or close < dema)
strategy.close('Short', when=ta.change(trend) or close > dema)
// Plotting
mPlot = plot(ohlc4, title='', style=plot.style_circles, linewidth=0)
longFillColor = highlighting ? trend == 1 ? color.green : color.white : color.white
shortFillColor = highlighting ? trend == -1 ? color.red : color.white : color.white
fill(mPlot, upPlot, title='UpTrend Highlighter', color=longFillColor, transp=90)
fill(mPlot, dnPlot, title='DownTrend Highlighter', color=shortFillColor, transp=90)
// Alerts (using plotshape for alerts in strategies)
plotshape(buySignal, title='SuperTrend Buy', color=color.new(color.green, 0), style=shape.triangleup, size=size.small)
plotshape(sellSignal, title='SuperTrend Sell', color=color.new(color.red, 0), style=shape.triangledown, size=size.small)
changeCond = trend != trend[1]
plotshape(changeCond, title='SuperTrend Direction Change', color=color.new(color.yellow, 0), style=shape.triangleup, size=size.small)