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).
Komponen utama dari strategi ini adalah:
Hitung harga buka dan tutup Heikin Ashi. Harga ini mencerminkan harga rata-rata badan lilin dan dapat menyaring beberapa kebisingan.
Menghitung Kaufman Adaptive Moving Average (KAMA). KAMA dapat secara dinamis menyesuaikan kelancaran dan tidak akan terlalu tertinggal selama fluktuasi pasar yang tajam.
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.
Tambahkan indikator ADX untuk menilai kekuatan tren untuk menghindari sinyal yang salah di pasar yang terikat rentang.
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.
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
/*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)