Trendfolgestrategie basierend auf Supertrendlinien


Erstellungsdatum: 2023-12-08 17:07:53 zuletzt geändert: 2023-12-08 17:07:53
Kopie: 3 Klicks: 606
1
konzentrieren Sie sich auf
1621
Anhänger

Trendfolgestrategie basierend auf Supertrendlinien

Überblick

Diese Strategie ist eine Trend-Tracking-Strategie, die die Richtung der Markttrends ermittelt und Handelssignale gibt. Die Strategie hat die Doppelfunktion von Trend-Ermittlung und Trend-Tracking und kann in Bereichen wie Aktienindex-Futures, Devisen und digitalen Währungen verwendet werden.

Strategieprinzip

Die Strategie berechnet den ATR-Wert innerhalb eines bestimmten Zeitraums und vergleicht ihn mit dem Preis, um zu beurteilen, ob der Preis im Aufwärtstrend ist. Insbesondere berechnet die Strategie zuerst den ATR-Wert und baut dann den Auf- und Abwärtstrend auf Basis des ATR-Wertes. Wenn der Preis über dem Aufwärtstrend liegt, wird er als Aufwärtstrend beurteilt; wenn der Preis unter dem Abwärtstrend liegt, wird er als Abwärtstrend beurteilt.

Der Schlüssel zu dieser Strategie besteht darin, eine Trend-Bestimmungsnorm zu erstellen, die eine Übertrendlinie überschreitet. Die Übertrendlinie basiert auf den dynamischen Veränderungen der ATR-Indikatoren und kann effektiv Marktlärm filtern und die Hauptrendrichtung bestimmen. Die Übertrendlinie hat jedoch eine gewisse Verzögerung, die dazu beiträgt, die Trendwende zu bestätigen und falsche Handelssignale zu vermeiden.

Strategische Vorteile

Der größte Vorteil dieser Strategie liegt in der Kombination von Trendbeurteilung und Trendverfolgung. Insbesondere sind die Hauptvorteile:

  1. Mit der ATR-Konstruktion von Hypertrend-Linien kann der Markttrend effektiv identifiziert und Geräusche gefiltert werden.
  2. Die Supertrendlinie hat eine gewisse Verzögerung, die hilft, falsche Signale zu reduzieren.
  3. Es ist einfach zu bedienen und bietet sowohl Trendbeurteilung als auch Handelssignale.
  4. Optimierbare Parametrizationsparameter für einen breiteren Markt.
  5. Die Benchmarking-Software wird von der Google-Software entwickelt, um die aktuellen Trends zu visualisieren.

Risikoanalyse

Diese Strategie birgt folgende Risiken:

  1. Die ATR-Parameter sind falsch eingestellt, was dazu führen kann, dass die Übertrendlinie zu empfindlich oder zurückliegt.
  2. Es ist unmöglich, die Auswirkungen des Lärms vollständig zu vermeiden, und es kann in Einzelfällen zu falschen Signalen kommen.
  3. Bei starken Schwankungen kann die Genauigkeit der Übertrendlinie abnehmen.
  4. Es ist unmöglich, eine Trendwende vorherzusagen, man kann nur Trends verfolgen, die bereits stattgefunden haben.

Die Strategie kann optimiert werden, indem Parameter wie ATR-Perioden, Übertrend-Linien-Faktoren angepasst werden, oder in Kombination mit anderen Indikatoren überprüft werden, um die Wahrscheinlichkeit eines falschen Signals zu verringern. Darüber hinaus kann ein Stop-Loss-Punkt gesetzt werden, um einzelne Verluste zu kontrollieren.

Optimierungsrichtung

Die Strategie kann noch weiter optimiert werden:

  1. Automatische Optimierung der Parameter in Kombination mit Machine Learning-Algorithmen.
  2. Hinzu kommt die Bewertung und Verifizierung von Indikatoren wie der Index Smooth Moving Average.
  3. Die Strategie der Stop-Loss-Strategie und die Optimierung der Geldverwaltung.
  4. In Kombination mit Stimmungsindikatoren und Nachrichtenseitenanalysen werden potenzielle Trendwende-Vorhersagen gemacht.
  5. Die Analyse der historischen Daten in einer größeren Anzahl von Fällen wird durch die Technik des tiefen Lernens genutzt, um die Genauigkeit der Beurteilung zu verbessern.

Durch die Optimierung in der Tiefe soll die Stabilität, Anpassungsfähigkeit und die Gewinnspanne der Strategie weiter verbessert werden.

Zusammenfassen

Die Strategie zeichnet sich insgesamt durch eine stabile, zuverlässige und ertragsstarke Strategie aus. Die Erstellung von Übertrendlinien, die die wichtigsten Trends beurteilen, und die Bereitstellung von Handelssignalen sind die größten Vorzüge der Strategie. Es besteht jedoch ein gewisses Risiko für Verzögerungen und Fehlentscheidungen.

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

//@version=4
strategy("Supertrend Strategy", overlay = true)

Periods = 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?")

atr2 = sma(tr, Periods)
atr = changeATR ? atr(Periods) : atr2

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

upPlot = plot(trend == 1 ? up : na, title="Up Trend", style=plot.style_linebr, linewidth=2, color=color.green)
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.green, transp=0)
plotshape(buySignal and showsignals ? up : na, title="Buy", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.white, transp=0)

dnPlot = plot(trend == 1 ? na : dn, title="Down Trend", style=plot.style_linebr, linewidth=2, color=color.red)
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.red, transp=0)
plotshape(sellSignal and showsignals ? dn : na, title="Sell", text="Sell", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white, transp=0)

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)
fill(mPlot, dnPlot, title="DownTrend Highlighter", color=shortFillColor)

strategy.entry("Buy", strategy.long, when=buySignal)
strategy.entry("Sell", strategy.short, when=sellSignal)

alertcondition(buySignal, title="SuperTrend Buy", message="SuperTrend Buy!")
alertcondition(sellSignal, title="SuperTrend Sell", message="SuperTrend Sell!")
changeCond = trend != trend[1]
alertcondition(changeCond, title="SuperTrend Direction Change", message="SuperTrend has changed direction!")