
Gambaran keseluruhan
Strategi ini menggabungkan kedua-dua indikator teknikal Saluran Dongxian dan purata bergerak sederhana. Ia membuka kedudukan lebih tinggi apabila harga menembusi saluran bawah Saluran Dongxian dan lebih tinggi daripada purata bergerak sederhana, dan membuka kedudukan kosong apabila harga menembusi saluran atas Saluran Dongxian dan lebih rendah daripada purata bergerak sederhana.
Prinsip Strategi
- Hitung Tangjian Channel naik ke bawah. Tangjian Channel naik ke atas adalah harga tertinggi dalam n kitaran terakhir, turun ke bawah adalah harga terendah dalam n kitaran terakhir.
- Hitung purata bergerak mudah. Purata bergerak mudah adalah purata aritmetik harga penutupan dalam tempoh m terakhir.
- Terbuka kedudukan berlebih: Terbuka kedudukan berlebih apabila harga lebih rendah daripada laluan bawah Tangjian dan harga penutupan lebih tinggi daripada purata bergerak sederhana.
- Posisi kosong: Posisi kosong dibuka apabila harga lebih tinggi daripada laluan Tongxian dan harga penutupan lebih rendah daripada purata bergerak sederhana.
- Peranan berpatutan: apabila harga menyentuh laluan Tongxian, kedudukan berpatutan berlaku.
- Posisi kosong: Posisi kosong apabila harga menyentuh laluan bawah Tangjian.
Kelebihan Strategik
- Menggabungkan dua elemen pasaran trend dan turun naik. Purata bergerak mudah menangkap trend, saluran Dongxian menangkap turun naik, dapat lebih memahami peluang penarikan diri dalam keadaan trend.
- Keadaan hentian jelas, membantu untuk mengunci keuntungan tepat pada masanya. Multicore dan Blank, masing-masing, dapat menutup kedudukan keuntungan tepat pada masanya sebelum trend berbalik.
- Parameter yang lebih sedikit, kesukaran pengoptimuman yang lebih kecil. Strategi ini hanya mempunyai tiga parameter iaitu kitaran laluan Dongxian, perpindahan dan kitaran purata bergerak sederhana, yang memudahkan pengoptimuman.
Risiko Strategik
- Perdagangan yang kerap. Strategi ini mempunyai frekuensi pembukaan kedudukan yang tinggi, yang akan menjejaskan keuntungan di pasaran dengan kos perdagangan yang tinggi.
- Pasaran bergolak berkinerja buruk. Apabila trend tidak jelas, strategi ini mungkin mengalami kerugian yang lebih besar.
- Parameter tidak stabil. Parameter yang optimum mungkin berbeza dengan parameter yang berbeza dan tempoh, parameter tidak stabil, prestasi cakera mungkin tidak sesuai dengan pengukuran.
Arah pengoptimuman strategi
- Menambah syarat pembukaan kedudukan pilihan yang digabungkan dengan petunjuk lain, seperti mewajibkan ADX dalam DMI lebih besar daripada nilai terendah tertentu untuk membenarkan pembukaan kedudukan, atau membuka lebih banyak kedudukan ketika RSI keluar dari kawasan oversold, meningkatkan peluang kemenangan pembukaan kedudukan.
- Menggunakan hentian hentian dinamik untuk menggantikan hentian hentian saluran Tongxian yang tetap, untuk mewujudkan fungsi pengesanan keuntungan. Sebagai contoh, banyak kepala boleh meletakkan posisi di ATR atau SAR Hentian Hentian Hentian selepas harga menyentuh saluran Tongxian.
- Menyesuaikan kitaran saluran Dongguan mengikut tahap turun naik yang dinamik, memendekkan kitaran saluran Dongguan dalam keadaan pasaran turun naik yang tinggi, dan memanjangkan kitaran dalam keadaan pasaran turun naik yang rendah. Ini membantu menyesuaikan diri dengan pasaran yang berbeza.
ringkaskan
Strategi yang digabungkan dengan saluran DQC dan purata bergerak sederhana adalah kerangka strategi perdagangan kuantitatif yang mudah digunakan. Ia membina logik pembukaan kedudukan yang berpatutan dari dua sudut, dari trend tracking dan volatility breakthrough, sesuai untuk varieti yang lebih cenderung. Tetapi strategi ini tidak berfungsi dengan baik di pasaran yang sering bergolak, dan parameternya stabil secara umum.
Kod sumber strategi
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("FBK Donchian Channel Strategy", overlay=true)
// Inputs
donchian_period = input.int(20, title="Donchian Channel Period")
donchian_offset = input.int(1, title="Donchian Channel Offset")
sma_period = input.int(200, title="SMA Period")
start_date = input(timestamp("2023-01-01 00:00 +0000"), title="Start Date")
end_date = input(timestamp("2023-12-31 23:59 +0000"), title="End Date")
trade_type = input.string("Both", title="Trade Type", options=["Buy Only", "Sell Only", "Both"])
// Calculate indicators
donchian_upper = ta.highest(high, donchian_period)[donchian_offset]
donchian_lower = ta.lowest(low, donchian_period)[donchian_offset]
sma = ta.sma(close, sma_period)
// Plot indicators
plot(donchian_upper, color=color.red, title="Donchian Upper")
plot(donchian_lower, color=color.green, title="Donchian Lower")
plot(sma, color=color.blue, title="SMA")
// Helper function to check if within testing period
is_in_testing_period() => true
// Entry conditions
long_condition = low <= donchian_lower and close > sma
short_condition = high >= donchian_upper and close < sma
// Exit conditions
exit_long_condition = high >= donchian_upper
exit_short_condition = low <= donchian_lower
// Open long position
if (is_in_testing_period() and (trade_type == "Buy Only" or trade_type == "Both") and long_condition)
strategy.entry("Long", strategy.long)
// Close long position
if (is_in_testing_period() and exit_long_condition)
strategy.close("Long")
// Open short position
if (is_in_testing_period() and (trade_type == "Sell Only" or trade_type == "Both") and short_condition)
strategy.entry("Short", strategy.short)
// Close short position
if (is_in_testing_period() and exit_short_condition)
strategy.close("Short")
// Close all positions at the end of the testing period
if not is_in_testing_period()
strategy.close_all()