Strategi Penembusan Saluran Donchian dengan ATRSL Trailing Stop

Penulis:ChaoZhang, Tanggal: 2024-03-22 16:13:58
Tag:

img

Tinjauan Strategi

Strategi Breakout Saluran Donchian adalah strategi perdagangan kuantitatif yang mengikuti tren. Strategi ini menggunakan Saluran Donchian untuk menangkap tren pasar sambil menggunakan ATRSL trailing stop untuk mengelola risiko. Ketika harga melanggar band atas Saluran Donchian, strategi memasuki posisi panjang; ketika harga jatuh di bawah garis ATRSL trailing stop, strategi menutup posisi.

Prinsip Strategi

  1. Menghitung Saluran Donchian: Berdasarkan pengguna yang ditentukandonLengthparameter, menghitung tertinggi tertinggi dan terendah terendah dari masa laludonLengthperiode sebagai band atasdonUpperdan band bawahdonLowerdari Saluran Donchian, masing-masingdonBasisadalah rata-rata dari band atas dan bawah.
  2. Menghitung ATRSL Trailing Stop: Berdasarkan pengguna yang ditentukanAP2danAF2parameter, menghitung nilai ATRSL2. Kemudian, secara dinamis menyesuaikan harga stop trailingTrail2menurut hubungan antara harga penutupan saat iniSCdan harga trailing stop sebelumnyaTrail2[1].
  3. Kondisi masuk: Ketika harga penutupan saat ini melintasi band atas Saluran Donchian, masukkan posisi panjang.
  4. Kondisi keluar: Ketika harga penutupan saat ini melintasi di bawah garis stop trailing ATRSL, tutup posisi.

Keuntungan Strategi

  1. Mengikuti tren: Dengan menggunakan saluran Donchian untuk menentukan arah tren, strategi dapat secara efektif menangkap tren pasar.
  2. Stop Loss Dinamis: Stop trailing ATRSL memungkinkan penyesuaian tingkat stop loss secara dinamis berdasarkan volatilitas pasar, membantu mengelola risiko.
  3. Fleksibilitas parameter: Pengguna dapat menyesuaikan parameter sepertidonLength, AP2, danAF2sesuai dengan kebutuhan mereka untuk mengoptimalkan kinerja strategi.

Risiko Strategi

  1. Risiko Parameter: Pengaturan parameter yang berbeda dapat menyebabkan perbedaan signifikan dalam kinerja strategi, yang membutuhkan pengujian balik dan optimasi parameter yang menyeluruh.
  2. Risiko Pasar: Selama pasar bergolak atau perubahan tren, strategi dapat mengalami penurunan yang signifikan.
  3. Biaya Pergeseran dan Perdagangan: Perdagangan yang sering dapat menghasilkan biaya pergeseran dan perdagangan yang tinggi, yang mempengaruhi profitabilitas strategi.

Arahan Optimasi

  1. Tambahkan Filter Tren: Dalam kondisi entri, indikator seperti ADX dapat ditambahkan untuk menilai kekuatan tren dan hanya memasuki posisi ketika tren kuat, meningkatkan kualitas entri.
  2. Mengoptimalkan Stop Loss: Bereksperimen dengan metode stop loss lainnya, seperti stop loss berbasis persentase atau ATR stop loss, atau menggabungkan beberapa pendekatan stop loss untuk meningkatkan fleksibilitas stop loss.
  3. Mengintegrasikan Posisi Ukuran: Mengatur secara dinamis ukuran posisi berdasarkan volatilitas pasar dan risiko akun untuk mengelola eksposur risiko.

Ringkasan

Strategi Breakout Saluran Donchian adalah strategi trend-mengikuti klasik yang menangkap tren menggunakan Saluran Donchian dan mengelola risiko dengan trailing stop ATRSL. Keuntungan strategi ini termasuk logika yang sederhana dan jelas, kemudahan implementasi, dan potensi untuk optimasi. Namun, kekurangannya termasuk kinerja yang buruk selama pasar bergolak dan pembalikan tren, dan dampak signifikan dari pengaturan parameter pada kinerja strategi. Dalam aplikasi praktis, strategi dapat ditingkatkan dengan menambahkan filter tren, mengoptimalkan stop loss, dan menggabungkan modul ukuran posisi untuk meningkatkan stabilitas dan profitabilitas. Pada saat yang sama, penting untuk mengontrol frekuensi perdagangan dan biaya strategi, dan menyesuaikan parameter secara fleksibel berdasarkan karakteristik pasar dan preferensi risiko pribadi.


/*backtest
start: 2023-03-16 00:00:00
end: 2024-03-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Stock Trend USE THIS", overlay = true)
donLength = input(100, minval=1)

//Donchian Long
donLower = lowest(donLength)
donUpper = highest(donLength)
donBasis = avg(donUpper,donLower)

// ATRSL
SC = close

// Slow Trail //
AP2 = input(10, title="Slow ATR period")  // ATR Period
AF2 = input(3, title="Slow ATR multiplier")  // ATR Factor
SL2 = AF2 * atr(AP2)  // Stop Loss
Trail2 = 0.0
iff_3 = SC > nz(Trail2[1], 0) ? SC - SL2 : SC + SL2
iff_4 = SC < nz(Trail2[1], 0) and SC[1] < nz(Trail2[1], 0) ? min(nz(Trail2[1], 0), SC + SL2) : iff_3
Trail2 := SC > nz(Trail2[1], 0) and SC[1] > nz(Trail2[1], 0) ? max(nz(Trail2[1], 0), SC - SL2) : iff_4



// Long and Short Conditions
longCondition = (crossover(close,donUpper[1])) 

// Close Conditions
closeLongCondition = crossunder(close,Trail2)

// Strategy logic
if (longCondition) 
    strategy.entry("Long", strategy.long)
    alert("Open Long position")

if (closeLongCondition)
    strategy.close("Long")
    alert("Close Long position")

// Plot Donchian
l = plot(donLower, color=color.blue)
u = plot(donUpper, color=color.blue)
plot(donBasis, color=color.orange)
fill(u, l, color=color.blue)
plot(Trail2, color=color.blue, title="ATRSL Trail")

Lebih banyak