Strategi ini menggunakan stop loss stop loss yang dinamis untuk melakukan perdagangan. Stop loss stop loss disesuaikan secara real-time berdasarkan harga dan fluktuasi saat ini.
Logika transaksi:
Hitung rata-rata real amplitude ATR untuk periode tertentu (misalnya 20 hari)
Ketika dalam posisi bullish, stop loss stop loss adalah harga tertinggi dikurangi ATR
Stop loss plus ATR adalah harga terendah saat berada di posisi turun
Perdagangan reverse ketika harga melebihi titik stop loss
Perubahan tren saat harga melewati titik stop loss
Mengatur Stop Loss Berdasarkan Status Baru
Strategi ini memanfaatkan ATR secara otomatis untuk mengatur stop loss, dan memungkinkan pelacakan dinamis.
ATR secara otomatis menghitung stop loss
Pengaturan dinamis, pelacakan harga secara real-time
Penghentian Kerugian, Pengendalian Risiko
Parameter ATR membutuhkan pengoptimalan pengujian berulang
Stop loss terlalu dekat, mudah rusak
Perhatikan perubahan real-time nilai ATR
Strategi ini menggunakan ATR untuk mengatur stop loss secara dinamis, untuk melakukan pelacakan otomatis. Optimalisasi parameter ATR dapat memberikan efek stop loss yang lebih baik. Namun, stop loss yang terlalu dekat harus digunakan dengan hati-hati.
/*backtest
start: 2023-01-01 00:00:00
end: 2023-09-13 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("Dhananjay Volatility stop strategy v1.0", overlay=true)
length = input(20)
mult = input(1)
atr_ = atr(length)
max1 = max(nz(max_[1]), close)
min1 = min(nz(min_[1]), close)
is_uptrend_prev = nz(is_uptrend[1], true)
stop = is_uptrend_prev ? max1 - mult * atr_ : min1 + mult * atr_
vstop_prev = nz(vstop[1])
vstop1 = is_uptrend_prev ? max(vstop_prev, stop) : min(vstop_prev, stop)
is_uptrend = close - vstop1 >= 0
is_trend_changed = is_uptrend != is_uptrend_prev
max_ = is_trend_changed ? close : max1
min_ = is_trend_changed ? close : min1
vstop = is_trend_changed ? is_uptrend ? max_ - mult * atr_ : min_ + mult * atr_ : vstop1
plot(vstop, color = is_uptrend ? green : red, style=line, linewidth=2)
bearish = close < vstop
bullish = close > vstop
if (bullish)
strategy.entry("Buy", strategy.long, 1)
if (bearish)
strategy.entry("Sell", strategy.short, 1)