Heikin Ashi dan Kaufman Adaptive Moving Average Strategi Dagangan

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

img

Ringkasan

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).

Logika Strategi

Komponen utama strategi ini ialah:

  1. Hitung harga buka dan tutup Heikin Ashi. Harga ini mencerminkan harga pertengahan badan lilin dan boleh menapis beberapa bunyi bising.

  2. Mengira Kaufman Adaptive Moving Average (KAMA). KAMA boleh menyesuaikan kelancaran secara dinamik dan tidak akan terlalu ketinggalan semasa turun naik pasaran yang tajam.

  3. 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.

  4. Tambah penunjuk ADX untuk menilai kekuatan trend untuk mengelakkan isyarat yang salah di pasaran yang terhad.

Analisis Kelebihan

Kelebihan terbesar strategi ini adalah penapis ganda lilin Heikin Ashi dan KAMA, yang dapat mengurangkan perdagangan bising dan isyarat yang salah.

  1. Lilin Heikin Ashi sendiri mempunyai keupayaan pengurangan bunyi untuk menapis beberapa turun naik jangka pendek.
  2. KAMA lebih sensitif daripada SMA dan EMA dan dapat mengesan perubahan trend secara berkesan pada tahap utama.
  3. Gabungan penapis ganda Heikin Ashi dan KAMA dapat mengurangkan kesilapan.
  4. Indikator ADX boleh dikonfigurasi untuk menentukan kekuatan trend untuk mengelakkan isyarat yang salah.
  5. Isyarat perdagangan adalah langsung dan mudah untuk beroperasi dengan fleksibel.

Analisis Risiko

  1. Isyarat yang salah mungkin berlaku di beberapa pasaran yang berbeza. Parameter harus disesuaikan dengan sewajarnya untuk mengelakkan risiko ini.
  2. Parameter yang terlalu sensitif boleh dengan mudah mengejar puncak dan membunuh bahagian bawah.
  3. Dalam pasaran trend jangka panjang, KAMA mungkin tertinggal dari perubahan harga hingga tahap tertentu. ADX harus digabungkan untuk menentukan kestabilan trend.

Arahan pengoptimuman

  1. Mengoptimumkan parameter dekat Heikin Ashi dan KAMA untuk mencari keadaan penapisan yang terbaik.
  2. Tambah penanda penilaian trend seperti ADX untuk memastikan isyarat perdagangan dihasilkan hanya apabila trend stabil.
  3. Gabungkan penunjuk tambahan lain seperti Bollinger Bands untuk menetapkan standard stop loss.
  4. Uji kestabilan parameter pada produk yang berbeza untuk mencari kombinasi parameter yang optimum.

Ringkasan

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 dengan cepat untuk menapis perdagangan bunyi secara berkesan dan mengurangkan isyarat yang salah. Ia sesuai untuk mengesan trend jangka menengah dan panjang. Strategi ini boleh ditingkatkan lagi dari segi kestabilan dan keuntungan melalui pengoptimuman parameter, pengesahan oleh penunjuk tambahan, dan lain-lain.


/*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 lanjut