Strategi Penembusan Saluran Donchian

Penulis:ChaoZhang, Tarikh: 2024-02-26 14:55:04
Tag:

img

Ringkasan

Strategi penembusan saluran Donchian adalah strategi mengikuti trend berdasarkan saluran harga. Ia menggunakan jalur atas, jalur bawah, dan purata bergerak garis tengah saluran Donchian untuk menentukan trend harga dan penembusan untuk menjana isyarat beli dan jual.

Logika Strategi

Strategi ini mula-mula mengira purata bergerak harga tertinggi, terendah terendah, dan garis tengah dalam tempoh tertentu. Band atas dan bawah membentuk saluran harga, sementara garis tengah berada di tengah saluran. Apabila harga memecahkan di atas garis tengah, ia menandakan trend menaik dan pergi panjang. Apabila harga memecahkan di bawah garis tengah, ia menandakan trend menurun dan pergi pendek.

Secara khusus, strategi ini beroperasi dalam langkah-langkah berikut:

  1. Mengira maksimum maksimum 20 tempoh, iaitu dcUpper;
  2. Mengira paras terendah 20 tempoh, iaitu dcLower;
  3. Mengira purata dcUpper dan dcLower untuk mendapatkan dcAverage, sebagai garis tengah saluran;
  4. Plot dcUpper, dcLower, dan dcAverage untuk membentuk Saluran Donchian;
  5. Pergi panjang apabila dekat berada di atas garisan tengah dcAverage, dan pergi pendek apabila dekat berada di bawah dcAverage;
  6. Peraturan keluar: jika close berada di bawah jalur bawah dcLow apabila panjang, close kedudukan panjang; jika close berada di atas garis tengah dcAverage apabila pendek, close kedudukan pendek.

Logik di atas menerangkan prinsip perdagangan asas strategi - menangkap trend dengan pecah harga dan menukar arah pada titik pivot.

Analisis Kelebihan

Strategi ini mempunyai kelebihan berikut:

  1. asas teori yang kukuh - menggunakan saluran harga untuk menentukan trend adalah pendekatan analisis teknikal yang terbukti;
  2. Logik yang mudah dan jelas, mudah difahami dan dilaksanakan;
  3. Sistem berasaskan penembusan dengan banyak peluang mengikuti trend, strategi perdagangan kuant yang sesuai;
  4. Mekanisme stop loss yang jelas untuk mengehadkan kerugian perdagangan tunggal;
  5. Fleksibiliti - parameter boleh disesuaikan untuk persekitaran pasaran yang berbeza.

Analisis Risiko

Terdapat juga beberapa risiko:

  1. Frekuensi dagangan yang tinggi membawa kepada kos dan kelalaian yang lebih tinggi;
  2. Penempatan stop loss yang tidak betul menyebabkan over-stop loss;
  3. Parameter yang tidak sesuai membawa kepada isyarat yang hilang atau salah;
  4. Kegagalan penembusan trend lewat membawa kepada kerugian.

Penyelesaian:

  1. Mengoptimumkan parameter dan mengawal kekerapan perdagangan;
  2. Mempertingkatkan logik stop loss untuk mengelakkan over-stop loss;
  3. Uji di persekitaran yang berbeza dan sesuaikan parameter;
  4. Tambah penapis untuk mengelakkan kegagalan penembusan trend lewat.

Arahan pengoptimuman

Strategi ini boleh dioptimumkan lagi dalam aspek berikut:

  1. Tambah metrik struktur pasaran untuk mengelakkan perdagangan terhadap trend utama;
  2. Meningkatkan penapisan isyarat untuk memastikan kesahihan pecah dan mengurangkan isyarat palsu;
  3. Menggabungkan metrik turun naik untuk mengukur intensiti pecah;
  4. Menggunakan analisis pelbagai jangka masa atau pelbagai aset untuk meningkatkan ketahanan;
  5. Menggunakan pembelajaran mesin untuk menyesuaikan parameter automatik menyesuaikan diri dengan pasaran yang berubah.

Kesimpulan

Kesimpulannya, strategi penembusan saluran Donchian adalah sistem trend berikut yang berkesan, dengan asas teori yang kukuh, logik yang mudah, dan keupayaan untuk menunggang trend melalui penembusan. Sementara itu, risiko yang melekat pada sistem penembusan sedemikian memerlukan penyesuaian parameter dan penapisan isyarat. Dengan penyelidikan dan pengoptimuman lanjut, strategi Donchian boleh menjadi lebih mantap dan praktikal untuk peniaga kuantitatif.


/*backtest
start: 2024-01-26 00:00:00
end: 2024-02-25 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

strategy(title = "dc", overlay = true)


testStartYear = input(2018, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testEndYear = input(2018, "Backtest Start Year")
testEndMonth = input(12)
testEndDay = input(31, "Backtest Start Day")
testPeriodEnd = timestamp(testStartYear,testStartMonth,testStartDay,0,0)


testPeriod() =>
    true
    //time >= testPeriodStart  ? true : false

dcPeriod = input(20, "Period")

dcUpper = highest(close, dcPeriod)[1]
dcLower = lowest(close, dcPeriod)[1]
dcAverage = (dcUpper + dcLower) / 2

plot(dcLower, style=line, linewidth=3, color=red, offset=1)
plot(dcUpper, style=line, linewidth=3, color=aqua, offset=1)

plot(dcAverage, color=black, style=line, linewidth=3, title="Mid-Line Average")

strategy.entry("simpleBuy", strategy.long, when=close > dcAverage)
strategy.close("simpleBuy",when=close < dcLower)
    
strategy.entry("simpleSell", strategy.short,when=close < dcAverage)
strategy.close("simpleSell",when=close > dcAverage)
    



Lebih lanjut