
Strategi ini adalah strategi untuk membangun posisi multi-head dengan tanggal tertentu yang dipicu dan mekanisme manajemen risiko trailing stop loss. Strategi ini sangat cocok untuk pedagang yang ingin mengotomatiskan posisi sesuai dengan tanggal kalender tertentu dan mengelola posisi mereka dengan metode kontrol risiko dinamis seperti tracking stop loss.
Strategi ini pertama-tama menginput tanggal masuk tertentu, termasuk tanggal bulan, dan kemudian menghitung waktu masuk yang akurat berdasarkan tanggal tersebut. Strategi ini juga menginput parameter persentase yang melacak stop loss.
Pada tanggal masuk ke pasar, strategi akan membuka posisi berganda. Pada saat yang sama, catat harga tertinggi (highestPrice) dan harga stopLoss (stopLoss). Di antaranya, harga tertinggi akan terus diperbarui pada waktu berikutnya, sedangkan harga stopLoss adalah trailing ke bawah pada persentase tertentu dari harga tertinggi.
Jika harga lebih rendah dari harga stop loss, maka keluarlah dari posisi tersebut. Jika tidak, posisi tersebut akan terus dipegang dan harga stop loss akan terus melacak ke bawah berdasarkan harga tertinggi, sehingga mengunci keuntungan dan mengendalikan risiko.
Strategi ini memiliki beberapa keuntungan utama:
Strategi ini juga memiliki beberapa risiko:
Langkah-langkah optimasi yang sesuai:
Strategi ini dapat dioptimalkan dari beberapa arah:
Strategi ini didasarkan pada penarikan tanggal tertentu dan menggunakan pola pikir yang melacak stop loss, yang dapat mengotomatiskan masuk dan mengontrol risiko secara dinamis. Strategi ini sederhana, intuitif, mudah dioperasikan, dan cocok untuk memegang posisi jangka panjang. Dengan pengoptimalan lebih lanjut, dapat menjadi strategi perdagangan kuantitatif yang sangat praktis.
/*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)