Strategi Kuantitatif Momentum Persilangan Rata-Rata Bergerak Lambung Ganda

HMA WMA 移动平均线 交叉信号 趋势跟踪 动量策略 买卖信号
Tanggal Pembuatan: 2025-08-04 10:57:42 Akhirnya memodifikasi: 2025-08-04 10:57:42
menyalin: 0 Jumlah klik: 160
2
fokus pada
319
Pengikut

Strategi Kuantitatif Momentum Persilangan Rata-Rata Bergerak Lambung Ganda Strategi Kuantitatif Momentum Persilangan Rata-Rata Bergerak Lambung Ganda

Ringkasan

Strategi pengkuantitasan bergerak lintas rata-rata Hull adalah sistem pelacakan tren yang didasarkan pada Hull Moving Average (HMA). Strategi ini menggunakan hubungan antara HMA standar dan HMA 3 yang dipadamkan untuk mengidentifikasi perubahan tren pasar dan menghasilkan kontinuitas dan pembalikan probabilitas yang tinggi dalam kondisi pasar bullish dan bearish. Dengan membandingkan dua rata-rata bergerak yang berbeda ini, strategi ini dapat secara efektif mengurangi kebisingan pasar sambil tetap sensitif terhadap perubahan volume harga.

Prinsip Strategi

