HMA Momentum Strategy Terobosan

Penulis:ChaoZhang, Tanggal: 2024-01-04 15:34:52
Tag:

img

II. Ringkasan Strategi

Strategi ini menggunakan indikator HMA (Hull Moving Average) dan analisis teknis K-line untuk mewujudkan penilaian momentum dan operasi terobosan pada harga.

III. Prinsip Strategi

  1. Prinsip Indikator HMA

Indikator HMA diciptakan oleh Alan Hull pada tahun 2005 untuk membuat rata-rata bergerak yang sensitif dan halus.

(1) Hitung DMA rata-rata Double Smoothing dari setengah siklus

(2) Hitung SMA rata-rata siklus penuh

(3) Hitung perbedaan DIFF antara DMA dan SMA

(4) Hitung garis rata-rata siklus SQRT ((periode) dari DIFF untuk mendapatkan HMA

  1. Strategi Perdagangan

Strategi ini menggunakan terobosan ke atas dan ke bawah dari indikator HMA sebagai sinyal, dikombinasikan dengan terobosan bagian entitas dari garis K, untuk menghasilkan sinyal beli dan jual. Pada saat yang sama, tetapkan prinsip stop loss dan take profit untuk memantau situasi laba rugi secara real time untuk melindungi keuntungan.

IV. Keuntungan dari Strategi

  1. Karakteristik konvergensi dari indikator HMA membuatnya sangat sensitif terhadap perubahan harga sambil mempertahankan kelancaran rata-rata bergerak untuk menghindari sinyal palsu.

  2. Mekanisme terobosan ganda meningkatkan keandalan sinyal dan menghindari terjebak.

  3. Stop loss dan perlindungan keuntungan yang dinamis mengoptimalkan risiko dan pengembalian.

  4. Perdagangan otomatis sepenuhnya menyederhanakan operasi.

V. Risiko Strategi

  1. Dalam fluktuasi pasar yang keras, kemungkinan stop loss akan terjadi lebih besar.

  2. Frekuensi perdagangan yang tinggi meningkatkan biaya komisi.

  3. Pengaturan parameter yang salah dapat menghasilkan banyak sinyal palsu.

Solusi

  1. Mengoptimalkan kondisi stop loss dan mengambil keuntungan dan menetapkan retracement yang wajar.

  2. Sesuaikan frekuensi perdagangan untuk mengurangi dampak komisi.

  3. Uji dan optimalkan siklus HMA dan kondisi terobosan untuk menentukan parameter optimal.

VI. Arah Optimasi Strategi

  1. Masukkan indikator penilaian tren untuk menghindari perdagangan kontra-tren.

  2. Tingkatkan penilaian otomatis untuk beralih sumber data untuk beradaptasi dengan lebih banyak lingkungan pasar.

  3. Meningkatkan algoritma pembelajaran mesin untuk mencapai optimasi parameter otomatis.

  4. Mengerahkan pada server untuk mencapai verifikasi perdagangan hidup 24 jam.

VII. Ringkasan

Strategi HMA momentum breakout memanfaatkan keuntungan unik dari Hull moving average untuk menangkap momentum pasar dengan akurat. Mekanisme penyaringan breakout ganda meningkatkan kualitas sinyal, dan stop profit dan stop loss dinamis melindungi pendapatan. Strategi ini mudah digunakan, efektif, dan merupakan alat perdagangan kuantitatif yang sangat praktis yang layak dipromosikan.


/*backtest
start: 2022-12-28 00:00:00
end: 2024-01-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//SeaSide420
strategy("Hull Moving Average and Daily Candle Crossover", shorttitle="Hull&D", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=720, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0)
// settings----------------------
q=input(title="HullMA",defval=5)
SL = input(defval=-10000.00, title="Stop Loss in $", type=float, step=1)
TP = input(defval=500.00, title="Target Point in $", type=float, step=1)
price=input(ohlc4,title="Price data")
ot=1
p=price[1]
// Daily candle crossover---------
dt = 0.0010
Daily=(p-p[1])/p[1]
//--------------------------------
// Hull MA's----------------------
n2ma=2*wma(p,round(q/2))
nma=wma(p,q)
diff=n2ma-nma
sqn=round(sqrt(q))
n2ma1=2*wma(p[1],round(q/2))
nma1=wma(p[1], q)
diff1=n2ma1-nma1
sqn1=round(sqrt(q))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
//---------------------------------
// Plotting------------------------
z1e=n1>n2?green:black
z2e=n1>n2?black:red
z3e=n1>n2?green:red
n1e=plot(n1, title="HMA1", color=z1e, linewidth=2, offset=2)
n2e=plot(n2, title="HMA2", color=z2e, linewidth=2, offset=2)
fill(n1e, n2e, color=z3e, transp=80)
// Order controls-------------------
closelong = n1<n2 and n1[1]<n2[1] and n1[2]<n2[2] or strategy.openprofit<SL or strategy.openprofit>TP
if (closelong)
    strategy.close("Long")
closeshort = n1>n2 and n1[1]>n2[1] and n1[2]>n2[2] or strategy.openprofit<SL or strategy.openprofit>TP
if (closeshort)
    strategy.close("Short")
longCondition = n1>n2 and n1[1]>n2[1] and n1[2]>n2[2] and strategy.opentrades<ot and Daily>dt and close>n1
if (longCondition)
    strategy.entry("Long",strategy.long)
shortCondition = n1<n2 and n1[1]<n2[1] and n1[2]<n2[2] and strategy.opentrades<ot and Daily<dt and close<n1 
if (shortCondition)
    strategy.entry("Short",strategy.short)

Lebih banyak