Strategi ini digabungkan dengan penggunaan arah trend dan pengesanan trend menggunakan indikator udara laut dan peta keseimbangan pertama. Data garis K yang licin di udara laut mengurangkan kebisingan. Peta keseimbangan pertama menilai trend yang kuat melalui pelbagai isyarat gabungan seperti garis peralihan, garis asas.
Hitung harga penutupan ruang laut, dan lukiskan penunjuk carta keseimbangan pertama seperti garis peralihan, garis asas. Lakukan lebih banyak apabila harga penutupan lebih tinggi daripada dua hari sebelumnya dan lebih tinggi daripada garis atas dan kelewatan awan. Hilangkan apabila harga penutupan lebih rendah daripada dua hari sebelumnya dan lebih rendah daripada garis bawah dan kelewatan awan.
Anda boleh menyesuaikan parameter kelancaran dengan sewajarnya, memendekkan tempoh pegangan, dan mengoptimumkan parameter indeks keseimbangan untuk mengawal risiko.
Strategi ini menggabungkan beberapa petunjuk untuk menentukan arah trend, dan mempunyai keupayaan untuk mengawal pengunduran. Ia boleh meningkatkan keberkesanan dengan kaedah seperti penyesuaian.
/*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")