Prinsip inti dari strategi ini adalah membandingkan posisi relatif antara Hull Moving Average dari dua metode perhitungan yang berbeda dan persimpangan mereka. Implementasi spesifiknya adalah sebagai berikut:

  1. Standar HMA ((variabel a): menggunakan algoritma asli yang dikembangkan oleh William Hull, algoritma ini mencapai rata-rata bergerak yang lebih sensitif melalui proses perhitungan tiga langkah:

    • WMA dengan periode perhitungan length
    • WMA dengan siklus perhitungan length/2
    • WMA periode pendek dikurangi WMA periode panjang dengan dua kali lipat untuk mendapatkan HMA awal
    • WMA yang diperbaiki dengan HMA asli dengan periodicitas√length
  2. Smoothing HMA3 ((variabel b): menggunakan algoritma smoothing yang lebih kompleks, melalui beberapa kombinasi WMA:

    • Menggunakan length/2 sebagai siklus dasar p
    • Kombinasi WMA ((p/3, p/2, dan p) dari tiga periode yang berbeda menjadi rata-rata tertimbang
    • WMA smoothing dengan periode p pada hasil
  3. Logika pembuatan sinyal:

    • Ketika garis b dari bawah melewati garis a ((b > a dan b[1] < a[1]) menghasilkan sinyal beli
    • Ketika a melewati b dari bawah (a > b dan a[1] < b[1]) saat menghasilkan sinyal jual
  4. Logika pelaksanaan kebijakan:

    • Ketika sinyal beli muncul, tutup posisi kosong, lalu buka posisi multihead
    • Ketika sinyal jual muncul, tutup posisi multihead terlebih dahulu, lalu buka posisi kosong

Strategi ini juga mencakup komponen visual seperti moving averages yang berwarna sesuai dengan arah tren dan tanda sinyal jual beli yang jelas, yang membantu pedagang memahami keadaan pasar secara intuitif.

Keunggulan Strategis

  1. Kurangi kebisingan pasar: Sistem HMA ganda secara efektif memfilter fluktuasi harga jangka pendek, mengurangi sinyal palsu, sambil tetap sensitif terhadap perubahan tren yang sebenarnya. HMA standar sendiri sudah lebih sensitif daripada rata-rata bergerak tradisional, sementara kombinasi dengan HMA versi halus meningkatkan kualitas sinyal lebih lanjut.

  2. Identifikasi tren lebih awal: Karena karakteristik algoritma Hull Moving Average, strategi ini dapat mengidentifikasi perubahan tren lebih awal daripada rata-rata bergerak tradisional, sehingga memberikan waktu masuk yang lebih baik.

  3. Umpan balik visual yang jelas: Strategi ini menyediakan kode warna yang intuitif (bull market adalah hijau, bear market adalah merah) dan tanda sinyal jual beli yang memungkinkan pedagang untuk menilai keadaan pasar dengan cepat.

  4. Mekanisme perdagangan yang lengkap: Strategi tidak hanya menyediakan sinyal, tetapi juga mencakup logika manajemen posisi yang lengkap, otomatis menangani posisi untuk membuka dan menutup posisi, untuk mencapai perdagangan otomatis yang nyata.

  5. Konfigurasi parameter yang fleksibel: pengguna dapat menyesuaikan panjang HMA dan sumber harga sesuai dengan preferensi pribadi dan karakteristik pasar, untuk menyesuaikan dengan gaya perdagangan yang berbeda dan lingkungan pasar.

  6. Efisiensi perhitungan yang tinggi: Dibandingkan dengan sistem multi-indikator yang kompleks, strategi ini menggunakan perhitungan matematis yang relatif sederhana, mengurangi risiko over-fit, sambil mempertahankan efisiensi eksekusi.

Risiko Strategis

  1. Sinyal Palsu di Pasar Bergoyang: Meskipun sistem HMA ganda mengurangi kebisingan, sinyal silang yang sering dapat dihasilkan di pasar horizontal tanpa tren yang jelas, yang menyebabkan perdagangan kerugian berturut-turut. Anda dapat mempertimbangkan untuk menambahkan kondisi penyaringan tambahan, seperti indikator volatilitas atau konfirmasi kekuatan tren.

  2. Masalah keterbelakangan: Meskipun HMA memiliki keterbelakangan yang lebih kecil daripada rata-rata bergerak tradisional, ada keterbelakangan dalam sistem apa pun yang didasarkan pada rata-rata bergerak, yang dapat menyebabkan kehilangan titik masuk atau keluar yang optimal dalam pasar yang sangat berfluktuasi.

  3. Sensitivitas parameter: Kinerja strategi sangat bergantung pada parameter panjang HMA yang dipilih, parameter optimal yang berbeda mungkin diperlukan untuk pasar dan jangka waktu yang berbeda. Disarankan untuk melakukan pengujian ulang secara komprehensif untuk menentukan parameter optimal dalam lingkungan pasar tertentu.

  4. Kurangnya mekanisme stop loss: Strategi saat ini tidak memiliki fungsi stop loss yang terintegrasi, yang dapat menyebabkan pengunduran diri yang signifikan jika tren tiba-tiba berbalik. Perlu dipertimbangkan untuk menambahkan kondisi stop loss, seperti stop loss berdasarkan ATR atau stop loss berdasarkan waktu.

  5. Tergantung pada satu indikator: Strategi hanya bergantung pada indikator HMA, kurangnya analisis pasar multi-dimensi, dan mungkin tidak berkinerja baik dalam kondisi pasar tertentu. Pertimbangkan untuk menggabungkan jenis indikator lain, seperti indikator momentum atau indikator volatilitas, untuk meningkatkan kehandalan strategi.

Arah optimasi strategi

  1. Menambahkan filter tren: memperkenalkan indikator konfirmasi tren tambahan, seperti ADX ((Indeks Arah Rata-rata), melakukan perdagangan hanya ketika ada konfirmasi tren yang kuat, menghindari perdagangan yang sering terjadi di pasar lateral. Implementasi dapat dilakukan dengan cara ini: hanya ketika nilai ADX lebih besar dari nilai terendah tertentu (seperti 25), sinyal silang HMA dipertimbangkan.

  2. Integrasi mekanisme adaptasi tingkat fluktuasi: menyesuaikan parameter HMA berdasarkan dinamika tingkat fluktuasi pasar, menggunakan siklus yang lebih panjang di lingkungan fluktuasi tinggi, siklus yang lebih pendek di lingkungan fluktuasi rendah. Hal ini dapat dicapai dengan menghitung ATR (rata-rata amplitudo fluktuasi nyata) dan memetakannya ke parameter panjang HMA.

  3. Mengimplementasikan mekanisme smart stop loss: menambahkan stop loss berbasis ATR, atau menggunakan stop loss mobile, seperti tracking HMA reverse mobile set stop loss point, untuk melindungi keuntungan yang sudah ada dan membatasi potensi kerugian.

  4. Memperkenalkan konfirmasi volume transaksi: memasukkan indikator volume transaksi ke dalam logika pembuatan sinyal, meminta sinyal beli untuk meningkatkan volume transaksi, meningkatkan keandalan sinyal. Anda dapat memeriksa apakah volume transaksi lebih tinggi dari rata-rata n hari.

  5. Optimalkan manajemen posisi: Dapatkan penyesuaian ukuran posisi berdasarkan risiko, bukan persentase input tetap. Anda dapat menghitung ambang risiko setiap perdagangan berdasarkan ATR, memastikan bahwa risiko setiap perdagangan konsisten.

  6. Tambahkan filter waktu: Pertimbangkan karakteristik waktu pasar dan hindari waktu perdagangan yang diketahui tidak efisien, seperti waktu makan siang Asia atau periode fluktuasi tinggi sebelum dan sesudah publikasi data non-pertanian AS.

  7. Menambahkan logik masuk retracement: Setelah mengkonfirmasi arah tren, menunggu retracement kecil untuk masuk kembali, dan bukan masuk langsung di titik persimpangan, mungkin mendapatkan harga masuk yang lebih baik. Hal ini dapat dicapai dengan mendeteksi jarak antara harga dan HMA.

Meringkaskan

Strategi kuantitatif crossover rata-rata bergerak ganda Hull adalah sistem pelacakan tren yang dirancang dengan baik, yang memanfaatkan hubungan antara dua metode penghitungan indikator HMA untuk memberikan sinyal multipolar yang jelas. Dengan membandingkan posisi relatif HMA standar dengan HMA3 yang dilapisi, strategi ini dapat secara efektif mengurangi kebisingan pasar, sambil tetap sensitif terhadap perubahan dinamika harga.

Namun, strategi ini juga menghadapi risiko seperti banyak sinyal palsu di pasar yang bergoyang, sensitivitas parameter yang tinggi, dan kurangnya mekanisme stop loss. Dengan menambahkan filter tren, mengintegrasikan mekanisme adaptasi tingkat volatilitas, menerapkan smart stop loss, dan memperkenalkan konfirmasi volume perdagangan, strategi ini dapat secara signifikan meningkatkan stabilitas dan profitabilitas.

Secara keseluruhan, ini adalah kerangka strategi kuantitatif yang kuat dan memiliki skalabilitas yang baik, cocok untuk digunakan oleh pedagang yang melacak tren jangka menengah dan panjang, dan juga dapat digunakan sebagai komponen inti dari sistem perdagangan yang lebih kompleks.

Kode 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)