
Strategi penembusan Double Dongxian Channel adalah strategi perdagangan kuantitatif berdasarkan saluran Dongxian. Strategi ini menggunakan gabungan saluran Dongxian cepat dan saluran Dongxian perlahan untuk mencapai perdagangan yang tinggi dan berisiko tinggi. Masuklah ke dalam pasaran apabila harga menembusi saluran perlahan, dan berhenti atau berhenti apabila harga menembusi saluran cepat.
Strategi ini adalah berdasarkan kepada dua saluran Dongxian, iaitu saluran Dongxian perlahan dengan kitaran yang lebih panjang dan saluran Dongxian cepat dengan kitaran yang lebih pendek.
Jadual jangka masa yang lebih lama dalam saluran Dongxian perlahan dapat menghapuskan bunyi pasaran dengan berkesan, dan isyarat penembusan mempunyai kebolehpercayaan yang lebih tinggi. Apabila harga menembusi saluran perlahan, masuk lebih banyak; Apabila harga jatuh dari saluran perlahan, masuk kosong.
Rangkaian jangka masa yang lebih pendek dalam saluran cepat Dongxian memberi respons yang lebih cepat terhadap perubahan harga jangka pendek. Apabila harga menembusi saluran ini sekali lagi, ini menunjukkan bahawa trend telah berbalik dan perlu segera menghentikan kerugian atau berhenti.
Di samping itu, syarat kadar turun naik juga ditetapkan sebagai penapis masuk untuk strategi. Hanya apabila turun naik harga melebihi peratusan nilai terhad yang ditetapkan, masuk akan dicetuskan. Ini dapat mengelakkan masuk yang kerap dalam penyusunan berlawanan.
Risiko ini dapat dikurangkan dengan mengoptimumkan parameter, menetapkan titik-titik berhenti yang munasabah, dan memberi perhatian kepada peristiwa-peristiwa besar.
Strategi penembusan saluran Double Dongxian secara keseluruhan merupakan strategi penjejakan trend yang agak stabil dan boleh dipercayai. Ia mempunyai kelebihan menangkap trend dan kawalan risiko, dan sesuai sebagai modul asas untuk pelbagai strategi perdagangan saham. Dengan pengoptimuman parameter dan penyempurnaan peraturan, keberkesanan strategi dapat ditingkatkan lagi.
/*backtest
start: 2024-01-04 00:00:00
end: 2024-02-03 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © omererkan
//@version=5
strategy(title="Double Donchian Channel Breakout", overlay=true, initial_capital = 1000, commission_value = 0.05, default_qty_value = 100, default_qty_type = strategy.percent_of_equity)
slowLen = input.int(50, title="Slow Donchian")
fastLen = input.int(30, title="Fast Donchian")
volatility = input.int(3, title="Volatility (%)")
longProfitPerc = input.float(2, title="Long TP1 (%)", minval=0.0, step=0.1) * 0.01
shortProfitPerc = input.float(2, title="Short TP1 (%)", minval=0.0, step=0.1) * 0.01
TP1Yuzde =input.int(50, title = "TP1 Position Amount (%)")
ubSlow = ta.highest(close, slowLen)[1]
lbSlow = ta.lowest(close, slowLen)[1]
ubFast = ta.highest(close, fastLen)[1]
lbFast = ta.lowest(close, fastLen)[1]
plot(ubSlow, color=color.green, linewidth=2, title="Slow DoCh - Upperband")
plot(lbSlow, color=color.green, linewidth=2, title="Slow DoCh - Lowerband")
plot(ubFast, color=color.blue, linewidth=2, title="Fast DoCh - Upperband")
plot(lbFast, color=color.blue, linewidth=2, title="Fast DoCh - Lowerband")
fark = (ubSlow - lbSlow) / lbSlow * 100
longExitPrice = strategy.position_avg_price * (1 + longProfitPerc)
shortExitPrice = strategy.position_avg_price * (1 - shortProfitPerc)
longCondition = ta.crossover(close, ubSlow) and fark > volatility
if (longCondition)
strategy.entry("Long", strategy.long)
shortCondition = ta.crossunder(close, lbSlow) and fark > volatility
if (shortCondition)
strategy.entry("Short", strategy.short)
if strategy.position_size > 0 and ta.crossunder(close, lbFast)
strategy.close("Long", "Close All")
if strategy.position_size < 0 and ta.crossover(close, ubFast)
strategy.close("Short", "Close All")
// Take Profit
if strategy.position_size > 0
strategy.exit("TP1", "Long", qty_percent = TP1Yuzde, limit = longExitPrice)
if strategy.position_size < 0
strategy.exit("TP1", "Short", qty_percent = TP1Yuzde, limit = shortExitPrice)