
Die Value Break Tracking Stop-Strategie ist ein speziell für den Handel mit digitalen Assets entwickeltes quantitatives Handelssystem, das Marktbruchbewegungen durch das Platzieren von Aufschlägen (Buy Stop Losses und Sell Stop Losses) an lokalen Preis-Extreme-Positionen erfasst. Die Strategie implementiert auch einen Tracking Stop-Loss-Mechanismus, der einen Schutzmechanismus aktiviert, um Gewinne zu sperren, sobald die Positionen ein vorgegebenes Gewinnniveau erreicht haben.
Die Strategie basiert auf den Prinzipien des Preisverhaltens und des dynamischen Risikomanagements, wobei die Kernlogik in folgende Schlüsselbereiche unterteilt werden kann:
Identifizierung lokaler ExtremeDie Strategie berechnet lokale Höchst- und Tiefpunkte in einem definierten Zeitfenster (BarsN-Parameter) als potenzielle Durchbruchspunkte. Konkret verwendet sie eine K-Linie (BarsN * 2 + 1) um lokale Höchst- und Tiefstpreise zu ermitteln.
Aufhängung:
Zeit-FilterStrategie: Die Strategie erlaubt Händlern, ihre Handelszeiten einzustellen und nur in den angegebenen Stunden zu handeln, was hilft, unerwünschte Zeiträume zu vermeiden.
Berechnung der Gewinn- und Verlustquoten:
Verfolgung von Stop-Loss-Mechanismen:
Nach einer eingehenden Analyse des Codes zeigte sich, dass diese Strategie folgende wesentliche Vorteile aufweist:
Automatische Erfassung von DurchbrüchenDurch die Einstellung von Aufhängen auf den Schlüsselpreisen kann die Strategie automatisch Preissteigerungen erfassen, ohne dass die Märkte manuell überwacht werden.
Dynamische RisikomanagementDie Einführung von Stop-Loss-Einstellungen basierend auf dem Prozentsatz des aktuellen Preises ermöglicht die Flexibilität des Risikomanagements für verschiedene Preise.
GewinnschutzDurch die Verfolgung der Stop-Loss-Funktion kann die Strategie die bereits erzielten Gewinne effektiv sperren und die Rücknahme reduzieren, während sie den Gewinnraum behält.
ZeitfilterfunktionEs ermöglicht den Händlern, die besten Handelszeiten zu wählen, je nach Markteigenschaften, und vermeidet den Handel in Zeiten mit geringer Volatilität oder unberechenbar.
Äußerst anpassungsfähigDie Strategieparameter können an die Marktbedingungen angepasst werden, z. B. die Berechnungsfenster für lokale Höchstwerte, die Stop-Loss-Prozentsätze usw., um sie an unterschiedliche Marktbedingungen anzupassen.
Disziplinarer EinsatzAls eine automatisierte Strategie eliminiert es den Einfluss von emotionalen Faktoren auf die Handelsentscheidungen und führt die Geschäfte streng nach den vorgegebenen Regeln aus.
Obwohl die Strategie viele Vorteile hat, gibt es einige potenzielle Risiken und Einschränkungen:
Falsche DurchbruchgefahrDie Lösung besteht darin, die Bestätigungsindikatoren zu erhöhen oder die Größe der Auftragsentfernung von der Bufferzone anzupassen, um die Wahrscheinlichkeit zu verringern, dass ein Falschbruch ausgelöst wird.
ParameterempfindlichkeitStrategie-Leistung ist stark von Parameter-Einstellungen wie BarsN, TPasPctBTC und SLasPctBTC abhängig. Unpassende Parameter können zu schlechter Leistung führen. Es wird empfohlen, die optimale Parameterkombination durch Rücktests zu finden.
Unvollständige Verwaltung der Gelder: Obwohl die Parameter “RiskPercent” im Code definiert sind, werden sie nicht für die Berechnung der Positionsgröße verwendet.
Die Kapazität für extreme Situationen ist begrenzt.In extremen Marktbedingungen oder bei hoher Volatilität können einfache lokale Grenzüberschreitungen und feste prozentuale Stop-Losses nicht ausreichen, um das Risiko effektiv zu verwalten.
Gleitpunkte und AusführungsverzögerungenDie Ausführung von Aufträgen kann in der Realität zu Schlupfpunkten oder Verzögerungen kommen, die die Strategie beeinträchtigen.
Abhängigkeit vom BinnenmarktDie Strategie wurde für bestimmte Vermögenswerte konzipiert und ist möglicherweise nicht für andere Vermögenswerte mit anderen Marktmerkmalen geeignet.
Die Strategie kann auf der Grundlage von Code-Analysen in folgende Richtungen optimiert werden:
Dynamische Positionsverwaltung: Implementierung einer dynamischen Positionsgrößenberechnung basierend auf den Parametern RiskPercent und Anpassung der Positionsgröße an die Größe des Kontos und das aktuelle Marktrisiko, um eine genauere Risikokontrolle zu ermöglichen.
MehrfachbestätigungEinführung zusätzlicher technischer Indikatoren zur Bestätigung von Durchbrüchen, wie z. B. Durchbruch der Transaktionsmenge, Dynamik- oder Trendindikatoren, um falsche Durchbruchshandlungen zu reduzieren.
AnpassungsparameterDie Einführung von Parametern, die sich automatisch an die Marktvolatilität oder andere Marktmerkmale anpassen, um die Strategie besser an unterschiedliche Marktbedingungen anzupassen.
Bündelung der AnsteckungsmaßnahmenEs wurde ein Scatter-Stop-Mechanismus eingeführt, der es ermöglicht, dass einige Positionen bei unterschiedlichen Gewinnniveaus aussteigen, um einen Teil der Gewinne zu sperren und gleichzeitig einen größeren Gewinnraum zu behalten.
Marktzustand-FilterEs ist möglich, dass die Anbieter von Trends und Schwankungen in den verschiedenen Märkten ihre Strategieparameter anpassen oder den Handel unterbrechen.
Stop-Loss-OptimierungDie dynamische Stop-Loss basiert auf der ATR oder auf anderen Volatilitätsindikatoren, um die Stop-Loss-Rationalität zu verbessern.
Rahmen für Rückmeldung und OptimierungEs wurde ein umfassenderer Rahmen für die Rückmeldung entwickelt, um die Performance von Strategien in verschiedenen Zeitabschnitten und unter verschiedenen Parametern zu bewerten und die optimale Kombination von Parametern zu finden.
Die Value Break Tracking Stop Strategy ist ein kunstvoll konzipiertes automatisiertes Handelssystem, das Risiken durch die Erfassung lokaler Maximalwert-Breakouts und die Anwendung von Stop-Tracking verwaltet. Seine Kernvorteile liegen in der automatisierten Ausführung, der dynamischen Risikomanagement- und Gewinnschutzmechanismen, die es zu einem potenziell effektiven Handelsinstrument machen.
Die Effektivität einer Strategie hängt jedoch stark von den Parameter- und Marktbedingungen ab. Die Robustheit und Anpassungsfähigkeit einer Strategie kann durch die Umsetzung empfohlener Optimierungsmaßnahmen wie dynamisches Positionsmanagement, mehrfache Bestätigungsmechanismen und Anpassungsparameter deutlich verbessert werden.
Für Händler ist es empfehlenswert, vor der Anwendung auf dem Markt ausreichend Rückmeldungen zu machen, um die Kombination von Parametern zu finden, die für die aktuelle Marktumgebung am besten geeignet sind, und die Kombination mit anderen Analysewerkzeugen zu berücksichtigen, um die Handelssignale zu bestätigen. Gleichzeitig wird die Strategie kontinuierlich überwacht und bewertet.
/*backtest
start: 2025-01-01 00:00:00
end: 2025-04-06 00:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("BTC Trading Robot", overlay=true, pyramiding=1, initial_capital=100000)
//============== Input Groups ==============//
// Trading Profile
group_trading = "BTC"
systemType = input.int(1, title="Trading System (1:BTC)", group=group_trading)
// Common Trading Inputs
group_common = "Trading Inputs"
RiskPercent = input.float(4.0, title="Risk as % of trading capital", group=group_common)
TradeComment = input.string("BTC trading robot", title="Trade Comment", group=group_common)
SHInput = input.int(0, title="Start Hour (0 = no filter)", group=group_common)
EHInput = input.int(0, title="End Hour (0 = no filter)", group=group_common)
// Gold Related Inputs
group_BTC = "BTC Related Input"
TPasPctBTC = input.float(0.2, title="TP as % of Price", group=group_BTC)
SLasPctBTC = input.float(0.1, title="SL as % of Price", group=group_BTC)
TSLasPctofTPBTC = input.float(5.0, title="Trail SL as % of TP", group=group_BTC)
TSLTgrasPctofTPBTC = input.float(7.0, title="Trail Tgra SL as % of TP", group=group_BTC)
// Other parameters
BarsN = 5
OrderDistPoints = 100.0
//============== Calculate Trade Parameters ==============//
var float Tppoints = 0.0
var float Slpoints = 0.0
var float TslTriggerPoints = 0.0
var float TslPoints = 0.0
price = close
// Adjust parameters based on system type (using 1 for Gold)
if systemType == 1
Tppoints := price * TPasPctBTC
Slpoints := price * SLasPctBTC
OrderDistPoints := Tppoints / 2.0
TslPoints := Tppoints * TSLTgrasPctofTPBTC / 100.0
TslTriggerPoints := Tppoints * TSLTgrasPctofTPBTC / 100.0
//============== Time Filter ==============//
currentHour = hour(time)
inSession = true
if SHInput != 0 and currentHour < SHInput
inSession := false
if EHInput != 0 and currentHour >= EHInput
inSession := false
//============== Find Local High and Low ==============//
localHigh = ta.highest(high, BarsN * 2 + 1)
localLow = ta.lowest(low, BarsN * 2 + 1)
//============== Entry Orders ==============//
if inSession and strategy.position_size == 0
// For a BuyStop order: only submit if current price is less than the desired entry level minus a buffer.
if price < localHigh - OrderDistPoints * syminfo.mintick
strategy.order("BuyStop", strategy.long, stop=localHigh, comment="BuyStop")
// For a SellStop order: only submit if current price is greater than the desired entry level plus a buffer.
if price > localLow + OrderDistPoints * syminfo.mintick
strategy.order("SellStop", strategy.short, stop=localLow, comment="SellStop")
//============== Trailing Stop Logic ==============//
if strategy.position_size > 0 // Long positions
longProfit = price - strategy.position_avg_price
if longProfit > TslTriggerPoints * syminfo.mintick
strategy.exit("Long Exit", from_entry="BuyStop", stop=price - TslPoints * syminfo.mintick, limit=strategy.position_avg_price + Tppoints * syminfo.mintick)
if strategy.position_size < 0 // Short positions
shortProfit = strategy.position_avg_price - price
if shortProfit > TslTriggerPoints * syminfo.mintick
strategy.exit("Short Exit", from_entry="SellStop", stop=price + TslPoints * syminfo.mintick, limit=strategy.position_avg_price - Tppoints * syminfo.mintick)