
Dieser Artikel beschreibt eine quantitative Handelsstrategie, die Dynamische Positionshalte-Gewinn-Tracking-Trading-Strategie genannt wird. Die Strategie setzt eine dynamische Ausstiegs-Stopp-Stopp-Linie basierend auf den ATR-Indikatoren ein, um einen schnellen Stopp innerhalb der 1-2 K-Linien nach einem plötzlichen günstigen Kurs zu erreichen, um zu verhindern, dass der Preis erneut verlustbewirkt.
Die Handelslogik der Strategie ist sehr einfach und klar. Insbesondere beinhaltet sie die folgenden Schritte:
Es wird ein Kursüberschreitungssignal in Form von 14-SMA und 28-SMA verwendet. Wenn die 14-SMA die 28-SMA überschreitet, wird ein Kursüberschreitungssignal verwendet; wenn die 14-SMA die 28-SMA unterschreitet, wird ein Kursüberschreitungssignal verwendet.
Berechnen Sie den ATR-Wert und multiplizieren Sie ihn mit einer Multiplikator, um die Stop-Position des dynamischen Ausstiegs zu erhalten. Zum Beispiel, wenn Sie die ATR-Länge auf 7 multiplizieren mit 1,5, erhalten Sie die Breite des dynamischen Stop-Kanals 1,5-mal so groß wie der 7-Phasen-ATR.
Wenn die Position mehrere Köpfe hat, wird die Breite des dynamischen Stoppkanals mit dem Höchstpunkt addiert, um eine zusätzliche Stopplinie zu erhalten. Wenn die Position leer ist, wird die Breite des dynamischen Stoppkanals mit dem Tiefpunkt abgezogen, um eine zusätzliche Stopplinie zu erhalten.
Sobald der Kurs die dynamische Stop-Line überschreitet, wird der Stop-Line sofort abgesagt. Dies ermöglicht es, innerhalb der 1-2 K-Linien nach einem plötzlichen Übertrieb des Preises Gewinne zu erzielen.
Durch die oben genannten Schritte erzielt die Strategie eine einfache, aber effiziente Gewinnaufzeichnung und schnelle Stop-Off-Effekte. Der ATR-Kanal bietet die Fähigkeit zur dynamischen Anpassung der Stop-Off-Linie, während die neue 1BAR-Bedingung garantiert, dass die Stop-Off-Linie nur bei plötzlichen positiven Marktbedingungen eingeschaltet wird. Dies kann effektiv dazu beitragen, dass die Stop-Off-Linie vorzeitig beendet wird.
Die dynamische Positions- und Gewinn-Tracking-Trading-Strategie hat folgende Vorteile:
Die Idee ist einfach, klar, leicht zu verstehen und geeignet für Anfänger.
Mit dynamischen ATR-Stopps kann automatisch der Gewinn der Positionshalter verfolgt und der Gewinn von NodeList vermieden werden.
Hinzugefügt wurde ein 1BAR-Hoch-Low-Punkt-Bedingung, so dass der Stopp nur nach dem Auftreten von Super-Force-Ereignissen aktiviert wird, um Fehlbewegungen zu reduzieren.
Es gibt verschiedene ATR-Längen und -Modalitäten, die die Stoppkraft anpassen.
Das ist eine sehr gute Möglichkeit, um den Spielern zu helfen, sich zu bewegen.
Das System ist sehr skalierbar und kann leicht auf andere Stop-Loss-Strategien basieren.
Die Strategie birgt auch einige Risiken, darunter:
ATR wird plötzlich verstärkt, was zu einem vorzeitigen Ausstieg des Spiels führen kann.
Das Unternehmen ist nicht in der Lage, Marktgeräusche effektiv zu filtern und wird leicht von falschen Durchbrüchen getäuscht.
“Wenn man sich nur auf die Gleichung stützt, kann man nicht effektiv über komplexe Situationen entscheiden”.
Es gibt keine Stop-Loss-Mechanismen, um die Verluste effektiv zu kontrollieren.
Die Standard-Risiko-Einstellungen sind möglicherweise nicht für alle Sorten geeignet und müssen optimiert werden.
Um die oben genannten Risiken zu verringern, können Optimierungen in folgenden Bereichen vorgenommen werden:
Zusätzliche Filtermechanismen, die in Kombination mit anderen Indikatoren falsche Signale filtern.
Es ist wichtig, dass die Verluste durch den Einsatz von Stop-Loss-Strategien erhöht und die Einzelschäden streng kontrolliert werden.
Optimierung der Parameter mit Hilfe der Walk Forward Analysis Methode.
Optimierte Parameterkombinationen für verschiedene Sorten.
Das ist ein weiterer Schritt in Richtung einer intelligenten Entscheidungsfindung.
Die Optimierung der Strategie basiert auf einer Risikoanalyse und umfasst folgende Bereiche:
Hinzufügen von Signalfiltern: Nach dem Eintritt des Signals können Filter für andere Indikatoren hinzugefügt werden, z. B. in Kombination mit MACD, Brinband usw., um zu vermeiden, dass der Lärm irregeführt wird.
Hinzufügen einer Stop-Loss-Linie: Erhöhung der Stop-Line-Einstellungen auf Basis von ATR oder Mobile Stop, um Einzelschäden zu kontrollieren.
ParameteroptimierungDie Parameter wie ATR-Länge, ATR-Multiplikation usw. werden durch Methoden wie Machine Learning optimiert.
Risikobereitschaft: Anpassung der Positionsverwaltung und der Risikoparameter an die Eigenschaften der verschiedenen Handelsarten.
ModellverschmelzungDie Strategie soll mit anderen Modellen wie Machine Learning und Neural Networks kombiniert werden, um die Genauigkeit von Entscheidungen zu verbessern.
Injektion von externen InterventionenEs wird eine manuelle Interventionsstelle hinzugefügt, um die Stopp-Stopp-Loss-Position in den Schlüsselmomenten manuell zu bestimmen.
Durch die Optimierung der oben genannten Richtungen kann die Ertragsstabilität der Strategie erheblich verbessert werden.
Dynamische Stop-Loss-Tracking-Trading-Strategien sind insgesamt eine sehr praktische und leistungsfähige Stop-Loss-Strategie. Sie ist klar und verständlich. Durch dynamische Stopps können Gewinne automatisch verfolgt werden und bei Übermacht schnell gestoppt werden. Die Strategie birgt jedoch einige Risiken.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Peter_O
//@version=5
strategy("TrailingTakeProfit example", overlay=true, margin_long=100, margin_short=100, default_qty_value = 1, initial_capital = 100)
longCondition = ta.crossover(ta.sma(close, 14), ta.sma(close, 28))
shortCondition = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28))
if longCondition
strategy.entry("Long", strategy.long, comment="long", alert_message="long")
if shortCondition
strategy.entry("Short", strategy.short, comment="short", alert_message="short")
atr_length=input.int(7, title="ATR Length")
atr_multiplier = input.float(1.5, title="ATR Multiplier")
atr_multiplied = atr_multiplier * ta.atr(atr_length)
ttp_top_bracket = strategy.position_size>0 ? high[1]+atr_multiplied : na
ttp_bottom_bracket = strategy.position_size<0 ? low[1]-atr_multiplied : na
plot(ttp_top_bracket, title="ttp_top_bracket", color=color.lime, style=plot.style_linebr, offset=1)
plot(ttp_bottom_bracket, title="ttp_bottom_bracket", color=color.red, style=plot.style_linebr, offset=1)
strategy.exit("closelong", from_entry="Long", limit=ttp_top_bracket, alert_message = "closelong")
strategy.exit("closeshort", from_entry="Short", limit=ttp_bottom_bracket, alert_message = "closeshort")
// var table alertsDisplayTable = table.new(position.top_right, 1, 5, color.black)
// if barstate.islastconfirmedhistory
// table.cell(alertsDisplayTable, 0, 0, "TradingConnector-compatible alerts sent", text_color=color.white)
// table.cell(alertsDisplayTable, 0, 1, "at Long Entry: long", text_color=color.white)
// table.cell(alertsDisplayTable, 0, 2, "at Short Entry: short", text_color=color.white)
// table.cell(alertsDisplayTable, 0, 3, "at Long Exit: closelong", text_color=color.white)
// table.cell(alertsDisplayTable, 0, 4, "at Short Exit: closeshort", text_color=color.white)