Sumber daya yang dimuat... Pemuatan...

Dual Hull Moving Average Crossover Strategi Kuantitatif

Penulis:ChaoZhang, Tanggal: 2024-11-29 16:53:05
Tag:HMAMAWMA

img

Gambaran umum

Strategi ini didasarkan pada sinyal crossover Hull Moving Average (HMA). Ini menghasilkan sinyal perdagangan ketika dua garis HMA dengan periode yang berbeda saling melintasi. HMA adalah indikator rata-rata bergerak canggih yang mengurangi lag melalui kombinasi khusus Weighted Moving Averages (WMA), memberikan sinyal tren pasar yang lebih cepat dan lebih halus.

Prinsip Strategi

Inti dari strategi ini terletak pada menangkap titik pembalikan tren pasar menggunakan HMA crossover dari periode yang berbeda. Perhitungan HMA melibatkan tiga langkah: pertama menghitung WMA setengah periode, kemudian menghitung WMA periode penuh, dan akhirnya menghitung WMA lain dengan periode yang sama dengan akar kuadrat dari periode asli menggunakan kombinasi khusus dari dua WMA pertama. Sinyal beli dihasilkan ketika HMA cepat (default 9 periode) melintasi di atas HMA lambat (default 16 periode), dan sinyal jual ketika HMA cepat melintasi di bawah HMA lambat.

Keuntungan Strategi

  1. Tanggapan sinyal cepat: HMA secara signifikan mengurangi keterlambatan rata-rata bergerak tradisional melalui metode perhitungan khusus, menangkap perubahan tren pasar lebih cepat.
  2. Penyaringan Kebisingan: Konfirmasi silang antara dua rata-rata bergerak secara efektif menyaring kebisingan pasar, mengurangi sinyal palsu.
  3. Parameter Fleksibel: Strategi memungkinkan penyesuaian periode baris cepat dan lambat untuk beradaptasi dengan lingkungan pasar yang berbeda.
  4. Visualisasi yang jelas: Strategi ini dengan jelas menampilkan rata-rata bergerak dan sinyal perdagangan pada grafik untuk analisis dan optimalisasi yang mudah.

Risiko Strategi

  1. Risiko pasar berbelit-belit: Crossover yang sering terjadi di pasar samping dapat menyebabkan overtrading dan kerugian berturut-turut.
  2. Risiko Lag: Meskipun HMA memiliki lag lebih sedikit daripada rata-rata bergerak tradisional, beberapa lag masih ada, berpotensi kehilangan titik masuk yang optimal.
  3. Sensitivitas Parameter: Kombinasi parameter yang berbeda dapat menyebabkan hasil perdagangan yang sangat berbeda, yang membutuhkan optimasi yang cermat.
  4. Risiko Breakout Palsu: Pasar dapat menunjukkan breakout palsu, yang mengarah pada sinyal perdagangan yang salah.

Arah Optimasi Strategi

  1. Memperkenalkan Filter Tren: Tambahkan indikator ADX atau kekuatan tren untuk hanya berdagang pada tren yang jelas.
  2. Mengoptimalkan Mekanisme Stop Loss: Merancang stop loss dinamis berdasarkan ATR atau volatilitas.
  3. Tambahkan Kondisi Konfirmasi Perdagangan: Masukkan indikator volume dan momentum sebagai sinyal konfirmasi tambahan.
  4. Adaptasi Parameter: Mengembangkan mekanisme penyesuaian parameter dinamis berdasarkan volatilitas pasar.
  5. Optimasi Manajemen Risiko: Tambahkan ukuran posisi dan modul manajemen uang.

Ringkasan

Ini adalah strategi perdagangan kuantitatif berdasarkan crossover HMA, memberikan sinyal perdagangan yang lebih tepat waktu dengan mengurangi ketinggalan rata-rata bergerak tradisional. Desain strategi ringkas, mudah dimengerti dan diimplementasikan, tetapi membutuhkan perhatian terhadap kemampuan beradaptasi dengan lingkungan pasar dan manajemen risiko dalam aplikasi praktis. Melalui optimalisasi dan perbaikan terus-menerus, strategi ini memiliki potensi untuk menjadi sistem perdagangan yang kuat.


/*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)

Berkaitan

Lebih banyak