
Strategi penembusan saluran dinamis adalah strategi pelacakan tren. Strategi ini menggunakan indikator saluran Donchian untuk secara dinamis menentukan harga beli dan jual yang terobosan, yang dikombinasikan dengan indikator ATR volatilitas untuk menetapkan titik stop loss, untuk menghasilkan sinyal perdagangan dan otomatisasi penuh dari stop loss exit.
Saluran Donchian adalah indikator saluran dinamis yang membentuk lintasan atas dan bawah dengan menghitung harga tertinggi dan terendah dalam periode tertentu di masa lalu. Jalur atas adalah harga tertinggi dalam periode n terakhir, dan jalur bawah adalah harga terendah dalam periode n terakhir. Saluran Donchian mencerminkan kisaran fluktuasi pasar dan tren potensial.
Strategi ini mengatur siklus saluran Donchian selama 20 hari. Ketika harga menerobos tren naik, sinyal beli dihasilkan, yang menunjukkan bahwa harga masuk ke tren naik; Ketika harga turun dari tren turun, sinyal jual dihasilkan, yang menunjukkan bahwa harga masuk ke tren turun.
Indikator ATR adalah singkatan dari Average True Range, yang mencerminkan fluktuasi rata-rata aset dalam periode terakhir. ATR dapat secara otomatis beradaptasi dengan perubahan frekuensi fluktuasi pasar, sehingga lebih akurat mencerminkan fluktuasi aktual pasar dalam periode terakhir.
Strategi ini menggunakan indikator ATR 20 hari untuk menghitung stop loss. Nilai ATR yang lebih besar menunjukkan semakin besar fluktuasi pasar, semakin jauh dari stop loss yang ditetapkan. Ini dapat mencegah stop loss terlalu dekat dan terkena fluktuasi pasar kecil.
Ketika harga di atas melewati garis tengah saluran Donchian, menghasilkan sinyal beli; ketika harga di bawah melewati garis tengah saluran Donchian, menghasilkan sinyal jual. Ini menunjukkan bahwa harga mulai menerobos saluran dan memasuki putaran baru tren.
Pada saat yang sama, stop loss yang dikombinasikan dengan indikator ATR yang dihitung, ketika stop loss mencapai titik stop loss, stop loss aktif keluar dari posisi, mengendalikan risiko.
Saluran Donchian adalah indikator pelacakan tren. Strategi ini dapat secara otomatis melacak perubahan tren pasar melalui penyesuaian ruang saluran secara dinamis, yang kemudian menghasilkan sinyal beli dan jual. Hal ini menghindari subjektivitas penilaian buatan, sehingga menghasilkan sinyal perdagangan lebih objektif dan dapat diandalkan.
Strategi ini mencakup aturan melakukan perdagangan dua sisi, baik short dan long term. Hal ini memperluas lingkungan pasar di mana strategi ini dapat diterapkan, dan menghasilkan keuntungan baik ketika pasar naik maupun turun.
Mekanisme stop loss yang dikombinasikan dengan indikator ATR dapat secara efektif mengontrol kerugian dari perdagangan tunggal. Hal ini sangat penting untuk perdagangan kuantitatif, yang dapat memastikan bahwa strategi mendapatkan keuntungan positif yang stabil dalam peristiwa probabilitas tinggi.
Strategi saluran Donchian memiliki risiko terbalik. Jika harga berbalik dan kembali ke saluran, kerugian besar akan terjadi jika tidak terhenti. Strategi ini mengurangi risiko ini melalui mekanisme stop loss dari indikator ATR.
Pada saat terjadi pembalikan tren, indikator saluran Donchian akan menghasilkan sinyal yang salah. Pengguna perlu memperhatikan situasi pasar dan menghindari tetap mengikuti secara buta saat terjadi pembalikan tren yang signifikan. Strategi ini dapat menambahkan indikator penilaian tren dan sebagainya untuk mengurangi risiko tersebut.
Periode parameter Donchian channel dan ATR stop loss perlu diperiksa secara optimal, jika tidak akan menghasilkan terlalu banyak sinyal yang salah. Strategi ini menggunakan parameter empiris, parameter yang perlu dioptimalkan berdasarkan data historis di dunia nyata.
Indikator penilaian tren seperti moving averages dapat dimasukkan untuk menghindari sinyal yang salah pada titik-titik perubahan tren yang signifikan.
Mengoptimalkan saluran Donchian dan parameter ATR untuk menemukan kombinasi parameter yang optimal. Mempersingkat siklus saluran dengan tepat dapat menangkap pergeseran tren lebih cepat.
Kombinasi dengan indikator penilaian tambahan lainnya, seperti bentuk K-line, perubahan volume transaksi, dan lain-lain, dapat meningkatkan akurasi sinyal dan mengurangi perputaran perdagangan yang tidak perlu.
Strategi penembusan saluran dinamis untuk memposisikan arah tren melalui jalur atas dan bawah dari saluran Donchian dan menghasilkan sinyal perdagangan. Strategi ini memiliki tingkat otomatisasi yang tinggi, cocok untuk perdagangan kuantitatif. Ruang untuk pengoptimalan terletak pada pengoptimalan pilihan parameter, dan peningkatan akurasi sinyal dalam kombinasi dengan indikator tambahan lainnya. Secara keseluruhan, strategi ini akurat dalam menilai tren pasar dan memiliki 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)