Super-Trendindikator DEMA Duale Trendfolgestrategie


Erstellungsdatum: 2024-01-16 15:03:55 zuletzt geändert: 2024-01-16 15:03:55
Kopie: 1 Klicks: 643
1
konzentrieren Sie sich auf
1617
Anhänger

Super-Trendindikator DEMA Duale Trendfolgestrategie

Überblick

Die Doppel-Trend-Tracking-Strategie ist eine Kombination aus dem Supertrend-Indikator, dem Doppel-Indikator-Moving-Average (DEMA) und dem Brin-Band. Sie zielt darauf ab, die Vorteile mehrerer technischer Indikatoren zu nutzen, um bei einer Trendwende rechtzeitig Kauf- und Verkaufssignale zu erfassen.

Strategieprinzip

Die Strategie besteht aus drei Teilen:

  1. Supertrend-Indikator: Berechnung von Aufwärts- und Abwärtsbrechlinien, um die aktuelle Trendrichtung zu bestimmen. Erzeugt ein Kaufsignal, wenn der Preis von unten aufwärts die Supertrendlinie durchbricht; erzeugt ein Verkaufssignal, wenn er von oben nach unten durchbricht.

  2. DEMA: Ein Trend-Tracking-Indikator, der die Eigenschaften eines einfachen und eines Index-Moving-Averages kombiniert, um schneller auf Preisänderungen zu reagieren. Die Strategie enthält ein 200-Tage-DEMA, um die langfristige Trendrichtung zu bestimmen.

  3. Brin-Band: Der Bereich, in dem die Preise schwanken. Wenn ein Brin-Band sich ungewöhnlich schrumpft oder ausdehnt, ist dies ein Hinweis auf eine mögliche Trendwende.

Wenn der Supertrend-Indikator und der DEMA ein Kauf-/Verkaufssignal senden, treten Sie in die entsprechende Position ein. Darüber hinaus kann die Ausnahme in der Brin-Band als Signal zur Unterstützung der Beurteilung dienen.

Strategische Vorteile

  1. Mehrfache Kennzahlen, ein umfassendes Urteilsvermögen, weniger Falschmeldungen.
  2. Der Supertrend-Indikator ist nicht empfindlich auf kleine Preisänderungen und gibt nur an Trendwendepunkten Signale und vermeidet zu häufigen Handel.
  3. Die DEMA-Kurve wird geschliffen, um die langfristigen Trends zu beurteilen.
  4. Brin und seine Begleiter beurteilen eine Trendwende.

Risiken und Lösungen

  1. Die Supertrend-Indikator-Parameter sind zu sensibel eingestellt und können zu viel Lärm führen. Die ATR-Periode und die Multiplikator-Parameter können angepasst werden, um sie zu optimieren.
  2. Zu lange DEMA-Zyklen führen zu einer schlechten Trendbeobachtung.
  3. Wenn ein Signal bei der Beurteilung einer Kombination aus mehreren Indikatoren nicht übereinstimmt, kann der Supertrend als Hauptsignal verwendet werden.

Optimierungsrichtung

  1. Verschiedene ATR-Perioden und Multiplikator-Parameter-Einstellungen werden getestet, um die optimalen Parameter für den Supertrend-Indikator zu finden.
  2. Optimierung der DEMA-Zyklusparameter.
  3. Hinzufügen von anderen Indikatoren zur Unterstützung der Beurteilung, wie KDJ, MACD usw.
  4. Erhöhung der Stop-Loss-Strategie.

Zusammenfassen

Dual-Trend-Tracking-Strategie, eine Kombination aus mehreren Indikatoren, die die Vorzüge von Supertrends, DEMA und Brin-Band 3 nutzt, um die Signalqualität zu verbessern, während die Trends erfasst werden. Durch die Optimierung der Parameter kann erwartet werden, dass eine bessere Strategiewirkung erzielt wird. Die Hinzufügung von Stop-Loss-Mechanismen ist ein zukünftiger Optimierungsschwerpunkt.

Strategiequellcode
/*backtest
start: 2023-01-09 00:00:00
end: 2024-01-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Supertrend + DEMA + Bollinger Bands", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10, precision=2)

// Input parameters for Supertrend
atrLength = input(title="ATR Period", type=input.integer, defval=12)
src = input(hl2, title="Source")
multiplier = input(title="ATR Multiplier", type=input.float, step=0.1, defval=3.0)
changeATR = input(title="Change ATR Calculation Method?", type=input.bool, defval=true)
showSupertrend = input(title="Show Supertrend Indicator?", type=input.bool, defval=true)

// Input parameters for DEMA
demaLength = input(200, title="DEMA Period")
showDEMA = input(title="Show DEMA Indicator?", type=input.bool, defval=true)

// Calculate ATR for Supertrend
atr2 = sma(tr, atrLength)
atr = changeATR ? atr(atrLength) : atr2

// Calculate Supertrend
up = src - (multiplier * atr)
up1 = nz(up[1], up)
up := close[1] > up1 ? max(up, up1) : up

dn = src + (multiplier * atr)
dn1 = nz(dn[1], dn)
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(showSupertrend ? (trend == 1 ? up : na) : 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 ? 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(showSupertrend ? (trend == 1 ? na : dn) : na, 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 ? 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))

mPlot = plot(ohlc4, title="", style=plot.style_circles, linewidth=0)

longFillColor = (trend == 1 ? color.new(color.green, 80) : color.new(color.white, 0))
shortFillColor = (trend == -1 ? color.new(color.red, 80) : color.new(color.white, 0))

fill(mPlot, upPlot, title="UpTrend Highlighter", color=longFillColor)
fill(mPlot, dnPlot, title="DownTrend Highlighter", color=shortFillColor)

// Alert conditions
alertcondition(buySignal, title="Custom Supertrend Buy", message="Custom Supertrend Buy!")
alertcondition(sellSignal, title="Custom Supertrend Sell", message="Custom Supertrend Sell!")

// Calculate DEMA
ema1 = ema(close, demaLength)
dema = 2 * ema1 - ema(ema1, demaLength)

// Plot DEMA with white color
plot(showDEMA ? dema : na, color=color.new(color.white, 0), title="DEMA", linewidth=2)

// Add push notification on mobile if buy and sell occurred
if (buySignal)
    strategy.entry("Buy", strategy.long)
    strategy.exit("Sell")
    alert("Buy Signal - Supertrend")

if (sellSignal)
    strategy.entry("Sell", strategy.short)
    strategy.exit("Cover")
    alert("Sell Signal - Supertrend")