Strategi Hull Moving Average Crossover adalah strategi perdagangan kuantitatif berdasarkan Hull Moving Average (HMA). Strategi ini menggunakan indikator HMA dari pelbagai tempoh masa untuk mengenal pasti trend pasaran dan menghasilkan isyarat perdagangan. Inti strategi ini adalah untuk menentukan masa masuk dan keluar dengan melihat persilangan HMA jangka pendek dengan HMA jangka menengah, sambil menggunakan HMA jangka panjang sebagai rujukan trend keseluruhan.
Prinsip utama strategi ini adalah memanfaatkan ciri-ciri tindak balas pantas Hull Moving Average (HMA) dan kelebihan analisis pelbagai kitaran. Ia dilaksanakan seperti berikut:
HMA untuk tiga kitaran yang berbeza:
Sinyal dagangan dihasilkan:
HMA 3 sebagai penunjuk trend jangka panjang, walaupun tidak terlibat secara langsung dalam penjanaan isyarat, tetapi boleh digunakan untuk menilai trend pasaran keseluruhan.
Strategi ini menggunakan peratusan akaun yang tetap ((10%) sebagai jumlah dana untuk setiap transaksi.
Untuk meningkatkan kesan visual, tanda beli dan jual di carta dengan fungsi PlotShape.
Ia juga menyediakan keadaan amaran untuk kedudukan panjang dan pendek untuk memantau peluang pasaran dalam masa nyata.
Mengurangkan keterlambatan: Hull Moving Average mempunyai keterlambatan yang lebih rendah dan bertindak balas lebih cepat terhadap perubahan harga daripada purata bergerak tradisional.
Analisis pelbagai kitaran: Dengan menggabungkan HMA dari pelbagai kitaran masa, strategi dapat menangkap trend jangka pendek, pertengahan dan jangka panjang pada masa yang sama, meningkatkan ketepatan dan kestabilan perdagangan.
Penapisan kebisingan: HMA yang menggunakan kitaran yang lebih lama (75 minit dan 125 minit) dapat menapis kebisingan pasaran jangka pendek dengan berkesan, mengurangkan isyarat palsu.
Fleksibiliti: Strategi membolehkan pengguna menyesuaikan panjang dan sumber data setiap HMA, menyesuaikan diri dengan persekitaran pasaran dan gaya perdagangan yang berbeza.
Pengurusan risiko: Perdagangan dengan peratusan tetap hak dan faedah akaun membantu mengawal risiko.
Visualisasi: Membantu peniaga memahami dan mengesahkan logik strategi dengan memaparkan isyarat beli dan jual secara intuitif pada carta.
Pemberitahuan masa nyata: Pemberitahuan isyarat perdagangan telah disediakan untuk membolehkan peniaga menangkap peluang pasaran tepat pada masanya.
Risiko trend reversal: Dalam pasaran trend yang kuat, strategi mungkin sering menghasilkan isyarat, yang membawa kepada overtrading dan kos yang tidak perlu.
Risiko Pasaran Silang: Dalam pasaran tanpa trend yang jelas, persilangan HMA mungkin menghasilkan banyak isyarat palsu yang mempengaruhi prestasi strategi.
Sensitiviti parameter: Prestasi strategi sangat bergantung pada panjang dan kitaran masa HMA yang dipilih, dan kombinasi parameter yang berbeza boleh menyebabkan hasil yang sangat berbeza.
Penarikan dan kos transaksi: Perdagangan yang kerap boleh menyebabkan penarikan dan kos transaksi yang lebih tinggi, terutamanya di pasaran yang kurang cair.
Ketergantungan kepada teknologi: Strategi bergantung sepenuhnya kepada petunjuk teknologi, mengabaikan faktor asas, dan mungkin tidak berfungsi dengan baik apabila berita atau peristiwa penting berlaku.
Risiko overfit: Jika parameter yang terlalu optimum pada data sejarah, ia boleh menyebabkan strategi tidak berfungsi dengan baik dalam perdagangan cakera.
Memperkenalkan penapis trend: Anda boleh mempertimbangkan untuk menggunakan HMA 3 sebagai penapis trend, hanya membuka kedudukan di arah trend jangka panjang untuk mengurangkan perdagangan berlawanan arah.
Parameter penyesuaian dinamik: Mempunyai mekanisme penyesuaian diri yang menyesuaikan panjang dan kitaran masa HMA mengikut dinamik turun naik pasaran untuk menyesuaikan diri dengan keadaan pasaran yang berbeza.
Peningkatan mekanisme hentian dan hentian: memperkenalkan peraturan hentian dan hentian berdasarkan ATR atau peratusan tetap untuk mengawal risiko dan mengunci keuntungan dengan lebih baik.
Pengurusan kedudukan yang dioptimumkan: Strategi pengurusan kedudukan yang lebih kompleks, seperti saiz kedudukan yang disesuaikan secara dinamik berdasarkan turun naik atau kerugian akaun.
Mengintegrasikan penunjuk teknikal lain: Menggabungkan penunjuk teknikal lain seperti RSI, MACD dan lain-lain untuk membina syarat kemasukan dan keluar yang lebih menyeluruh.
Pemantauan dan pengoptimuman: Pemantauan yang meluas dilakukan di bawah pelbagai keadaan pasaran dan jangka masa untuk mencari kombinasi parameter yang optimum.
Pertimbangkan faktor asas: Masukkan pertimbangan untuk pengumuman data ekonomi penting atau peristiwa syarikat, menyesuaikan tindakan strategi pada masa tertentu.
Menerapkan perdagangan kedudukan separa: membenarkan strategi untuk menjalankan perdagangan kedudukan separa berdasarkan kekuatan isyarat, dan bukannya masuk dan keluar setiap kali.
Strategi crossover rata-rata bergerak Hull berkala adalah strategi perdagangan kuantitatif yang menggabungkan ciri-ciri responsif Hull bergerak rata-rata dengan kelebihan analisis pelbagai tempoh. Dengan melihat hubungan silang antara HMA dalam tempoh masa yang berbeza, strategi ini dapat mengenal pasti trend pasaran dengan berkesan dan menghasilkan isyarat perdagangan.
Untuk meningkatkan lagi kestabilan dan keuntungan strategi, anda boleh mempertimbangkan untuk memperkenalkan penapis trend, menyesuaikan parameter dinamik, mengoptimumkan pengurusan kedudukan dan lain-lain. Di samping itu, dalam kombinasi dengan petunjuk teknikal dan faktor asas lain, anda boleh membina sistem perdagangan yang lebih komprehensif dan lebih sesuai dengan keadaan pasaran yang berbeza.
Secara keseluruhannya, strategi ini menyediakan pedagang dengan kerangka kerja yang berpotensi, dan dengan pengoptimuman dan penyempurnaan berterusan, ia dijangka menjadi alat perdagangan kuantitatif yang kuat. Walau bagaimanapun, dalam aplikasi praktikal, peniaga masih perlu menilai risiko pasaran dengan berhati-hati dan membuat penyesuaian yang sesuai berdasarkan toleransi risiko individu dan matlamat perdagangan.
/*backtest
start: 2024-06-01 00:00:00
end: 2024-06-30 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(title='Hull v2 Strategy', shorttitle='V2 HMA', overlay=true)
// Hull MA 1
length_1 = input.int(20, minval=1, title="Length 1")
src_1 = input(close, title='Source 1')
timeframe_1 = input.timeframe('25')
hullma_1 = request.security(syminfo.tickerid, timeframe_1, ta.wma(2 * ta.wma(src_1, length_1 / 2) - ta.wma(src_1, length_1), math.round(math.sqrt(length_1))))
plot(hullma_1, title='Hull MA 1', color=color.blue, linewidth=2)
// Hull MA 2
length_2 = input.int(20, minval=1, title="Length 2")
src_2 = input(close, title='Source 2')
timeframe_2 = input.timeframe('75')
hullma_2 = request.security(syminfo.tickerid, timeframe_2, ta.wma(2 * ta.wma(src_2, length_2 / 2) - ta.wma(src_2, length_2), math.round(math.sqrt(length_2))))
plot(hullma_2, title='Hull MA 2', color=color.red, linewidth=2)
// Hull MA 3
length_3 = input.int(20, minval=1, title="Length 3")
src_3 = input(close, title='Source 3')
timeframe_3 = input.timeframe('125')
hullma_3 = request.security(syminfo.tickerid, timeframe_3, ta.wma(2 * ta.wma(src_3, length_3 / 2) - ta.wma(src_3, length_3), math.round(math.sqrt(length_3))))
plot(hullma_3, title='Hull MA 3', color=color.green, linewidth=2)
// Cross Strategy
longCondition = ta.crossover(hullma_1, hullma_2)
shortCondition = ta.crossunder(hullma_1, hullma_2)
// Entry and Exit
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
// Plot Buy/Sell Signals
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, title='Buy Signal', text='BUY')
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title='Sell Signal', text='SELL')
// Alerts
alertcondition(longCondition, title='Long Alert', message='Long Condition Met')
alertcondition(shortCondition, title='Short Alert', message='Short Condition Met')