Dynamische Strategie zur Verringerung von Verlusten

Schriftsteller:ChaoZhang, Datum: 2024-01-31 15:05:30
Tags:

img

Übersicht

Diese Strategie basiert auf einem dynamischen Trailing-Stop-Loss-Mechanismus, um Stop-Loss-Linien für lange und kurze Positionen basierend auf den höchsten und niedrigsten Preisen einer Aktie festzulegen.

Grundsätze

Die wichtigsten Schritte dieser Strategie sind:

  1. Eingabeparameter: wählen Sie Long oder Short, setzen Sie die Länge für die Periode, Trailing Stop Slippage
  2. Berechnen Sie höchste und niedrigste Preise: erhalten Sie höchste und niedrigste Preise basierend auf der Eingabelänge
  3. Berechnen Sie die Stop-Loss-Linien: für den langen, niedrigsten Preis abzüglich Schlupf; für den kurzen, höchsten Preis plus Schlupf
  4. Offene und geschlossene Positionen: Wenn der Preis die Stop-Loss-Linie erreicht, schließt man die Position in der aktuellen Richtung und eröffnet die Position in der entgegengesetzten Richtung.

Das ist die grundlegende Logik der Strategie. Während sich der Preis bewegt, aktualisiert sich die Stop-Loss-Linie ständig für eine dynamische Verfolgung.

Analyse der Vorteile

Die wichtigsten Vorteile dieser Strategie sind:

  1. Einfache und klare Logik, leicht zu verstehen und umzusetzen
  2. Dynamische Kontrollen für einen einzigen Verlust bei einem Trailing Stop Loss
  3. Flexibilität bei der Wahl von Long oder Short und Anpassung an verschiedene Marktbedingungen
  4. Anpassung der Periode und des Schlupfes zur Optimierung

Zusammenfassend kann diese Strategie durch einfache Trailing Stop Loss-Mechanismen Positionen effektiv verwalten und ist eine typische Risikomanagementstrategie.

Risikoanalyse

Es gibt auch einige Risiken zu beachten:

  1. Preisschwankungen können häufig zu einem Stop-Loss führen, was zu einem Überhandel führt
  2. Fehlende Periodeneinstellungen können zu ungeeigneten Stop-Loss-Linien führen
  3. Übermäßige Schlupfbereitschaft kann zu einem lockeren Stoppverlust führen, der den Verlust nicht rechtzeitig stoppen kann

Diese Risiken können optimiert werden, indem die Periode angepasst und der Rutsch angemessen reduziert wird, um sinnvollere Stop-Loss-Linien zu schaffen.

Optimierungsrichtlinien

Die Strategie kann in folgenden Aspekten verbessert werden:

  1. Hinzufügen Optimierung für dynamische Stop-Loss-Linie Anpassung, vermeiden Sie unsachgemäße enge oder lose Stop-Loss-Linien
  2. Hinzufügen von offenen Positionsbedingungen, um zu vermeiden, dass Positionen zu unangemessenen Zeiten geöffnet werden
  3. Einbeziehung von Trendindikatoren für Trendverfolgung mit höherem Gewinnpotenzial
  4. Hinzufügen von Positionsgrößen zur dynamischen Anpassung von Positionen anhand der Risikoniveaus

Schlussfolgerung

Die Handelsstrategie realisiert dynamisches Positionsmanagement durch einfache Trailing-Stop-Loss-Methoden. Es ist einfach zu verstehen und umzusetzen und kann einen einzelnen Handelsverlust effektiv kontrollieren. Wir haben die Vorteile, potenziellen Risiken und zukünftigen Optimierungsrichtungen analysiert. Abschließend ist dies eine sehr typische und praktische Risikomanagement-Strategie.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2019

//@version=4
strategy(title = "Noro's Trailing-Stop Strategy", shorttitle = "Trailing", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(false, defval = false, title = "Short")
length = input(20, minval = 1)
shift = input(0.0, minval = 0, title = "Trailing Stop")
background = input(false)

//Levels
max = highest(high, length)
min = lowest(low, length)

//Trailing
size = strategy.position_size
longtrailing = 0.0
shorttrailing = 0.0
longtrailing := size <= 0 ? min - ((min / 100) * shift) : max(min - ((min / 100) * shift), longtrailing[1])
shorttrailing := size >= 0 ? max + ((max / 100) * shift) : min(max + ((max / 100) * shift), shorttrailing[1])
trailing = size <= 0 ? shorttrailing : longtrailing
col = size == size[1] ? size > 0 ? color.red : color.lime : na
plot(trailing, color = col, linewidth = 2, transp = 0)

//Background
bgcol = background ? size > 0 ? color.lime : color.red : na
bgcolor(bgcol, transp = 80)

if trailing > 0 and size <= 0
    strategy.entry("Long", strategy.long, needlong ? na : 0, stop = trailing)
if trailing > 0 and size >= 0
    strategy.entry("Short", strategy.short, needshort ? na : 0, stop = trailing)

Mehr