Strategi Penembusan Saluran Donchian dengan ATRSL Trailing Stop

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

img

Ringkasan Strategi

Strategi Penembusan Saluran Donchian adalah strategi perdagangan kuantitatif yang mengikuti trend. Ia menggunakan Saluran Donchian untuk menangkap trend pasaran sambil menggunakan hentian trailing ATRSL untuk menguruskan risiko. Apabila harga melanggar band atas Saluran Donchian, strategi memasuki kedudukan panjang; apabila harga jatuh di bawah garis hentian trailing ATRSL, strategi menutup kedudukan.

Prinsip Strategi

  1. Mengira Saluran Donchian: Berdasarkan pengguna yang ditakrifkandonLengthparameter, mengira tertinggi tertinggi dan terendah rendah masa laludonLengthtempoh sebagai band atasdonUpperdan band bawahdonLowergaris tengah saluran Donchian, masing-masingdonBasisadalah purata jalur atas dan bawah.
  2. Mengira ATRSL Trailing Stop: Berdasarkan pengguna yang ditakrifkanAP2danAF2parameter, mengira nilai ATRSL2. Kemudian, secara dinamik menyesuaikan harga hentianTrail2mengikut hubungan antara harga penutupan semasaSCdan harga hentian yang laluTrail2[1].
  3. Keadaan kemasukan: Apabila harga penutupan semasa melintasi di atas jalur atas Saluran Donchian, masukkan kedudukan panjang.
  4. Keadaan Keluar: Apabila harga penutupan semasa melintasi di bawah garis henti trailing ATRSL, tutup kedudukan.

Kelebihan Strategi

  1. Mengikuti Trend: Dengan menggunakan Saluran Donchian untuk menentukan arah trend, strategi dapat menangkap trend pasaran dengan berkesan.
  2. Stop Loss Dinamik: Stop trailing ATRSL membolehkan penyesuaian dinamik tahap stop loss berdasarkan turun naik pasaran, membantu menguruskan risiko.
  3. Fleksibiliti Parameter: Pengguna boleh menyesuaikan parameter sepertidonLength, AP2, danAF2mengikut keperluan mereka untuk mengoptimumkan prestasi strategi.

Risiko Strategi

  1. Risiko Parameter: Tetapan parameter yang berbeza boleh menyebabkan perbezaan yang ketara dalam prestasi strategi, yang memerlukan pengujian balik dan pengoptimuman parameter yang menyeluruh.
  2. Risiko Pasaran: Semasa pasaran yang bergelora atau perubahan trend, strategi mungkin mengalami penurunan yang ketara.
  3. Kos Pergeseran dan Perdagangan: Perdagangan yang kerap boleh mengakibatkan pergeseran dan kos perdagangan yang tinggi, yang memberi kesan kepada keuntungan strategi.

Arahan pengoptimuman

  1. Tambah Penapis Trend: Dalam keadaan kemasukan, penunjuk seperti ADX boleh ditambah untuk menilai kekuatan trend dan hanya memasuki kedudukan apabila trend kuat, meningkatkan kualiti kemasukan.
  2. Mengoptimumkan Stop Loss: Bereksperimen dengan kaedah stop loss lain, seperti stop loss berasaskan peratusan atau ATR stop loss, atau menggabungkan pelbagai pendekatan stop loss untuk meningkatkan fleksibiliti stop loss.
  3. Memasukkan Ukuran Posisi: Sesuaikan saiz kedudukan secara dinamik berdasarkan turun naik pasaran dan risiko akaun untuk menguruskan pendedahan risiko.

Ringkasan

Strategi Penembusan Saluran Donchian adalah strategi trend berikut klasik yang menangkap trend menggunakan Saluran Donchian dan menguruskan risiko dengan hentian trailing ATRSL. Kelebihan strategi termasuk logiknya yang mudah dan jelas, kemudahan pelaksanaan, dan potensi untuk pengoptimuman. Walau bagaimanapun, kekurangannya termasuk prestasi yang buruk semasa pasaran yang bergolak dan pembalikan trend, dan kesan penting tetapan parameter pada prestasi strategi. Dalam aplikasi praktikal, strategi dapat ditingkatkan dengan menambahkan penapis trend, mengoptimumkan kerugian berhenti, dan menggabungkan modul ukuran kedudukan untuk meningkatkan kestabilan dan keuntungan. Pada masa yang sama, penting untuk mengawal frekuensi perdagangan dan kos strategi, dan menyesuaikan parameter secara fleksibel berdasarkan ciri pasaran dan pilihan risiko peribadi.


/*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 lanjut