Basierend auf einer dynamischen Trailing-Stop-Loss-Strategie


Erstellungsdatum: 2024-02-27 15:02:34 zuletzt geändert: 2024-02-27 15:02:34
Kopie: 0 Klicks: 622
1
konzentrieren Sie sich auf
1621
Anhänger

Basierend auf einer dynamischen Trailing-Stop-Loss-Strategie

Überblick

Diese Strategie soll die Stop-Loss-Funktion der Bitmestra-Plattform nutzen, um den Stop-Loss-Preis dynamisch anzupassen, um einen genaueren und flexibleren Stop zu erzielen. Die Strategie wird nicht für Ein- und Ausstieg verwendet, sondern gibt einen angemessenen Stop-Loss-Bereich unter verschiedenen Marktbedingungen.

Strategieprinzip

Die Strategie verwendet drei Hauptindikatoren: Höchst-, Tief- und Schlusskurs. Die Strategie definiert zunächst den Stop-Loss-Bereich für Long- und Short-Positions, d. h. die Stop-Loss-Distanz, die von mehreren Köpfen verfolgt wird.longoffsetund Hubschrauber Tracking Stop-Distanzshortoffset│ in dem die Long-Position-Distanz 228,5 Punkte und die Short-Position 243,5 Punkte liegt │

