Strategi Penembusan Saluran Dinamik

Penulis:ChaoZhang, Tarikh: 2024-01-17 15:29:55
Tag:

img

Ringkasan

Strategi Penembusan Saluran Dinamik adalah strategi mengikuti trend. Ia menggunakan penunjuk Saluran Donchian untuk menentukan harga beli dan jual penembusan secara dinamik, menggabungkan penunjuk ATR untuk menetapkan titik stop loss, dan mencapai automasi penuh penjanaan isyarat perdagangan dan keluar stop loss.

Prinsip-prinsip

Saluran Donchian

Saluran Donchian adalah penunjuk saluran dinamik yang membentuk jalur atas dan bawah dengan mengira harga tertinggi dan terendah dalam tempoh tertentu di masa lalu. jalur atas adalah harga tertinggi dalam n tempoh yang lalu, dan jalur bawah adalah harga terendah dalam n tempoh yang lalu. Saluran Donchian mencerminkan julat turun naik dan trend berpotensi pasaran.

Strategi ini menetapkan tempoh Saluran Donchian kepada 20 hari. Apabila harga memecahkan rel atas, isyarat beli dihasilkan, menunjukkan bahawa pasaran telah memasuki trend menaik. Apabila harga jatuh di bawah rel bawah, isyarat jual dihasilkan, menunjukkan bahawa pasaran telah memasuki trend menurun.

Indikator ATR

Indikator ATR adalah singkatan untuk Julat Benar Purata, yang mencerminkan amplitudo turun naik purata aset tertentu dalam tempoh masa yang baru-baru ini. ATR boleh menyesuaikan diri secara automatik dengan perubahan kekerapan turun naik pasaran untuk mencerminkan dengan lebih tepat turun naik pasaran sebenar dalam tempoh yang baru-baru ini.

Strategi ini menggunakan penunjuk ATR 20 hari untuk mengira titik stop loss. Semakin besar nilai ATR, semakin besar turun naik pasaran, dan semakin jauh titik stop loss yang ditetapkan. Ini menghalang titik stop loss daripada terlalu dekat dan tersingkir oleh turun naik pasaran kecil.

Penjanaan Isyarat

Apabila harga menembusi garis tengah Saluran Donchian ke atas, isyarat beli dihasilkan. Apabila harga menembusi garis tengah ke bawah, isyarat jual dihasilkan. Ini menunjukkan bahawa harga telah mula menembusi saluran ini dan memasuki pusingan trend baru.

Pada masa yang sama, digabungkan dengan titik stop loss yang dikira oleh penunjuk ATR, apabila kerugian mencapai titik stop loss, kedudukan akan secara aktif dihentikan untuk mengawal risiko.

Analisis Kelebihan

Pengesanan Trend Automatik

Saluran Donchian adalah penunjuk pengesanan trend. Dengan menyesuaikan julat saluran secara dinamik, strategi ini dapat mengesan perubahan dalam trend pasaran secara automatik dan menjana isyarat beli dan jual dengan sewajarnya. Ini mengelakkan subjektiviti penilaian manual dan menjadikan isyarat perdagangan lebih objektif dan boleh dipercayai.

Perdagangan dua hala

Strategi ini mengandungi kedua-dua peraturan panjang dan pendek, yang membolehkan perdagangan dua hala. Ini memperluaskan persekitaran pasaran di mana strategi dapat digunakan, membolehkan keuntungan dalam kedua-dua trend menaik dan menurun.

Pengurusan Risiko

Mekanisme stop loss penunjuk ATR dapat mengawal kerugian perdagangan tunggal dengan berkesan. Ini sangat penting untuk perdagangan kuantitatif untuk memastikan bahawa strategi memperoleh pulangan positif yang stabil dalam peristiwa yang berkemungkinan tinggi.

Analisis Risiko

Risiko Terjerat

Strategi Saluran Donchian mempunyai beberapa risiko terperangkap. Jika harga terbalik dan memasuki semula saluran tanpa kehilangan berhenti, kerugian yang ketara mungkin timbul. Mekanisme kehilangan berhenti ATR dalam strategi ini membantu mengurangkan risiko tersebut.

Risiko Pembalikan Trend

Pada pembalikan trend, penunjuk Saluran Donchian akan menghasilkan isyarat yang salah. Pengguna perlu memberi perhatian kepada keadaan pasaran untuk mengelakkan perdagangan buta apabila pembalikan trend yang signifikan berlaku. Penunjuk penilaian trend boleh ditambah untuk mengurangkan risiko tersebut.

Risiko pengoptimuman parameter

Parameter tempoh kedua-dua Saluran Donchian dan stop loss ATR perlu dioptimumkan, jika tidak, isyarat yang tidak betul yang berlebihan mungkin dihasilkan. Parameter dalam strategi ini adalah empirikal. Dalam perdagangan sebenar, mereka perlu dioptimumkan berdasarkan data sejarah.

Arahan pengoptimuman

Tambah Penghakiman Trend

Indikator penilaian trend seperti purata bergerak boleh ditambah untuk mengelakkan isyarat yang salah pada titik perubahan trend yang penting.

Pengoptimuman Parameter

Mengoptimumkan saluran Donchian dan parameter ATR untuk mencari kombinasi yang terbaik.

Tambah corak harga

Menggabungkan penunjuk penilaian tambahan lain seperti corak lilin dan perubahan jumlah dagangan untuk meningkatkan ketepatan isyarat dan mengurangkan perdagangan pembalikan yang tidak perlu.

Kesimpulan

Strategi Penembusan Saluran Dinamik mencari arah trend melalui jalur atas dan bawah Saluran Donchian dan menghasilkan isyarat perdagangan. Mekanisme stop loss ATR mengawal risiko. Strategi ini mempunyai tahap automasi yang tinggi dan sesuai untuk perdagangan kuantitatif. Ruang pengoptimuman terletak pada pengoptimuman pemilihan parameter dan menggabungkan penunjuk tambahan lain untuk meningkatkan ketepatan isyarat. Secara umum, strategi ini menilai trend pasaran dengan tepat dan mempunyai kepraktisan yang kuat.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title = "dc",  overlay = true)
atrLength = input(title="ATR Length:", defval=20, minval=1)

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
atrValue=atr(atrLength)


useTakeProfit   = na
useStopLoss     = na
useTrailStop    = na
useTrailOffset  = na

Buy_stop = lowest(low[1],3) - atr(20)[1] / 3
plot(Buy_stop, color=red, title="buy_stoploss")
Sell_stop = highest(high[1],3) + atr(20)[1] / 3
plot(Sell_stop, color=green, title="sell_stoploss")

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

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

strategy.entry("simpleBuy", strategy.long, when=(close > dcAverage) and cross(close,dcAverage))
strategy.close("simpleBuy",when=((close < dcAverage) and  cross(close,dcAverage)) or ( close< Buy_stop))
    
strategy.entry("simpleSell", strategy.short,when=(close < dcAverage) and cross(close,dcAverage) )
strategy.close("simpleSell",when=((close > dcAverage) and cross(close,dcAverage)) or ( close > Sell_stop))
    
//strategy.exit("Exit simpleBuy", from_entry = "simpleBuy", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)
//strategy.exit("Exit simpleSell", from_entry = "simpleSell", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)



Lebih lanjut