Heiken Ashi dan Ichimoku Kinko Hyo Strategi Perdagangan

Penulis:ChaoZhang, Tarikh: 2023-09-18 15:13:35
Tag:

Ringkasan

Strategi ini menggabungkan indikator Heiken Ashi dan Ichimoku Kinko Hyo untuk menentukan arah trend dan mengikuti trend. Heiken Ashi smoothing mengurangkan bunyi bising. Ichimoku menggunakan pelbagai isyarat seperti penukaran dan garis asas untuk menilai kekuatan trend. Kombinasi ini meningkatkan kestabilan strategi.

Logika Strategi

Mengira harga penutupan Heiken Ashi dan merangka indikator Ichimoku seperti garisan penukaran, garis asas dan lain-lain. Pergi panjang apabila penutupan lebih tinggi daripada dua hari sebelumnya dan di atas tepi atas Ichimoku dan garis kelewatan. Pergi pendek apabila penutupan lebih rendah daripada dua hari sebelumnya dan di bawah tepi bawah Ichimoku dan garis kelewatan. Penukaran dan penyeberangan garis asas juga memberikan isyarat sekunder.

Kelebihan

  • Heiken Ashi menapis penyebaran palsu meningkatkan kualiti isyarat
  • Ichimoku menggunakan pelbagai isyarat pengesahan
  • Barisan yang tertinggal mengelakkan whipsaws memastikan keuntungan
  • Mengikuti trend membawa kepada pemegang yang lebih lama dan keuntungan yang lebih besar

Risiko

  • Heiken Ashi penghalusan tidak boleh dioptimumkan dengan sempurna
  • Parameter Ichimoku memberi kesan yang ketara kepada keputusan
  • Risiko memegang jangka panjang meningkatkan kerugian
  • Frekuensi perdagangan yang lebih rendah tidak sesuai untuk jangka pendek

Risiko boleh dikawal dengan menyesuaikan kelancaran, tempoh tahan, mengoptimumkan parameter Ichimoku dll.

Peningkatan

  • Uji pelbagai parameter pelembap Heiken Ashi
  • Mengoptimumkan parameter tempoh Ichimoku
  • Merancang strategi peraturan kemasukan semula selepas keluar
  • Uji ketahanan di seluruh produk yang berbeza

Kesimpulan

Strategi ini secara komprehensif menggunakan beberapa penunjuk untuk menentukan arah trend dengan penarikan terkawal.


/*backtest
start: 2023-08-18 00:00:00
end: 2023-09-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

strategy("Heiken Ashi + Ichimoku Kinko Hyo Strategy", shorttitle="HaI", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=1000, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0)

hahigh = security(heikinashi(syminfo.tickerid), timeframe.period, high)
halow = security(heikinashi(syminfo.tickerid), timeframe.period, low)

TenkanSenPeriods = input(9, minval=1, title="Tenkan Sen Periods")
KijunSenPeriods = input(24, minval=1, title="Kijun Sen Periods")
SenkouSpanBPeriods = input(51, minval=1, title="Senkou Span B Periods")
displacement = input(24, minval=1, title="Displacement")
donchian(len) => avg(lowest(len), highest(len))
TenkanSen = donchian(TenkanSenPeriods)
KijunSen = donchian(KijunSenPeriods)
SenkouSpanA = avg(TenkanSen, KijunSen)
SenkouSpanB = donchian(SenkouSpanBPeriods)
SenkouSpanH = max(SenkouSpanA[displacement - 1], SenkouSpanB[displacement - 1])
SenkouSpanL = min(SenkouSpanA[displacement - 1], SenkouSpanB[displacement - 1])
ChikouSpan = close[displacement-1]

plot(TenkanSen, color=blue, title="Tenkan Sen", linewidth = 2)
plot(KijunSen, color=maroon, title="Kijun Sen", linewidth = 3)
plot(close, offset = -displacement, color=orange, title="Chikou Span", linewidth = 2)
sa=plot (SenkouSpanA, offset = displacement, color=green,  title="Senkou Span A", linewidth = 2)
sb=plot (SenkouSpanB, offset = displacement, color=red,  title="Senkou Span B", linewidth = 3)
fill(sa, sb, color = SenkouSpanA > SenkouSpanB ? green : red)

longCondition = hahigh > max(hahigh[1],hahigh[2]) and close>ChikouSpan and close>SenkouSpanH and (TenkanSen>=KijunSen or close>KijunSen)
if (longCondition)
    strategy.entry("Long",strategy.long)

shortCondition = halow < min(halow[1],halow[2]) and close<ChikouSpan and close<SenkouSpanL and (TenkanSen<=KijunSen or close<KijunSen)
if (shortCondition)
    strategy.entry("Short",strategy.short)

closelong = halow < min(halow[1],halow[2]) and (TenkanSen<KijunSen or close<TenkanSen or close<KijunSen or close<SenkouSpanH or close<ChikouSpan)
if (closelong)
    strategy.close("Long")

closeshort = hahigh > max(hahigh[1],hahigh[2]) and (TenkanSen>KijunSen or close>TenkanSen or close>KijunSen or close>SenkouSpanL or close>ChikouSpan)
if (closeshort)
    strategy.close("Short")

Lebih lanjut