
Diese Strategie ist eine Strategie zur Erstellung von mehreren Positionen mit einem bestimmten Datum ausgelöst und trailing stop loss Risikomanagementmechanismus. Die Strategie ist besonders geeignet für Händler, die automatische Positionen nach bestimmten Kalendertagen eingehen möchten und ihre Positionen mit dynamischen Risikokontrollmethoden wie Tracking Stop Loss verwalten.
Die Strategie führt zunächst bestimmte Markteinführungsdaten ein, einschließlich des Monats, und berechnet dann die genaue Markteinführungszeit basierend auf diesen Daten. Die Strategie führt auch die Prozentsatzparameter ein, die den Stop-Loss verfolgen.
Die Strategie eröffnet am selben Tag mehrere Positionen. Gleichzeitig werden der höchste Preis (highestPrice) und der Stop-Loss-Preis (stopLoss) aufgezeichnet. Der höchste Preis wird in der Folgezeit fortlaufend aktualisiert, während der Stop-Loss-Preis um einen bestimmten Prozentsatz nach unten trailing ist.
Wenn der Preis unter dem Stop-Loss-Preis liegt, wird die Position ausgeschlossen. Andernfalls wird die Position gehalten, und der Stop-Loss-Preis wird nach dem höchsten Preis nach unten verfolgt, um die Gewinne zu sperren und das Risiko zu kontrollieren.
Die Strategie hat folgende Vorteile:
Die Strategie birgt auch einige Risiken:
Entsprechende Optimierungsmaßnahmen:
Die Strategie kann in folgenden Richtungen optimiert werden:
Die Strategie basiert auf dem Eintritt an einem bestimmten Datum und verfolgt die Stop-Loss-Strategie, um den Eintritt zu automatisieren und das Risiko dynamisch zu kontrollieren. Die Strategie ist einfach, intuitiv und einfach zu bedienen und eignet sich für die Langzeitsteuerung. Durch weitere Optimierung kann sie zu einer sehr praktischen Quantifizierungsstrategie werden.
/*backtest
start: 2024-01-24 00:00:00
end: 2024-01-31 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(title="Trailing Stop Loss Percent",
overlay=true, pyramiding=1)
// Input for the specific entry date
entryDay = input.int(defval = 1, title = "Entry Day", minval = 1, maxval = 31)
entryMonth = input.int(defval = 1, title = "Entry Month", minval = 1, maxval = 12)
entryYear = input.int(defval = 2023, title = "Entry Year", minval = 1970)
// Calculate the entry date timestamp
entryDate = timestamp(entryYear, entryMonth, entryDay, 00, 00)
// Trailing Stop Loss Percentage
trailStopPercent = input.float(defval = 5.0, title = "Trailing Stop Loss (%)", minval = 0.1)
// Entry Condition
enterTrade = true
// Variables to track the highest price and stop loss level since entry
var float highestPrice = na
var float stopLoss = na
// Update the highest price and stop loss level
if strategy.position_size > 0
highestPrice := math.max(highestPrice, high)
stopLoss := highestPrice * (1 - trailStopPercent / 100)
// Enter the strategy
if enterTrade
strategy.entry("Long Entry", strategy.long)
highestPrice := high
stopLoss := highestPrice * (1 - trailStopPercent / 100)
// Exit the strategy if the stop loss is hit
if strategy.position_size > 0 and low <= stopLoss
strategy.close("Long Entry")
// Plotting the stop loss level for reference
plot(strategy.position_size > 0 ? stopLoss : na, "Trailing Stop Loss", color=color.red)