
Strategi ini didasarkan pada mekanisme trailing stop loss yang dihitung secara dinamis, dan menetapkan stop loss untuk posisi panjang dan pendek sesuai dengan harga tertinggi dan terendah dari harga saham. Ketika harga menyentuh garis stop loss, posisi saat ini dihapus, dan posisi baru dibuka ke arah yang berlawanan. Strategi ini sederhana dan mudah dipahami, dapat mengontrol risiko individu secara efektif.
Strategi ini diimplementasikan melalui beberapa langkah:
Ini adalah logika dasar dari strategi tersebut. Stop loss line akan terus diperbarui saat harga berjalan, sehingga dapat melakukan pelacakan dinamis. Dengan cara ini, Anda dapat secara efektif mengontrol kerugian tunggal.
Strategi ini memiliki beberapa keuntungan utama:
Secara keseluruhan, strategi ini mampu mengelola Posisi secara efektif melalui mekanisme Stop Loss yang sederhana, dan merupakan strategi Manajemen Risiko yang khas.
Strategi ini juga memiliki beberapa risiko yang perlu diperhatikan:
Untuk risiko ini, dapat dioptimalkan dengan cara seperti menyesuaikan siklus perhitungan dan mengurangi slippage secara tepat, sehingga pengaturan stop loss lebih masuk akal.
Strategi ini dapat dioptimalkan dalam beberapa hal:
Strategi perdagangan ini memungkinkan manajemen posisi yang dinamis melalui metode stop loss yang sederhana. Strategi ini mudah dipahami dan diimplementasikan, sehingga dapat mengontrol kerugian tunggal secara efektif. Kami menganalisis keunggulan strategi, kemungkinan risiko, dan arah pengoptimalan selanjutnya. Secara keseluruhan, ini adalah strategi manajemen risiko yang sangat khas dan praktis.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2019
//@version=4
strategy(title = "Noro's Trailing-Stop Strategy", shorttitle = "Trailing", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(false, defval = false, title = "Short")
length = input(20, minval = 1)
shift = input(0.0, minval = 0, title = "Trailing Stop")
background = input(false)
//Levels
max = highest(high, length)
min = lowest(low, length)
//Trailing
size = strategy.position_size
longtrailing = 0.0
shorttrailing = 0.0
longtrailing := size <= 0 ? min - ((min / 100) * shift) : max(min - ((min / 100) * shift), longtrailing[1])
shorttrailing := size >= 0 ? max + ((max / 100) * shift) : min(max + ((max / 100) * shift), shorttrailing[1])
trailing = size <= 0 ? shorttrailing : longtrailing
col = size == size[1] ? size > 0 ? color.red : color.lime : na
plot(trailing, color = col, linewidth = 2, transp = 0)
//Background
bgcol = background ? size > 0 ? color.lime : color.red : na
bgcolor(bgcol, transp = 80)
if trailing > 0 and size <= 0
strategy.entry("Long", strategy.long, needlong ? na : 0, stop = trailing)
if trailing > 0 and size >= 0
strategy.entry("Short", strategy.short, needshort ? na : 0, stop = trailing)