
Strategi Stop Loss Tracking Gradien dengan menyesuaikan stop loss line secara dinamis, mencapai kontrol risiko dan kombinasi organik dari penarikan stop loss. Dengan menggunakan rentang fluktuasi rata-rata yang benar untuk menghitung stop loss line, strategi ini dapat secara efektif melacak tren harga saham, mengurangi stop loss yang tidak perlu sambil melindungi keuntungan. Strategi ini cocok untuk saham dengan tren yang kuat, dan dapat menghasilkan keuntungan yang stabil.
Strategi ini menggunakan perhitungan rata-rata real range of fluctuation (ATR) sebagai dasar untuk stop loss dinamis. ATR dapat secara efektif mencerminkan volatilitas saham. Strategi ini menginput parameter siklus ATR, biasanya 10 hari.
Secara khusus, strategi menghitung nilai ATR dari garis K saat ini, lalu kalikan dengan parameter pivot dari faktor pivot, untuk mendapatkan jarak stop loss. Jika harga saham lebih tinggi dari harga stop loss, maka bukalah posisi lebih banyak; Jika harga saham lebih rendah dari harga stop loss, maka bukalah posisi kosong. Dengan demikian, garis stop loss akan menempel pada harga saham, untuk mencapai efek pelacakan bertahap dari garis stop loss.
Strategi Stop Loss Tracking Gradient dengan penyesuaian jarak stop loss secara dinamis, mencapai keseimbangan yang efektif antara kontrol risiko dan penangkapan stop loss. Strategi ini mudah dioperasikan, dapat disesuaikan dengan baik, dan cocok untuk perdagangan otomatis robot. Tentu saja, pilihan parameter yang masuk akal dan kombinasi indikator masih membutuhkan pengalaman manual. Dengan pengoptimalan lebih lanjut, strategi ini diharapkan untuk mendapatkan ROI yang lebih stabil.
/*backtest
start: 2023-10-17 00:00:00
end: 2023-10-24 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Supertrend Strategy, by Ho.J.", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=15)
// 백테스팅 시작일과 종료일 입력
startYear = input(2020, title="Start Year")
startMonth = input(1, title="Start Month")
startDay = input(1, title="Start Day")
endYear = input(9999, title="End Year")
endMonth = input(12, title="End Month")
endDay = input(31, title="End Day")
// 백테스팅 시간 범위 확인
backtestingTimeBool = (year >= startYear and month >= startMonth and dayofmonth >= startDay) and (year <= endYear and month <= endMonth and dayofmonth <= endDay)
atrPeriod = input(10, "ATR Length")
factor = input.float(3.0, "Factor", step = 0.01)
[_, direction] = ta.supertrend(factor, atrPeriod)
var bool longCondition = false
var bool shortCondition = false
if backtestingTimeBool
prevDirection = direction[1]
if direction < 0
longCondition := false
shortCondition := true
else if direction > 0
longCondition := true
shortCondition := false
if longCondition
strategy.entry("My Long Entry Id", strategy.long)
if shortCondition
strategy.entry("My Short Entry Id", strategy.short)
plot(strategy.equity, title="equity", color=color.rgb(255, 255, 255), linewidth=2, style=plot.style_area)