Heikin Ashi dan Kaufman Adaptive Moving Average Trading Strategy

Penulis:ChaoZhang, Tanggal: 2023-12-19 15:51:30
Tag:

img

Gambaran umum

Heikin Ashi dan Kaufman Adaptive Moving Average Trading Strategy (HLC3/Kaufman Strategy) adalah strategi perdagangan kuantitatif yang menggabungkan lilin Heikin Ashi dan Kaufman Adaptive Moving Average (KAMA).

Logika Strategi

Komponen utama dari strategi ini adalah:

  1. Hitung harga buka dan tutup Heikin Ashi. Harga ini mencerminkan harga rata-rata badan lilin dan dapat menyaring beberapa kebisingan.

  2. Menghitung Kaufman Adaptive Moving Average (KAMA). KAMA dapat secara dinamis menyesuaikan kelancaran dan tidak akan terlalu tertinggal selama fluktuasi pasar yang tajam.

  3. Bandingkan hubungan antara penutupan Heikin Ashi dan KAMA untuk menentukan sinyal beli dan jual. Ketika penutupan Heikin Ashi melintasi atas KAMA, sinyal beli dihasilkan. Ketika penutupan Heikin Ashi melintasi di bawah KAMA, sinyal jual dihasilkan.

  4. Tambahkan indikator ADX untuk menilai kekuatan tren untuk menghindari sinyal yang salah di pasar yang terikat rentang.

Analisis Keuntungan

Keuntungan terbesar dari strategi ini adalah filter ganda dari lilin Heikin Ashi dan KAMA, yang dapat sangat mengurangi perdagangan yang bising dan sinyal yang salah.

  1. Lilin Heikin Ashi sendiri memiliki kemampuan pengurangan kebisingan untuk menyaring beberapa fluktuasi jangka pendek.
  2. KAMA lebih sensitif daripada SMA dan EMA dan dapat secara efektif melacak perubahan tren pada tingkat utama.
  3. Kombinasi Heikin Ashi dan KAMA dual filter dapat mengurangi kesalahan.
  4. Indikator ADX dapat dikonfigurasi untuk menentukan kekuatan tren untuk menghindari sinyal yang salah.
  5. Sinyal perdagangan langsung dan mudah dioperasikan secara fleksibel.

Analisis Risiko

  1. Sinyal yang salah mungkin terjadi di beberapa pasar yang berbeda. Parameter harus disesuaikan untuk menghindari risiko ini.
  2. Parameter yang terlalu sensitif dapat dengan mudah mengejar puncak dan membunuh dasar.
  3. Di pasar dengan tren jangka panjang, KAMA mungkin tertinggal dari perubahan harga sampai batas tertentu. ADX harus digabungkan untuk menentukan stabilitas tren.

Arahan Optimasi

  1. Mengoptimalkan parameter dekat Heikin Ashi dan KAMA untuk menemukan kondisi penyaringan terbaik.
  2. Tambahkan indikator penilaian tren seperti ADX untuk memastikan sinyal perdagangan hanya dihasilkan ketika tren stabil.
  3. Gabungkan indikator tambahan lainnya seperti Bollinger Bands untuk menetapkan standar stop loss.
  4. Uji stabilitas parameter pada produk yang berbeda untuk menemukan kombinasi parameter yang optimal.

Ringkasan

Heikin Ashi dan Kaufman Adaptive Moving Average Trading Strategy adalah strategi pelacakan tren dual filter. Ini menggabungkan kemampuan pengurangan kebisingan lilin Heikin Ashi dan pelacakan cepat perubahan tren KAMA untuk secara efektif menyaring perdagangan kebisingan dan mengurangi sinyal yang salah. Ini cocok untuk melacak tren jangka menengah dan panjang. Strategi dapat ditingkatkan lebih lanjut dalam hal stabilitas dan profitabilitas melalui optimasi parameter, konfirmasi oleh indikator tambahan, dll.


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

//@version=2
//Heikin/Kaufman   by Marco

strategy("HLC3/Kaufman Strategy ",shorttitle="HLC3/KAU",overlay=true)
res1 = input(title="Hlc3 Time Frame", defval="D")
test = input(1,"Hlc3 Shift")
sloma = input(20,"Slow EMA Period")

//Kaufman MA
Length = input(5, minval=1)
xPrice = input(hlc3)
xvnoise = abs(xPrice - xPrice[1])
Fastend = input(2.5,step=.5)
Slowend = input(20)
nfastend = 2/(Fastend + 1)
nslowend = 2/(Slowend + 1)
nsignal = abs(xPrice - xPrice[Length])
nnoise = sum(xvnoise, Length)
nefratio = iff(nnoise != 0, nsignal / nnoise, 0)
nsmooth = pow(nefratio * (nfastend - nslowend) + nslowend, 2) 
nAMA = nz(nAMA[1]) + nsmooth * (xPrice - nz(nAMA[1]))

//Heikin Ashi Open/Close Price
//ha_t = heikinashi(tickerid)
//ha_close = request.security(ha_t, period, nAMA)
//mha_close = request.security(ha_t, res1, hlc3)
bha_close = request.security(syminfo.ticker, timeframe.period, nAMA)
bmha_close = request.security(syminfo.ticker, res1, hlc3)

//Moving Average
//fma = ema(mha_close[test],1)
//sma = ema(ha_close,sloma)
//plot(fma,title="MA",color=black,linewidth=2,style=line)
//plot(sma,title="SMA",color=red,linewidth=2,style=line)
bfma = ema(bmha_close[test],1)
bsma = ema(bha_close,sloma)
plot(bfma,title="MA",color=black,linewidth=2,style=line)
plot(bsma,title="SMA",color=red,linewidth=2,style=line)
//Strategy
//golong =  crossover(fma,sma) 
//goshort =   crossunder(fma,sma)
golong =  crossover(bfma,bsma) 
goshort =   crossunder(bfma,bsma)
strategy.entry("Buy",strategy.long,when = golong)
strategy.entry("Sell",strategy.short,when = goshort)





Lebih banyak