Golden Cross und Death Cross Dynamische Stop-Loss-Strategie


Erstellungsdatum: 2023-11-01 13:46:28 zuletzt geändert: 2023-11-01 13:46:28
Kopie: 1 Klicks: 707
1
konzentrieren Sie sich auf
1617
Anhänger

Golden Cross und Death Cross Dynamische Stop-Loss-Strategie

Überblick

Die Strategie erzeugt ein Kaufsignal, wenn der Preis eine EMA überschreitet, und ein Verkaufssignal, wenn der Preis eine EMA unterschreitet, indem sie den ATR-Indikator als Stop-Line berechnet und das Risiko mit dynamischen Stopps verwaltet.

Strategieprinzip

Die Kernlogik der Strategie lautet:

  1. Berechnung des ATR-Wertes als Stop-Loss-Linie für die Berechnung der Stop-Loss-Distanz nLoss

  2. Der Preisquell wird nach der Heikin Ashi-Option h bestimmt, und der Schlusskurs wird als Schlusskurs verwendet, wenn die Heikin Ashi-Option ausgewählt ist

  3. Definition von xATRTrailingStop als dynamische Tracking-Stopplinie, die die aktuelle K-Stopplinie bestimmt, indem sie den Preis mit der vorherigen K-Stopplinie vergleicht

  4. Positionspositionen definieren, wenn der Preis die Stop-Line überschreitet, ist es 1 (mehr), wenn der Preis die Stop-Line unterschreitet, ist es -1 (frei), ansonsten ist es 0 (ohne Positionen)

  5. Berechnen Sie den EMA-Durchschnittswert einer K-Linie und definieren Sie den Indikator als oberflächlich (Kaufsignal) und unterflächlich (Verkaufssignal)

  6. Setzen Sie Ein- und Ausgänge, wenn ein Kauf- und Verkaufssignal auftritt

  7. Die Barcolor-Funktion markiert die Farbe der K-Linie anhand der Position

  8. Markierung von Signalen bei Kauf und Verkauf mit Plotshape

Die Strategie verwaltet das Risiko durch ATR-dynamische Stopps, die in der Lage sind, rechtzeitig einzutreten, wenn ein Trend auftritt, und rechtzeitig zu stoppen, wenn die Stop-Line ausgelöst wird.

Strategische Vorteile

Diese Strategie hat folgende Vorteile:

  1. Mit dem ATR-Dynamischen Stop kann die Stop-Distance an die Höhe der Marktfluktuation angepasst werden, um einen zu radikalen Stop zu vermeiden, der durch kurzfristige Preisschwankungen ausgelöst wird, während ein Stop-Loss garantiert wird.

  2. EMAs erzeugen Handelssignale, um unnötige Transaktionen durch falsche Durchbrüche zu filtern.

  3. Ermöglicht die Auswahl von Heikin Ashi-Körpern als Preisquelle und kann Geräusche filtern, um Trends zu erkennen

  4. Positionsmanagement ist klar, die Positionen sind klar und es wird vermieden, häufige Geschäfte zu verfolgen, die zu Verlusten führen.

  5. Handelssignale und Stopps werden durch Zeichnungen, Markierungen und Farbgebung visuell angezeigt

  6. Strategie-Logik ist einfach, klar und leicht zu verstehen und zu ändern

  7. Anpassbare ATR-Zyklen und ATR-Stop-Loss-Multiplier für unterschiedliche Marktbedingungen

Insgesamt ist die Strategie die Integration von Trend-Tracking und Dynamische Stop-Loss-Technologie, die Trends effektiv zu identifizieren und Risiken zu verwalten, für den Handel mit der Verfolgung von mittleren und langen Trends geeignet.

Strategisches Risiko

Die Strategie birgt einige Risiken:

  1. Die EMA-Gewinnlinie erzeugt Handelssignale, die möglicherweise nachlässig sind und eine kurze Linie verpassen

  2. Die Stop-Loss-Distanz wird von der ATR festgelegt und ist bei Marktschwankungen häufig zu stoppen

  3. Zwei-seitige Gebühren bei tatsächlichen Transaktionen ohne Berücksichtigung der Kosten beeinträchtigen die Gewinnentwicklung

  4. Keine angemessene Positionskontrollen und Verbesserungen bei der Geldverwaltung

  5. Effektivität ist abhängig von Parameteroptimierungen, die in verschiedenen Märkten angepasst werden müssen

  6. In den USA ist der Markt in den letzten Jahren stark gesunken.

  7. Strategie muss überwacht, eingegriffen oder gestoppt werden

