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.
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 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.
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.
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.
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.
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.
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.
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.
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.
Indikator penilaian trend seperti purata bergerak boleh ditambah untuk mengelakkan isyarat yang salah pada titik perubahan trend yang penting.
Mengoptimumkan saluran Donchian dan parameter ATR untuk mencari kombinasi yang terbaik.
Menggabungkan penunjuk penilaian tambahan lain seperti corak lilin dan perubahan jumlah dagangan untuk meningkatkan ketepatan isyarat dan mengurangkan perdagangan pembalikan yang tidak perlu.
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)