Schriftsteller:ChaoZhang, Datum: 2024-01-25 12:50:12
Tags:

img

Übersicht

Die Intelligente Trailing Stop Loss Strategie ist eine Strategie, die den Stop-Loss-Punkt automatisch anhand von Kursänderungen anpasst. Sie kombiniert die Logik des SAR-Indikators und passt die Trailing Stop-Loss-Linie an, wenn der Preis neue Höchst- oder Tiefpunkte erreicht, um maximale Drawdown-Kontrolle zu erreichen.

Strategieprinzip

Die Kernlogik dieser Strategie besteht darin, die Stop-Loss-Linie basierend auf dem SAR-Indikator automatisch anzupassen.

  • EP: Extrempunkt
  • SAR: Aktueller Stoppverlustpunkt
  • AF: Schrittfaktor, der zur Steuerung der Einstellgröße der Stop-Loss-Linie verwendet wird
  • Aufwärtstrend-Flag: Um zu beurteilen, ob es sich derzeit um einen Aufwärtstrend oder einen Abwärtstrend handelt

Während eines Aufwärtstrends bewegt sich die Stop-Loss-Linie weiter nach oben, um den steigenden Preis zu verfolgen.

Die Einstellgröße der Stop-Loss-Linie wird durch den Schrittfaktor AF gesteuert. Die AF erhöht sich, wenn ein neuer Stop-Loss-Punkt erfolgreich eingestellt wird, wodurch die nächste Einstellgröße erweitert wird.

Vorteile

Der größte Vorteil dieser Strategie besteht darin, dass sie den Stop-Loss-Punkt entsprechend den Marktschwankungen intelligent anpassen kann, während gleichzeitig ausreichend Gewinnraum gewährleistet und der maximale Drawdown so weit wie möglich minimiert wird.

Insbesondere gibt es folgende Hauptvorteile:

  1. Reduzieren Sie den maximalen Gewinn: Intelligente Anpassung der Stop-Loss-Linie kann vor der Trendumkehr aussteigen, um den Schutz des realisierten Gewinns zu maximieren
  2. Erfassen von Trends: Die Stop-Loss-Linie passt sich mit neuen Höchst- oder Tiefwerten an und verfolgt automatisch Preistrends
  3. Anpassbare Parameter: Benutzer können den AF-Schrittwert und den Anfangswert anhand ihrer eigenen Risikopräferenzen anpassen, um die Empfindlichkeit der Stop-Loss-Anpassungen zu steuern

Risikoanalyse

Für diese Strategie sind auch einige Risiken zu beachten:

  1. Zu empfindlich: Ist die AF-Schrittregelung zu groß oder der Anfangswert zu gering, ist die Stop-Loss-Linie zu empfindlich und kann durch kurzfristige Marktlärm ausgelöst werden
  2. Vermisste Chancen: Eine zu frühzeitige Stop-Loss-Aktivierung kann auch dazu führen, dass profitable Chancen aus dem anhaltenden Aufwärtstrend verpasst werden
  3. Auswahl der Parameter: Falsche Einstellungen der Parameter beeinflussen auch die Strategieleistung und die Anpassung der Anforderungen an verschiedene Märkte

Optimierungsrichtlinien

Die Strategie kann auch in folgenden Aspekten optimiert werden:

  1. Kombination mit anderen Indikatoren: Anpassung der Stop-Loss-Linie, wenn die wichtigsten Zyklusindikatoren Signale ausgeben, um einen vorzeitigen Stop-Loss vor einer Trendumkehr zu vermeiden
  2. Parameter-Self-Adaptive Module hinzufügen: Optimieren Sie automatisch Parameter basierend auf historischen Daten mit Hilfe von Algorithmen für maschinelles Lernen
  3. Multi-Level Stop Loss: Setzen Sie mehrere Stop-Loss-Linien ein, um unterschiedliche Größen der Marktschwankungen zu verfolgen

Schlussfolgerung

Die Intelligente Trailing Stop Loss Strategie passt die Stop-Loss-Linienpositionen in Echtzeit an, indem sie die Betriebslogik des SAR-Indikators simuliert.

Im Vergleich zu traditionellen festen Stop-Loss-Strategien kann sich diese Strategie besser an Marktveränderungen anpassen und ist flexibler.

Natürlich gibt es für diese Strategie auch gewisse Parameteroptimierungsräume und verbesserte Effekte, die durch Kombination anderer Indikatoren erzielt werden können.


/*backtest
start: 2024-01-17 00:00:00
end: 2024-01-24 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Lucid SAR Strategy", shorttitle="Lucid SAR Strategy", overlay=true)

// Full credit to Sawcruhteez, Lucid Investment Strategies LLC and Casey Bowman.
// This is a strategy version of the Lucid SAR indicator created by the above-mentioned parties.
// Original version of the indicator: https://www.tradingview.com/script/OkACQQgL-Lucid-SAR/

// Branded under the name "Lucid SAR" 
// As agreed to with Lucid Investment Strategies LLC on July 9, 2019
// https://lucidinvestmentstrategies.com/


// Created by Casey Bowman on July 4, 2019

// MIT License

// Copyright (c) 2019 Casey Bowman

// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:

// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.

// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.


AF_initial = input(0.02)
AF_increment = input(0.02)
AF_maximum = input(0.2)


// start with uptrend
uptrend = true
newtrend = false
EP = high
SAR = low
AF = AF_initial

if not na(uptrend[1]) and not na(newtrend[1])
    if uptrend[1]
        EP := max(high, EP[1])
    else
        EP := min(low, EP[1])
    if newtrend[1]
        AF := AF_initial
    else
        if EP != EP[1]
            AF := min(AF_maximum, AF[1] + AF_increment)
        else
            AF := AF[1]
    SAR := SAR[1] + AF * (EP - SAR[1])
    if uptrend[1]
        if newtrend
            SAR := max(high, EP[1])
            EP := min(low, low[1])
        else
            SAR := min(SAR, low[1])
            if not na(low[2])
                SAR := min(SAR, low[2])
            if SAR > low
                uptrend := false
                newtrend := true
                SAR := max(high, EP[1])
                EP := min(low, low[1])
            else
                uptrend := true
                newtrend := false
    else
        if newtrend
            SAR := min(low, EP[1])
            EP := max(high, high[1])
        else
            SAR := max(SAR, high[1])
            if not na(high[2])
                SAR := max(SAR, high[2])
            if SAR < high
                uptrend := true
                newtrend := true
                SAR := min(low, EP[1])
                EP := max(high, high[1])
            else
                uptrend := false
                newtrend := false
            
        

plot(SAR, color = color.blue, style = plot.style_cross, linewidth = 2)

if (uptrend)
    strategy.entry("PBSARLE", strategy.long, comment="PBSARLE")
if (newtrend)
    strategy.entry("PBSARSE", strategy.short, comment="PBSARSE")

Mehr