Strategi ini dirancang untuk entri posisi panjang dengan pemicu khusus tanggal dan mekanisme stop loss trailing untuk manajemen risiko. Ini sangat berguna bagi pedagang yang ingin mengotomatiskan entri mereka berdasarkan tanggal kalender tertentu dan mengelola posisi mereka dengan metode kontrol risiko dinamis seperti stop loss trailing.
Strategi ini pertama-tama mengambil input tanggal masuk tertentu, termasuk bulan dan hari, kemudian menghitung timestamp entri yang akurat berdasarkan tanggal ini.
Pada tanggal masuk, strategi akan membuka posisi panjang. Pada saat yang sama, ia mencatat harga tertinggi (highestPrice) dan harga stop loss (stopLoss).
Jika harga turun di bawah stopLoss, posisi akan ditutup. Jika tidak, posisi tetap terbuka, dan stopLoss terus mengikuti harga tertinggi untuk mengunci keuntungan dan mengendalikan risiko.
Keuntungan utama dari strategi ini adalah:
Ada juga beberapa risiko:
Peningkatan yang mungkin:
Kemungkinan arah optimasi:
Strategi ini menyediakan entri berbasis tanggal otomatis dan manajemen risiko dinamis melalui trailing stop loss. Sederhana dan intuitif untuk dioperasikan, cocok untuk kepemilikan jangka panjang. Optimasi lebih lanjut dapat menjadikannya 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)