Strategi Kuantitatif Momentum Pergerakan Purata Hull Berganda

HMA WMA 移动平均线 交叉信号 趋势跟踪 动量策略 买卖信号
Tarikh penciptaan: 2025-08-04 10:57:42 Akhirnya diubah suai: 2025-08-04 10:57:42
Salin: 0 Bilangan klik: 160
2
fokus pada
319
Pengikut

Strategi Kuantitatif Momentum Pergerakan Purata Hull Berganda Strategi Kuantitatif Momentum Pergerakan Purata Hull Berganda

Gambaran keseluruhan

Strategi kuantitatif bergerak dua hala Hull Moving Average (HMA) adalah sistem pengesanan trend berdasarkan Hull Moving Average (HMA). Strategi ini menggunakan hubungan antara HMA standard dan HMA3 yang diluluskan untuk mengenal pasti perubahan trend pasaran, dan menghasilkan kesinambungan dan pembalikan yang berkemungkinan tinggi dalam keadaan pasaran bullish dan bearish. Dengan membandingkan kedua-dua rata-rata bergerak yang berbeza, strategi ini dapat mengurangkan bunyi pasaran dengan berkesan, sambil mengekalkan kepekaan terhadap perubahan kuantiti harga.

Prinsip Strategi

Prinsip teras strategi ini adalah membandingkan kedudukan relatif antara purata bergerak Hull dan persimpangan antara dua kaedah pengiraan yang berbeza. Implementasi spesifiknya adalah seperti berikut:

  1. Standard HMA ((variabel a): menggunakan algoritma asal yang dibangunkan oleh William Hull, yang mewujudkan purata bergerak yang lebih sensitif melalui proses pengiraan tiga langkah:

    • WMA yang dikira sebagai panjang
    • WMA dengan jangka masa panjang / 2
    • WMA jangka pendek dikurangkan dua kali ganda daripada WMA jangka panjang untuk mendapatkan HMA asal
    • WMA yang diratakan dengan kitaran√length pada HMA asal
  2. HMA3 ((variabel b): Menggunakan algoritma penyejukan yang lebih rumit, dicapai melalui pelbagai kombinasi WMA:

    • Menggunakan panjang / 2 sebagai kitaran asas p
    • Gabungkan WMA ((p/3, p/2, dan p) dari tiga tempoh yang berbeza sebagai purata tertimbang
    • WMA meluruskan hasil dengan kitaran p
  3. Logik penjanaan isyarat:

    • Apabila garis b dari bawah melalui garis a ((b > a dan b)[1] < a[1]) menghasilkan isyarat beli
    • Apabila garis a dari bawah melalui garis b (a > b dan a)[1] < b[1]) apabila menghasilkan isyarat menjual
  4. Logik pelaksanaan strategi:

    • Apabila isyarat membeli muncul, kosongkan kedudukan kepala kosong, kemudian buka kedudukan kepala banyak
    • Apabila isyarat menjual muncul, mulakan dengan melonggarkan kedudukan bermulut, kemudian buka kedudukan kosong

Strategi ini juga mengandungi komponen visual, seperti purata bergerak yang berubah warna mengikut arah trend dan penanda isyarat beli dan jual yang jelas, yang membantu pedagang memahami keadaan pasaran secara intuitif.

Kelebihan Strategik

  1. Mengurangkan kebisingan pasaran: Sistem HMA ganda menyaring turun naik harga jangka pendek dengan berkesan, mengurangkan isyarat palsu, sambil mengekalkan kepekaan kepada perubahan trend sebenar. HMA standard sendiri sudah lebih sensitif daripada purata bergerak tradisional, dan gabungan dengan HMA versi rata meningkatkan kualiti isyarat.

  2. Pengesanan trend lebih awal: Dengan ciri-ciri algoritma Hull Moving Average, strategi ini dapat mengenal pasti perubahan trend lebih awal daripada purata bergerak tradisional, dan dengan itu memberikan masa masuk yang lebih baik.

  3. Maklum balas visual yang jelas: Strategi menyediakan kod warna yang intuitif (bull adalah hijau, bear adalah merah) dan penanda isyarat jual beli yang membolehkan peniaga menilai keadaan pasaran dengan cepat.

  4. Mekanisme dagangan yang lengkap: Strategi tidak hanya menyediakan isyarat, tetapi juga mengandungi logik pengurusan kedudukan yang lengkap, memproses kedudukan secara automatik untuk membuka dan menyimpan kedudukan, mewujudkan perdagangan automatik yang sebenar.

  5. Konfigurasi parameter yang fleksibel: Pengguna boleh menyesuaikan panjang HMA dan sumber harga mengikut keutamaan peribadi dan ciri-ciri pasaran, untuk menyesuaikan diri dengan gaya perdagangan dan persekitaran pasaran yang berbeza.

  6. Kecekapan pengiraan yang tinggi: berbanding dengan sistem multi-indikator yang rumit, strategi ini menggunakan pengiraan matematik yang agak mudah, mengurangkan risiko overfit, sambil mengekalkan kecekapan pelaksanaan.

Risiko Strategik

  1. Isyarat palsu di pasaran goyah: Walaupun sistem HMA berganda mengurangkan kebisingan, ia mungkin menghasilkan isyarat silang yang kerap di pasaran mendatar tanpa trend yang jelas, yang menyebabkan perdagangan kerugian berturut-turut. Anda boleh mempertimbangkan untuk menambah syarat penapis tambahan, seperti penunjuk kadar turun naik atau pengesahan kekuatan trend.

  2. Masalah ketinggalan: Walaupun HMA kurang ketinggalan daripada purata bergerak tradisional, sistem berdasarkan purata bergerak mempunyai ketinggalan tertentu yang boleh menyebabkan kehilangan titik masuk atau keluar yang terbaik dalam pasaran yang bergolak.

  3. Sensitiviti parameter: Prestasi strategi sangat bergantung kepada parameter panjang HMA yang dipilih, parameter optimum yang berbeza mungkin diperlukan untuk pasaran dan jangka masa yang berbeza. Ia disyorkan untuk melakukan pengulangan yang komprehensif untuk menentukan parameter optimum untuk keadaan pasaran tertentu.

  4. Kekurangan mekanisme hentian kerugian: Strategi semasa tidak melaksanakan fungsi hentian kerugian yang bersepadu, yang boleh menyebabkan pengunduran besar-besaran jika trend berbalik secara tiba-tiba. Perlu dipertimbangkan untuk menambah syarat hentian kerugian, seperti hentian berdasarkan ATR atau hentian masa.

  5. Kepercayaan satu indikator: Strategi hanya bergantung pada indikator HMA, kekurangan analisis pasaran berbilang dimensi, dan mungkin tidak berfungsi dengan baik dalam keadaan pasaran tertentu. Pertimbangkan untuk menggabungkan jenis indikator lain, seperti indikator momentum atau indikator kadar turun naik, untuk meningkatkan ketahanan strategi.

Arah pengoptimuman strategi

  1. Menambah penapis trend: memperkenalkan penunjuk pengesahan trend tambahan, seperti ADX ((Indeks Arah Rata-rata), melakukan perdagangan hanya apabila terdapat trend yang kuat, mengelakkan perdagangan yang kerap di pasaran melintang. Implementasi boleh dilakukan: hanya apabila nilai ADX lebih besar daripada nilai terendah (seperti 25), isyarat persilangan HMA dipertimbangkan.

  2. Mekanisme penyesuaian kadar lonjakan bersepadu: menyesuaikan parameter HMA berdasarkan pergerakan kadar lonjakan pasaran, menggunakan kitaran yang lebih lama dalam persekitaran lonjakan yang tinggi, menggunakan kitaran yang lebih pendek dalam persekitaran lonjakan yang rendah. Ini boleh dicapai dengan mengira ATR (rata-rata amplitud lonjakan sebenar) dan memetakannya ke parameter panjang HMA.

  3. Mempunyai mekanisme berhenti pintar: Tambah berhenti berasaskan ATR, atau gunakan berhenti bergerak, seperti mengesan HMA dengan titik berhenti bergerak terbalik, untuk melindungi keuntungan yang telah diperoleh dan mengehadkan potensi kerugian.

  4. Memperkenalkan pengesahan jumlah transaksi: memasukkan indikator jumlah transaksi ke dalam logik penjanaan isyarat, meminta isyarat beli disertai dengan peningkatan jumlah transaksi, meningkatkan kebolehpercayaan isyarat. Anda boleh memeriksa sama ada jumlah transaksi lebih tinggi daripada nilai purata n hari.

  5. Pengurusan kedudukan yang dioptimumkan: menyesuaikan saiz kedudukan berdasarkan risiko, dan bukannya peratusan tetap. Had risiko setiap dagangan boleh dikira berdasarkan ATR, memastikan risiko setiap dagangan adalah sama.

  6. Tambahkan penapis masa: Pertimbangkan ciri-ciri masa pasaran, dan elakkan tempoh perdagangan yang diketahui tidak cekap, seperti waktu makan tengah hari di Asia atau tempoh turun naik yang tinggi sebelum dan selepas data non-pertanian AS dikeluarkan.

  7. Menambah logik masuk semula: Selepas mengesahkan arah trend, menunggu sedikit penarikan semula dan masuk semula, dan bukannya masuk terus di titik persimpangan, mungkin mendapatkan harga masuk yang lebih baik. Ini boleh dicapai dengan mengesan jarak antara harga dan HMA.

ringkaskan

Strategi kuantitatif pergerakan silang purata bergerak Hull ganda adalah sistem pengesanan trend yang direka dengan baik, yang menggunakan hubungan antara kedua-dua kaedah pengiraan HMA untuk memberikan isyarat yang jelas. Dengan membandingkan kedudukan dan persilangan HMA standard dengan HMA 3 yang lebih halus, strategi ini dapat mengurangkan kebisingan pasaran dengan berkesan, sambil mengekalkan kepekaan terhadap perubahan pergerakan harga.

Walau bagaimanapun, strategi ini juga menghadapi risiko seperti banyak isyarat palsu di pasaran yang bergolak, sensitiviti parameter yang tinggi, dan kurangnya mekanisme penangguhan. Dengan menambah penapis trend, mengintegrasikan mekanisme penyesuaian kadar turun naik, mewujudkan penangguhan pintar, memperkenalkan pengesahan jumlah perdagangan dan lain-lain, strategi ini dapat meningkatkan kestabilan dan keuntungan dengan ketara.

Secara keseluruhannya, ia adalah satu kerangka strategi kuantitatif yang mempunyai asas yang kukuh dan mempunyai skalabiliti yang baik, sesuai untuk digunakan oleh peniaga yang mengesan trend jangka menengah dan jangka panjang, dan juga boleh digunakan sebagai komponen teras sistem perdagangan yang lebih kompleks.

Kod sumber strategi
/*backtest
start: 2024-08-04 00:00:00
end: 2025-08-02 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=6
strategy("HMA Strat", shorttitle="HMAstrat", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=1)

// === INPUTS ===
length = input.int(24, minval=1, title="HMA Length")
src = input.source(hl2, "Source")
showSignals = input.bool(true, "Show Buy/Sell Signals")

// === FUNCTIONS ===
hma(_src, _length) =>
    wma1 = ta.wma(_src, _length)
    wma2 = ta.wma(_src, _length / 2)
    rawHMA = 2 * wma2 - wma1
    ta.wma(rawHMA, math.round(math.sqrt(_length)))

hma3(_src, _length) =>
    p = _length / 2
    ta.wma(ta.wma(close, p / 3) * 3 - ta.wma(close, p / 2) - ta.wma(close, p), p)

// === HMA CALCULATIONS ===
a = hma(src, length)
b = hma3(src, length)

// === COLOR LOGIC ===
isBull = b > a
colorLine = isBull ? color.lime : color.red
fillColor = color.new(colorLine, 80)

// === PLOTTING ===
p1 = plot(a, color=colorLine, linewidth=1)
p2 = plot(b, color=colorLine, linewidth=1)
fill(p1, p2, color=fillColor)

// === SIGNALS ===
crossUp = b > a and b[1] < a[1]
crossDown = a > b and a[1] < b[1]

plotshape(showSignals and crossUp, title="Buy Signal", location=location.belowbar, style=shape.labelup, size=size.tiny, color=color.green, text="Buy")
plotshape(showSignals and crossDown, title="Sell Signal", location=location.abovebar, style=shape.labeldown, size=size.tiny, color=color.red, text="Sell")

// === STRATEGY LOGIC ===
// Close opposite position before opening a new one
if crossUp
    strategy.close("Short")
    strategy.entry("Long", strategy.long)

if crossDown
    strategy.close("Long")
    strategy.entry("Short", strategy.short)