Strategi Trend Saluran Donchian Pengesahan Berganda

Penulis:ChaoZhang, Tarikh: 2023-12-22 10:55:06
Tag:

img

Ringkasan

Strategi ini dibangunkan berdasarkan penunjuk Saluran Donchian standard. Ia menunggu dua paras tertinggi (atau paras terendah) berturut-turut untuk disahkan secara lalai sebelum mengeluarkan isyarat perdagangan, untuk mengelakkan dipukul oleh pembuat pasaran penipuan.

Strategi ini juga menyediakan pilihan untuk melumpuhkan mekanisme pengesahan berganda, supaya ia boleh mengeluarkan isyarat perdagangan dengan serta-merta apabila melihat paras tertinggi atau terendah baru.

Bagi orang yang tidak suka short, terdapat juga pilihan untuk mengecualikan kedudukan pendek.

Logika Strategi

Strategi ini berdasarkan pada band atas dan bawah penunjuk Saluran Donchian. Band atas adalah tertinggi tertinggi selama n bar yang lalu, sementara band bawah adalah terendah terendah selama n bar yang lalu. Tempoh melihat semula lalai n adalah 20.

Band tengah adalah purata band atas dan bawah, dan boleh digunakan untuk mengukur arah trend.

Apabila harga melanggar band atas, strategi akan panjang jika tidak ada kedudukan panjang yang sedia ada. Apabila harga melanggar band bawah, strategi akan pendek jika tidak ada kedudukan pendek yang sedia ada.

Untuk menapis pecah palsu, pilihan tunggu pengesahan berganda diaktifkan secara lalai. Ini bermakna dua paras tertinggi (atau paras rendah) berturut-turut mesti dilihat sebelum isyarat perdagangan dikeluarkan.

Analisis Kelebihan

Kelebihan strategi ini termasuk:

  1. Indikator Saluran Donchian adalah mudah dan mudah difahami.

  2. Mekanisme pengesahan berganda secara berkesan menapis pelarian palsu dan mengelakkan terperangkap.

  3. Tempoh melihat semula saluran boleh disesuaikan untuk menyesuaikan diri dengan persekitaran pasaran yang berbeza.

  4. Pilihan jualan pendek menampung keperluan daripada pelabur yang berbeza.

  5. Kodnya bersih dan mudah difahami untuk pembangunan lanjut.

Analisis Risiko

Terdapat juga beberapa risiko dengan strategi ini:

  1. Pengesahan berganda boleh menyebabkan beberapa peluang perdagangan hilang.

  2. Tetapan tempoh saluran yang tidak betul boleh mengakibatkan perdagangan yang terlalu kerap atau jarang berlaku.

  3. Tempoh penyimpanan yang panjang mungkin gagal mengawal risiko dengan berkesan.

  4. Risiko tambahan daripada jualan pendek perlu diperhatikan.

  5. Backtest overfitting perlu berhati-hati.

Penyelesaian yang sepadan:

  1. Lakatkan pengesahan dua kali atau kurangkan selang pengesahan.

  2. Mengoptimumkan parameter dan memilih tempoh saluran yang sesuai.

  3. Tetapkan stop loss / keuntungan untuk mengehadkan kerugian per perdagangan.

  4. Lumpuhkan jualan pendek, pergi panjang sahaja.

  5. Mengkaji strategi dengan kukuh di pelbagai persekitaran pasaran.

Peluang Peningkatan

Peluang peningkatan termasuk:

  1. Sesuaikan saiz kedudukan secara dinamik berdasarkan turun naik.

  2. Menyaring penyebaran palsu berdasarkan metrik intensiti pecah.

  3. Menggabungkan mekanisme hentian untuk mengikuti trend.

  4. Gabungkan penunjuk lain untuk menentukan arah trend dan mengelakkan kehilangan titik perubahan utama.

  5. Mengoptimumkan parameter melalui pembelajaran mesin.

Peningkatan ini boleh meningkatkan kestabilan dan keuntungan strategi.

Kesimpulan

Ini adalah trend yang mudah tetapi berkesan mengikuti strategi berdasarkan mekanisme pengesahan ganda Saluran Donchian. Dengan penyesuaian parameter dan pengembangan ciri, strategi ini boleh disesuaikan dengan pelbagai persekitaran pasaran dan mempunyai kegunaan praktikal yang besar.


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

//@version=4
strategy(title="Donchian Channels", shorttitle="DC", overlay=true, initial_capital=10000, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, calc_on_every_tick=true)
length = input(20, minval=1)
lower = lowest(length)
upper = highest(length)
basis = avg(upper, lower)
bool inShortPos = false
bool inLongPos = false
bool wait4confirmation = input(true, title="Wait for double confirmation?")
bool doShort = input(true, title="Include short positions")

plot(basis, "Basis", color=#FF6D00)
u = plot(upper, "Upper", color=#2962FF)
l = plot(lower, "Lower", color=#2962FF)
fill(u, l, color=color.rgb(33, 150, 243, 95), title="Background")

//if(inShortPos == false and inLongPos == false)
if(not inLongPos and upper > upper[1])
    if(wait4confirmation)
        if(not inLongPos and upper > upper[1] and upper[1] > upper[2])
            strategy.close("Short", true)
            strategy.entry("Buy", true)
    else
        strategy.close("Short", true)
        strategy.entry("Buy", true)
else
    if(not inShortPos and lower < lower[1])
        if(wait4confirmation)
            if(not inShortPos and lower < lower[1] and lower[1] < lower[2])
                strategy.close("Buy", true)
                if(doShort)
                    strategy.entry("Short", true)
        else
            strategy.close("Buy", true)
            if(doShort)
                strategy.entry("Short", true)

Lebih lanjut