Die Strategie benutzt dann folgende logische Anpassung, um den Stop-Loss-Preis zu verfolgen:trailstop:

  • Wenn der niedrigste Preis der jüngsten K-Linie niedriger ist als der Tracking-Stop-Preis der vorherigen K-Linie und der niedrigste Preis der obersten K-Linie höher ist als der Tracking-Stop-Preis der beiden obersten K-Linien, ist der Tracking-Stop-Preis der aktuellen K-Linie = der Schließungspreis + die Leerlauf-Tracking-Stop-Distanz
  • Wenn der Höchstpreis der jüngsten K-Linie höher ist als der Tracking-Stopppreis der vorherigen K-Linie und der Höchstpreis der vorherigen K-Linie niedriger ist als der Tracking-Stopppreis der vorherigen beiden K-Linien, dann ist der Tracking-Stopppreis der aktuellen K-Linie = der Schließungspreis - mehrfache Tracking-Stoppdistanz
  • Der höchste Preis der jüngsten K-Linie ist höher als der Tracking-Stop-Preis der vorherigen K-Linie, so dass der Tracking-Stop-Preis der aktuellen K-Linie = der höchste Wert ((Tracking-Stop-Preis der vorherigen K-Linie, höchster Preis der jüngsten K-Linie - Tracking-Stop-Distanz)
  • Der niedrigste Preis der letzten K-Linie ist niedriger als der Tracking-Stopp der vorherigen K-Linie, so dass der Tracking-Stopp der aktuellen K-Linie = der Minimalwert ((Tracking-Stopp der vorherigen K-Linie, der niedrigste Preis der letzten K-Linie + Short Stop Tracking Distance))
  • Ansonsten ist der Tracking-Stop-Loss-Preis der aktuellen K-Linie = der Schließungspreis

Auf diese Weise können Sie den Stop-Loss-Preis in Echtzeit anpassen, um den Höchst- und Tiefstpreis des Marktes zu verfolgen und einen dynamischen Stop-Loss zu erzielen.

Analyse der Stärken

Der größte Vorteil dieser Strategie besteht darin, dass ein wirklich dynamischer und flexibler Stop-Loss-Tracking erreicht wird. Im Vergleich zu einem festen Stop-Loss-Preis kann der dynamische Tracking den Stop-Loss-Bereich an die Marktfluktuation anpassen, um zu große Stop-Loss-Distanzen zu vermeiden, die zu unnötige Verluste verursachen, und auch zu kleine Stop-Loss-Distanzen, die von normalen Preisschwankungen getroffen werden. Dies reduziert sowohl unnötige Verluste als auch die Wahrscheinlichkeit eines vorzeitigen Stop-Losses.

Ein weiterer Vorteil ist, dass die Stop-Loss-Distanz anpassbar und optimierbar ist. Der Benutzer kann den Stop-Loss-Bereich wählen, der für ihn geeignet ist, je nach den Eigenschaften der verschiedenen Sorten und dem Handelsstil. Dies ermöglicht die Anwendung der Strategie in einer breiteren Palette von Szenarien.

Schließlich ist die Schadensbegrenzungslogik der Strategie einfach und verständlich, und es ist auch einfach, sie zu entwickeln und in andere Strategien zu integrieren, was einer ihrer Vorteile ist.

Risikoanalyse

Die wichtigsten Risiken dieser Strategie sind:

  1. Dynamische Stop-Losses können nur unter normalen Umständen verringern, die nicht gegen große Unerwartete oder Extreme verursacht werden können. Dies ist die Beschränkung der Dynamischen Stop-Losses selbst.

  2. Wenn die Tracking-Stopp-Distanz zu groß ist, kann dies zu einer Vergrößerung der Verluste führen. Wenn die Distanz zu klein ist, kann es zu früh zum Stoppen kommen. Die Einstellung der Distanz muss sorgfältig getestet und optimiert werden, abhängig von den Eigenschaften der Sorte.

  3. In einigen K-Linien nach der Eröffnung der Position kann die Stop-Loss-Distanz aufgrund der Verfolgung der Stop-Loss-Mechanismen zu groß sein, was zu einem gewissen zusätzlichen Risiko führt.

Optimierungsrichtung

Diese Strategie kann in folgenden Richtungen optimiert werden:

  1. Optimierung der Parameter für verschiedene Sorten: Die Optimierung der Verlustdistanz für die Verfolgung von Mehr- und Leerköpfen ist die wichtigste Optimierungsrichtung.

  2. Reduzierung des zusätzlichen Risikos für einige K-Linien nach der Eröffnung der Position: Es ist möglich, die Anpassung der Stop-Loss-Distanz auf einige K-Linien nach der Eröffnung der Position einzuschränken, um eine zu große Stop-Loss-Distanz zu vermeiden.

  3. In Kombination mit den Volumenindikatoren: Verringerung der Stop-Loss-Distanz in der Phase, in der die Volumen erhöht werden, um einen arbitragen Stop-Loss zu vermeiden.

  4. Kombination mit anderen Einstiegs- und Ausstiegsstrategien: Die Hauptaufgabe dieser Strategie ist die Verfolgung von Stop-Losses. Sie kann in andere Strategien integriert werden und in Kombination mit Einstiegs- und Ausstiegsregeln verwendet werden.

Zusammenfassen

Die Strategie implementiert eine Stop-Loss-Funktion, die den Wechsel von Höchst- und Tiefstpreisen dynamisch verfolgt. Dies kann unnötige Verluste unter normalen Bedingungen effektiv reduzieren und die Probleme mit festen Stop-Loss-Distanzen, die zu groß oder zu klein sind, besser lösen. Die entscheidende Optimierungsrichtung besteht darin, die geeigneten Parameter für verschiedene Sorten zu testen und die Risikokontrolle für einige K-Linien nach dem Börsengang zu kontrollieren.

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

//@version=3
//By River
strategy("BitMex Trailing Stop Strategy", overlay=true)
longoffset = input(defval=228.5, title="Long Trailing Stop Size", type=float, minval=0.5, maxval=1000, step=0.5)
shortoffset = input(defval=243.5, title="Short Trailing Stop Size ", type=float, minval=0.5, maxval=1000, step=0.5)

hiprice = request.security(syminfo.tickerid, "1", high)
loprice = request.security(syminfo.tickerid, "1", low)
price = request.security(syminfo.tickerid, "1", close)

trailstop = price
trailstop := (loprice <= trailstop[1] and loprice[1] >= trailstop[2]) ? price + shortoffset : ((hiprice >= trailstop[1] and hiprice[1] <= trailstop[2]) ? price - longoffset : (hiprice > trailstop[1] ? max(hiprice - longoffset, trailstop[1]) : (loprice < trailstop[1] ? min(loprice + shortoffset, trailstop[1]) : price)))

trailcol = trailstop > price ? red : green
plot(trailstop, color=trailcol)

longCondition =  trailcol == green
alertcondition(longCondition, "Long Stop alert", "BUY")
if (longCondition)
    strategy.entry("Long", strategy.long)
shortCondition = trailcol == red
alertcondition(shortCondition, "Short alert", "SELL")
if (shortCondition)
    strategy.entry("Short", strategy.short)