
Ringkasan
Strategi ini menggabungkan dua indikator teknis, yaitu Channel dan Simple Moving Average. Strategi ini berlaku untuk pasar yang cenderung kuat. Strategi ini digunakan untuk membuka posisi kosong ketika harga menembus tren bawah Channel dan lebih tinggi dari Simple Moving Average dan membuka posisi kosong ketika harga menembus tren atas Channel dan lebih rendah dari Simple Moving Average.
Prinsip Strategi
- Perhitungan Tangqian Channel naik dan turun. Tangqian Channel naik adalah harga tertinggi dalam n siklus terakhir, turun adalah harga terendah dalam n siklus terakhir.
- Hitung moving average sederhana. Moving average sederhana adalah nilai rata-rata aritmatika dari harga penutupan selama m periode terakhir.
- Posisi overhead: Posisi overhead dibuka ketika harga lebih rendah dari tren bawah Tangjian dan harga penutupan lebih tinggi dari rata-rata bergerak sederhana.
- Posisi kosong: Posisi kosong dibuka ketika harga lebih tinggi dari Tangjian dan harga penutupan lebih rendah dari rata-rata bergerak sederhana.
- Multiple Bidding: Bila harga menyentuh rel di Tongxian Channel, maka harga akan naik.
- Posisi kosong: Posisi kosong ketika harga menyentuh rel bawah Jalur Dongguan.
Keunggulan Strategis
- Menggabungkan dua elemen pasar, yaitu tren dan fluktuasi. Simple Moving Average menangkap tren, dan Tang Qian channel menangkap fluktuasi, sehingga lebih baik menangkap peluang untuk mundur dalam situasi tren.
- Kondisi stop-loss jelas, membantu dalam waktu yang tepat untuk mengunci keuntungan. Multicore dan kosong masing-masing pada harga menyentuh Tangqian saluran atas dan bawah rel, dapat menutup posisi keuntungan tepat waktu sebelum trend berbalik.
- Strategi ini hanya memiliki tiga parameter untuk mengoptimalkan, yaitu siklus saluran Dongxian, jumlah defleksinya, dan siklus rata-rata bergerak sederhana.
Risiko Strategis
- Strategi ini memiliki frekuensi pembukaan posisi yang lebih tinggi, yang dapat menurunkan keuntungan di pasar dengan biaya transaksi yang tinggi. Anda dapat mengurangi jumlah transaksi dengan meredakan kondisi pembukaan posisi secara moderat atau meningkatkan jangka waktu.
- Pasar bergoyang tidak berkinerja baik. Strategi ini dapat mengalami kerugian lebih banyak ketika tren tidak jelas. Strategi dapat ditangguhkan dengan mengidentifikasi pasar bergoyang melalui indikator volatilitas statistik.
- Stabilitas parameter tidak cukup. Parameter optimal mungkin berbeda-beda dari standar dan periode yang berbeda. Stabilitas parameter tidak baik, kinerja hard disk mungkin tidak sesuai dengan pengujian ulang.
Arah optimasi strategi
- Tambahkan kondisi buka posisi yang dapat dipilih yang dikombinasikan dengan indikator lain, seperti meminta ADX di DMI lebih besar dari nilai terendah tertentu untuk memungkinkan buka posisi, atau buka lebih banyak posisi ketika RSI keluar dari zona oversold, meningkatkan peluang buka posisi.
- Menggunakan stop line dinamis untuk menggantikan stop line saluran Tongjian yang tetap, sehingga memungkinkan fungsi pelacakan keuntungan. Misalnya, multihead dapat melakukan posisi di stop line ATR atau stop line SAR setelah harga menyentuh jalur Tongjian.
- Adaptasi siklus saluran Dongxian secara dinamis sesuai dengan tingkat fluktuasi, mempersingkat siklus saluran Dongxian dalam keadaan pasar fluktuasi tinggi, memperpanjang siklus saluran Dongxian dalam keadaan pasar fluktuasi rendah. Ini membantu beradaptasi dengan pasar yang berbeda.
Meringkaskan
Strategi yang digabungkan dengan Dynamic Tongan Channels dan Simple Moving Averages adalah sebuah kerangka strategi trading kuantitatif yang sederhana dan mudah digunakan. Strategi ini membangun logika pembukaan posisi dari dua sudut pandang, yaitu dari trend tracking dan volatility breakout, dan cocok untuk varietas yang lebih cenderung. Namun, strategi ini tidak berkinerja baik di pasar yang sering bergejolak, dan parameternya stabil secara umum.
Kode 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()