Hull Moving Average Trend Mengikut Strategi

Penulis:ChaoZhang, Tarikh: 2023-11-02 14:57:37
Tag:

img

Ringkasan

Strategi ini adalah berdasarkan kepada penunjuk Hull Moving Average untuk membina trend mengikut sistem perdagangan. Ia memutuskan untuk pergi panjang atau pergi pendek berdasarkan arah lengkung Hull, menjadikannya strategi mengejar trend biasa.

Logika Strategi

Strategi ini menggunakan Hull Moving Average sebagai penunjuk teknikal utama. Hull Moving Average dicadangkan oleh peniaga Amerika Alan Hull pada tahun 2005.

Secara khusus, purata bergerak Hull mengandungi dua purata - satu adalah purata bergerak MA ((n) tempoh n, yang lain adalah purata bergerak MA ((n/2) tempoh n/2. Perbezaan antara kedua-dua purata bergerak membentuk lengkung perbezaan Hull.

Apabila lengkung Hull miring ke atas, purata bergerak tempoh yang lebih pendek melintasi di atas tempoh yang lebih lama, memberikan isyarat panjang.

Strategi ini menetapkan tempoh n daripada lengkung Hull kepada 16. Ia mengira MA 8-periode (n/2=8), MA 16-periode, dan perbezaan di antara mereka untuk mendapatkan lengkung Hull. Ia kemudian mengambil MA 4-periode (akar kuadrat n=4) dari lengkung Hull itu sendiri. Apabila lengkung Hull melintasi ke atas, ia pergi panjang. Apabila lengkung Hull melintasi ke bawah, ia pergi pendek.

Analisis Kelebihan

Berbanding dengan purata bergerak biasa, purata bergerak Hull mempunyai kelebihan berikut:

  1. Dengan menggunakan fungsi akar kuadrat, lengkung Hull memeluk tindakan harga lebih dekat dan lebih cepat untuk menangkap pembalikan trend.

  2. Kurva Hull dapat menapis beberapa bunyi bising dan mengelakkan perdagangan yang tidak perlu.

  3. Kurang parameter. lengkung Hull hanya memerlukan satu parameter n, menjadikan pengoptimuman lebih mudah. Sistem dual-MA perlu mengoptimumkan dua parameter.

  4. Boleh disesuaikan. Nilai n kurva Hull boleh diselaraskan untuk pasaran yang berbeza dan disesuaikan untuk sesuai dengan instrumen yang berbeza.

  5. Sistem Hull adalah kukuh dan mengelakkan pemilihan manual, mematuhi konsistensi sistem perdagangan mekanikal.

Analisis Risiko

Walaupun kelebihan berbanding sistem purata bergerak, sistem Hull masih membawa risiko berikut:

  1. Sebagai strategi mengejar trend, sistem Hull cenderung untuk berhenti semasa perubahan trend yang drastik.

  2. Potensi untuk overtrading: tindak balas cepat lengkung Hull boleh meningkatkan kekerapan perdagangan dan membawa kepada overtrading.

  3. Mempunyai hanya satu parameter n boleh membawa kepada risiko pemasangan lengkung dari optimasi berlebihan.

  4. Kecekapan berbeza-beza di antara instrumen. Sistem Hull berfungsi kurang baik untuk instrumen dengan turun naik yang tinggi. Parameter perlu diselaraskan.

Arahan Penambahbaikan

Berdasarkan keterbatasan di atas, strategi purata bergerak Hull boleh ditingkatkan dalam aspek berikut:

  1. Tambah penapis dengan penunjuk tambahan untuk mengelakkan persilangan palsu. MACD, KD dan lain-lain boleh membantu mengukur trend.

  2. Tambah strategi stop loss untuk mengawal kerugian perdagangan tunggal, contohnya dengan berhenti atau mengambil keuntungan berhenti.

  3. Mengoptimumkan pilihan parameter n untuk mengelakkan optimasi berlebihan. Analisis berjalan maju boleh digunakan untuk pengoptimuman bergulir.

  4. Gunakan model pembelajaran mesin seperti RNN untuk mengoptimumkan nilai parameter secara dinamik.

  5. Mengoptimumkan parameter secara berasingan untuk instrumen yang berbeza menggunakan pemasangan pembelajaran mesin.

  6. Mengoptimumkan saiz kedudukan untuk mengurangkan kekerapan perdagangan.

Kesimpulan

Strategi Hull Moving Average adalah strategi trend berikut yang tipikal. Walaupun mempunyai kelebihan berbanding MAs, ia masih menghadapi masalah seperti overoptimization dan overtrading. Kita boleh meningkatkan strategi melalui pengoptimuman parameter, stop loss, ukuran kedudukan dan lain-lain. Sistem Hull adalah mudah dan praktikal. Ia layak penyelidikan dan peningkatan lanjut dengan menggabungkan lebih banyak penunjuk dan teknik untuk membina sistem perdagangan yang kukuh.


/*backtest
start: 2023-10-25 00:00:00
end: 2023-11-01 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=3
strategy(title = "Noro's HullMA Strategy", shorttitle = "HullMA str", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
n = input(title = "HullMA period", defval=16)
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//HullMA
n2ma=2*wma(close,round(n/2))
nma=wma(close,n)
diff=n2ma-nma
sqn=round(sqrt(n))
n2ma1=2*wma(close[1],round(n/2))
nma1=wma(close[1],n)
diff1=n2ma1-nma1
sqn1=round(sqrt(n))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
c=n1>n2?green:red
ma=plot(n1,color=c)
    
//Trading
lot = 0.0
lot := strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1]
if n1 > n2
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot)
if n1 < n2
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot)
if true
    strategy.close_all()

Lebih lanjut