Heikin Ashi dan Kaufman Adaptive Moving Average Trading Strategy (HLC3/Kaufman Strategy) adalah strategi perdagangan kuantitatif yang menggabungkan garis Heikin Ashi K dan Kaufman Adaptive Moving Average (KAMA). Strategi ini menggunakan garis Heikin Ashi K untuk menentukan arah perdagangan, kemudian menggunakan Kaufman Adaptive Moving Average sebagai penapis isyarat perdagangan.
Strategi ini terdiri daripada beberapa bahagian:
Hitung harga pembukaan dan penutupan Heikin Ashi. Harga ini mencerminkan harga pertengahan entiti garis K, yang boleh menyaring sebahagian daripada kebisingan.
Kaufman Adaptive Moving Average ((KAMA) │KAMA mampu menyesuaikan kehalusan secara dinamik, dan tidak akan mengalami banyak kemerosotan apabila pasaran berubah secara mendadak.
Bandingkan hubungan harga penutupan Heikin Ashi dengan saiz KAMA untuk menentukan isyarat beli dan jual. Isyarat beli dihasilkan apabila harga penutupan Heikin Ashi melewati KAMA; isyarat jual dihasilkan apabila harga penutupan Heikin Ashi melewati KAMA.
Tambahan ADX boleh digunakan untuk menilai kekuatan dan kelemahan trend dan mengelakkan isyarat yang salah dalam pasaran yang bergolak.
Kelebihan utama strategi ini adalah gabungan penapisan berganda Heikin Ashi K dan KAMA, yang dapat mengurangkan perdagangan bunyi dan isyarat yang salah. Kelebihan spesifiknya adalah sebagai berikut:
Heikin Ashi dan Kaufman Adaptive Moving Average Trading Strategy adalah strategi pengesanan trend dengan penyaringan ganda. Ia menggabungkan fungsi penghapusan kebisingan Heikin Ashi K Line dan kelebihan KAMA untuk mengesan perubahan trend dengan cepat, yang dapat menyaring perdagangan kebisingan dengan berkesan, mengurangkan isyarat yang salah, sesuai untuk mengesan trend jangka menengah dan panjang.
/*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)