Crossover purata bergerak berganda digabungkan dengan strategi kuantitatif purata bergerak Hull

HMA MA WMA
Tarikh penciptaan: 2024-11-29 16:53:05 Akhirnya diubah suai: 2024-11-29 16:53:05
Salin: 2 Bilangan klik: 514
1
fokus pada
1617
Pengikut

Crossover purata bergerak berganda digabungkan dengan strategi kuantitatif purata bergerak Hull

Gambaran keseluruhan

Strategi ini berdagang berdasarkan isyarat persilangan Hull Moving Average (HMA). Ia menghasilkan isyarat perdagangan dengan mengira dua garis HMA cepat dan lambat apabila mereka bersilang. HMA adalah penunjuk purata bergerak yang canggih yang mengurangkan ketinggalan dengan kombinasi khas purata bergerak bertimbangan (WMA) untuk memberikan isyarat trend pasaran yang lebih cepat dan lebih lancar.

Prinsip Strategi

Inti strategi ini adalah menggunakan persilangan HMA dari pelbagai kitaran untuk menangkap titik peralihan trend pasaran. Proses pengiraan HMA terdiri daripada tiga langkah: pertama, mengira WMA separuh kitaran, kemudian mengira WMA kitaran penuh, dan akhirnya menggunakan kombinasi khas kedua-dua WMA untuk mengira semula WMA satu kitaran sebagai akar kuasa dua kitaran asal. Apabila HMA cepat (~ 9 kitaran lalai) melintasi HMA perlahan (~ 16 kitaran lalai) ke atas, ia menghasilkan isyarat plurality; Apabila HMA cepat melintasi HMA perlahan (~ 16 kitaran lalai), ia menghasilkan isyarat kosong.

Kelebihan Strategik

  1. Kecepatan tindak balas isyarat: HMA mengurangkan keterlambatan purata bergerak tradisional dengan kaedah pengiraan khas, dan dapat menangkap perubahan trend pasaran lebih cepat.
  2. Penapisan kebisingan: Dengan pengesahan silang dua garis rata, anda dapat menapis kebisingan pasaran dengan berkesan dan mengurangkan isyarat palsu.
  3. Fleksibiliti parameter: Strategi membolehkan penyesuaian parameter kitaran garis cepat dan lambat untuk menyesuaikan diri dengan keadaan pasaran yang berbeza.
  4. Kejelasan visual: Strategi memaparkan dua garis rata dan isyarat perdagangan dengan jelas di carta untuk memudahkan analisis dan pengoptimuman.

Risiko Strategik

  1. Risiko pasaran goyah: Dalam keadaan goyah, persilangan yang kerap boleh menyebabkan perdagangan berlebihan dan kerugian berturut-turut.
  2. Risiko ketinggalan: Walaupun HMA kurang ketinggalan berbanding garis purata tradisional, terdapat ketinggalan tertentu yang mungkin terlepas titik kemasukan terbaik.
  3. Sensitiviti parameter: Kombinasi parameter yang berbeza boleh menyebabkan hasil transaksi yang sangat berbeza dan memerlukan pengoptimuman parameter yang berhati-hati.
  4. Risiko penembusan palsu: Pasaran mungkin mengalami penembusan palsu yang menyebabkan isyarat perdagangan yang salah.

Arah pengoptimuman strategi

  1. Memperkenalkan penapis trend: ADX atau penunjuk kekuatan trend boleh ditambahkan, hanya berdagang apabila trend jelas.
  2. Mekanisme penangguhan yang dioptimumkan: reka bentuk penangguhan dinamik, seperti strategi penangguhan berdasarkan ATR atau kadar turun naik.
  3. Menambah syarat pengesahan urus niaga: gabungan metrik volum, metrik momentum dan lain-lain sebagai isyarat pengesahan tambahan.
  4. Penyesuaian parameter: Membangunkan mekanisme penyesuaian parameter dinamik berdasarkan turun naik pasaran.
  5. Pengurusan risiko yang dioptimumkan: Tambah modul pengurusan kedudukan dan pengurusan wang.

ringkaskan

Ini adalah strategi perdagangan kuantitatif yang berasaskan HMA silang, yang menyediakan isyarat perdagangan yang lebih tepat pada masanya dengan mengurangkan keterlambatan rata-rata bergerak tradisional. Strategi ini direka dengan ringkas, mudah difahami dan dilaksanakan, tetapi dalam aplikasi praktikal memerlukan perhatian terhadap kesesuaian dan pengurusan risiko dengan persekitaran pasaran. Dengan pengoptimuman dan penyempurnaan berterusan, strategi ini berpotensi menjadi sistem perdagangan yang mantap.

Kod sumber strategi
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-28 00:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Hull Moving Average Crossover", overlay=true)


fastLength = input.int(9, "Fast HMA Length", minval=1)
slowLength = input.int(16, "Slow HMA Length", minval=1)


hma(src, length) =>
    wma1 = ta.wma(src, length / 2)
    wma2 = ta.wma(src, length)
    ta.wma(2 * wma1 - wma2, math.floor(math.sqrt(length)))


fastHMA = hma(close, fastLength)
slowHMA = hma(close, slowLength)


plot(fastHMA, color=color.blue, title="Fast HMA")
plot(slowHMA, color=color.red, title="Slow HMA")


longCondition = ta.crossover(fastHMA, slowHMA)
shortCondition = ta.crossunder(fastHMA, slowHMA)


if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)


plotshape(longCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(shortCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)