Heiken Ashi dan Ichimoku Kinko Hyo Strategi Perdagangan

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

Gambaran umum

Strategi ini menggabungkan indikator Heiken Ashi dan Ichimoku Kinko Hyo untuk menentukan arah tren dan mengikuti tren. Heiken Ashi smoothing mengurangi kebisingan. Ichimoku menggunakan beberapa sinyal seperti konversi dan garis dasar untuk menilai kekuatan tren. Kombinasi ini meningkatkan stabilitas strategi.

Logika Strategi

Menghitung harga penutupan Heiken Ashi dan memetakan indikator Ichimoku seperti garis konversi, garis dasar dll. Pergi panjang ketika penutupan lebih tinggi dari dua hari sebelumnya dan di atas tepi atas Ichimoku dan garis tertinggal. Pergi pendek ketika penutupan lebih rendah dari dua hari sebelumnya dan di bawah tepi bawah Ichimoku dan garis tertinggal. Konversi dan penyeberangan garis dasar juga memberikan sinyal sekunder.

Keuntungan

  • Heiken Ashi menyaring penyebaran palsu meningkatkan kualitas sinyal
  • Ichimoku menggunakan beberapa sinyal validasi
  • Garis tertinggal menghindari whipsaws memastikan mengambil keuntungan
  • Mengikuti tren mengarah pada kepemilikan yang lebih lama dan keuntungan yang lebih besar

Risiko

  • Heiken Ashi smoothing tidak dapat dioptimalkan dengan sempurna
  • Parameter Ichimoku secara signifikan mempengaruhi hasil
  • Risiko kepemilikan jangka panjang yang meningkatkan kerugian
  • Frekuensi perdagangan yang lebih rendah tidak cocok untuk jangka pendek

Risiko dapat dikendalikan dengan menyesuaikan kelancaran, periode tahan, mengoptimalkan parameter Ichimoku dll.

Peningkatan

  • Uji parameter perataan Heiken Ashi yang berbeda
  • Mengoptimalkan parameter periode Ichimoku
  • Strategi aturan masuk kembali setelah keluar
  • Uji ketahanan pada produk yang berbeda

Kesimpulan

Strategi ini secara komprehensif menggunakan beberapa indikator untuk menentukan arah tren dengan penarikan yang terkontrol.


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