Strategi Perdagangan Purata Bergerak Heikin Ashi dan Kaufman (HLC3/Strategi Kaufman) adalah strategi perdagangan kuantitatif yang menggabungkan lilin Heikin Ashi dan Kaufman Adaptive Moving Average (KAMA).
Komponen utama strategi ini ialah:
Hitung harga buka dan tutup Heikin Ashi. Harga ini mencerminkan harga pertengahan badan lilin dan boleh menapis beberapa bunyi bising.
Mengira Kaufman Adaptive Moving Average (KAMA). KAMA boleh menyesuaikan kelancaran secara dinamik dan tidak akan terlalu ketinggalan semasa turun naik pasaran yang tajam.
Bandingkan hubungan antara penutupan Heikin Ashi dan KAMA untuk menentukan isyarat beli dan jual. Apabila penutupan Heikin Ashi melintasi atas KAMA, isyarat beli dihasilkan. Apabila penutupan Heikin Ashi melintasi di bawah KAMA, isyarat jual dihasilkan.
Tambah penunjuk ADX untuk menilai kekuatan trend untuk mengelakkan isyarat yang salah di pasaran yang terhad.
Kelebihan terbesar strategi ini adalah penapis ganda lilin Heikin Ashi dan KAMA, yang dapat mengurangkan perdagangan bising dan isyarat yang salah.
Strategi perdagangan purata bergerak adaptif Heikin Ashi dan Kaufman adalah strategi pengesanan trend penapis berganda. Ia menggabungkan keupayaan pengurangan bunyi lilin Heikin Ashi dan pengesanan perubahan trend KAMA
/*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)