Kombinasi crossover rata-rata pergerakan ganda dengan strategi kuantitatif rata-rata pergerakan Hull

HMA MA WMA
Tanggal Pembuatan: 2024-11-29 16:53:05 Akhirnya memodifikasi: 2024-11-29 16:53:05
menyalin: 2 Jumlah klik: 514
1
fokus pada
1617
Pengikut

Kombinasi crossover rata-rata pergerakan ganda dengan strategi kuantitatif rata-rata pergerakan Hull

Ringkasan

Strategi ini didasarkan pada sinyal silang dari Hull Moving Average (HMA). Dengan menghitung dua garis HMA cepat dan lambat, sinyal perdagangan dihasilkan ketika mereka berselisih. HMA adalah indikator rata-rata bergerak canggih yang mengurangi keterlambatan dengan kombinasi khusus rata-rata bergerak bertimbang (WMA) untuk memberikan sinyal tren pasar yang lebih cepat dan bergeser.

Prinsip Strategi

Inti dari strategi ini adalah memanfaatkan HMA dari berbagai siklus untuk menangkap titik peralihan tren pasar. Proses perhitungan HMA terdiri dari tiga langkah: pertama menghitung WMA setengah siklus, kemudian menghitung WMA siklus penuh, dan akhirnya dengan kombinasi khusus dari kedua WMA ini untuk menghitung kembali WMA satu siklus sebagai akar kuadrat dari siklus asli.

Keunggulan Strategis

  1. Sinyal bereaksi cepat: HMA secara signifikan mengurangi keterlambatan rata-rata bergerak tradisional melalui metode perhitungan khusus, sehingga dapat lebih cepat menangkap perubahan tren pasar.
  2. Noise Filter: Dengan cross-confirmation dua garis rata, dapat secara efektif memfilter kebisingan pasar dan mengurangi sinyal palsu.
  3. Fleksibilitas parameter: Strategi memungkinkan untuk menyesuaikan parameter siklus garis cepat dan lambat untuk menyesuaikan dengan lingkungan pasar yang berbeda.
  4. Visibilitas yang jelas: Strategi menampilkan dua garis rata dan sinyal perdagangan dengan jelas di grafik untuk memudahkan analisis dan optimalisasi.

Risiko Strategis

  1. Risiko pasar yang bergoyang: Dalam situasi yang bergoyang, crossover yang sering terjadi dapat menyebabkan overtrading dan stop loss berkelanjutan.
  2. Risiko keterbelakangan: Meskipun HMA memiliki keterbelakangan yang lebih kecil dibandingkan dengan garis rata-rata tradisional, masih ada keterbelakangan tertentu yang dapat melewatkan titik masuk terbaik.
  3. Sensitivitas parameter: Kombinasi parameter yang berbeda dapat menyebabkan hasil transaksi yang sangat berbeda, yang memerlukan optimasi parameter yang cermat.
  4. Risiko terobosan palsu: Pasar dapat mengalami terobosan palsu yang menyebabkan sinyal perdagangan yang salah.

Arah optimasi strategi

  1. Memperkenalkan filter tren: Anda dapat menambahkan ADX atau indikator kekuatan tren, hanya berdagang ketika tren jelas.
  2. Mekanisme penghentian yang dioptimalkan: merancang strategi penghentian yang dinamis, seperti yang didasarkan pada ATR atau volatilitas
  3. Menambahkan kondisi konfirmasi transaksi: menggabungkan volume lalu lintas, indikator momentum, dan lain-lain sebagai sinyal konfirmasi tambahan.
  4. Adaptasi parameter: Mengembangkan mekanisme penyesuaian parameter dinamis berdasarkan volatilitas pasar.
  5. Optimalisasi manajemen risiko: menambahkan modul manajemen posisi dan manajemen dana.

Meringkaskan

Ini adalah strategi perdagangan kuantitatif berbasis HMA crossover yang menyediakan sinyal perdagangan yang lebih tepat waktu dengan mengurangi keterlambatan dari rata-rata bergerak tradisional. Strategi ini dirancang sederhana, mudah dipahami dan diimplementasikan, tetapi dalam aplikasi praktis memerlukan perhatian pada adaptasi dan manajemen risiko lingkungan pasar. Dengan terus-menerus mengoptimalkan dan menyempurnakan, strategi ini memiliki potensi untuk menjadi sistem perdagangan yang kuat.

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