Risiken können durch geeignete Optimierung von Parametern, Positionskontrollen in Kombination mit anderen Indikatoren, Filtersignalen usw. verringert werden. Die Positionsgröße muss im Live-Handel kontrolliert werden, die Strategiewirksamkeit kontinuierlich überwacht werden und bei Bedarf manuell eingegriffen oder geschlossen werden.

Optimierungsrichtung

Diese Strategie kann in folgenden Bereichen optimiert werden:

  1. Anpassung der ATR-Parameter, um die Stop-Loss-Distanz in verschiedenen Märkten zu optimieren

  2. Verschiedene Gleichheitsindikatoren werden getestet, um falsche Signale weiter zu filtern.

  3. Trendschätzungen hinzugefügt, Trends zu identifizieren und dann wieder einzutreten.

  4. Positionskontrollen eingerichtet, um die Anzahl der Einwegpositionen zu begrenzen

  5. Erhöhung der Bedingungen für die Eröffnung von Positionen, z. B. Handelsvolumen, Abweichung von der Durchschnittspreis

  6. Kosten berücksichtigen und die Stop-Loss-Distanz auf Basis der Gebühren festlegen

  7. Optimierung von Kauf- und Verkaufszeiten, kombiniert mit mehreren Signalen und Indikatoren

  8. Teil- oder Bewegungsstopp

  9. Hinzufügen von Parameteroptimierungsfunktionen, die automatisch Testparameter optimieren

Durch die integrierte Anwendung mehrerer technischer Indikatoren und Optimierungsmethoden kann die Strategie weiter verfeinert und in mehr Märkten stabiler wirken.

Zusammenfassen

Die Strategie integriert dynamische Stop-Loss- und Trend-Tracking-Technologien und bietet die Vorteile eines effektiven Stop-Losses, einer reibungslosen Verfolgung und einer einfachen Verständnis und Optimierung. Sie ist für die Beobachtung von mittleren und langen Trendmodellen geeignet. Es ist jedoch wichtig, die Risiken zu kontrollieren und die Optimierungsparameter zu berücksichtigen.

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

//@version=4
strategy(title="UT Bot Strategy", overlay = true)
//CREDITS to HPotter for the orginal code. The guy trying to sell this as his own is a scammer lol. 

// Inputs
a = input(1,     title = "Key Vaule. 'This changes the sensitivity'")
c = input(10,    title = "ATR Period")
h = input(false, title = "Signals from Heikin Ashi Candles")

xATR  = atr(c)
nLoss = a * xATR

src = h ? security(heikinashi(syminfo.tickerid), timeframe.period, close, lookahead = false) : close

xATRTrailingStop = 0.0
xATRTrailingStop := iff(src > nz(xATRTrailingStop[1], 0) and src[1] > nz(xATRTrailingStop[1], 0), max(nz(xATRTrailingStop[1]), src - nLoss),
   iff(src < nz(xATRTrailingStop[1], 0) and src[1] < nz(xATRTrailingStop[1], 0), min(nz(xATRTrailingStop[1]), src + nLoss), 
   iff(src > nz(xATRTrailingStop[1], 0), src - nLoss, src + nLoss)))
 
pos = 0   
pos :=	iff(src[1] < nz(xATRTrailingStop[1], 0) and src > nz(xATRTrailingStop[1], 0), 1,
   iff(src[1] > nz(xATRTrailingStop[1], 0) and src < nz(xATRTrailingStop[1], 0), -1, nz(pos[1], 0))) 
   
xcolor = pos == -1 ? color.red: pos == 1 ? color.green : color.blue 

ema   = ema(src,1)
above = crossover(ema, xATRTrailingStop)
below = crossover(xATRTrailingStop, ema)

buy  = src > xATRTrailingStop and above 
sell = src < xATRTrailingStop and below

barbuy  = src > xATRTrailingStop 
barsell = src < xATRTrailingStop 

plotshape(buy,  title = "Buy",  text = 'Buy',  style = shape.labelup,   location = location.belowbar, color= color.green, textcolor = color.white, transp = 0, size = size.tiny)
plotshape(sell, title = "Sell", text = 'Sell', style = shape.labeldown, location = location.abovebar, color= color.red,   textcolor = color.white, transp = 0, size = size.tiny)

barcolor(barbuy  ? color.green : na)
barcolor(barsell ? color.red   : na)

strategy.entry("long",   true, when = buy)
strategy.entry("short", false, when = sell)