
Strategi ini adalah berdasarkan satu set indikator grafik Ichimoku Kinko Hyo untuk menghasilkan isyarat perdagangan. Ichimoku Kinko Hyo yang diterjemahkan secara harfiah sebagai satu set indikator keseimbangan, ia menggabungkan kelebihan rata-rata bergerak dan indikator band gelombang, yang dapat mengenali arah trend dan menyokong rintangan pada masa yang sama, dan dianggap sebagai satu indikator komposit.
Strategi ini menggunakan garis komponen Ichimoku Kinko Hyo untuk menentukan arah dan kekuatan trend. Ia menghasilkan isyarat perdagangan apabila harga menembusi grafik awan dan turun ke bawah.
Strategi ini menggunakan lima garis komponen Ichimoku Kinko Hyo:
Selain itu, peta awan Ichimoku, yang terdiri daripada Senkou Span A dan Senkou Span B, secara besar-besaran mewakili kawasan trend semasa.
Isyarat perdagangan untuk strategi ini berasal dari:
Selain itu, strategi ini juga menilai Tengkan Line dan Kijun Line sebagai masa untuk berhenti dan menghentikan kerugian.
Kelebihan utama strategi ini adalah keupayaan untuk menentukan arah trend dan menyokong rintangan menggunakan indikator Ichimoku Kinko Hyo.
Di samping itu, strategi ini mempunyai modul stop loss dan stop loss yang boleh mengunci sebahagian keuntungan dan mengawal risiko.
Risiko utama strategi ini adalah potensi lompatan yang disebabkan oleh algoritma baris komponen Ichimoku. Ini akan menyebabkan risiko penembusan palsu.
Penyelesaian adalah dengan menyesuaikan parameter algoritma dengan betul, mengurangkan jarak antara barisan komponen, atau menambahkan syarat penapis untuk mengelakkan masuk ke dalam zon getaran.
Strategi ini boleh dioptimumkan dalam beberapa aspek:
Mengoptimumkan parameter bagi garisan komponen Ichimoku, menyesuaikan kitaran purata garisan untuk lebih banyak jenis dan kitaran.
Untuk meningkatkan pengesahan jumlah transaksi, dan mengelakkan isyarat palsu yang disebabkan oleh lompatan udara.
Digabungkan dengan penapisan indikator lain seperti MACD, RSI dan lain-lain, untuk mengenal pasti trend dan kawasan overbought dan oversold.
Mengoptimumkan logik hentian hentian, seperti kaedah hentian bergerak, pengurangan dan sebagainya.
Ringkasnya, strategi ini menggunakan grafik awan dan garis komponen Ichimoku Kinko Hyo untuk menentukan arah trend dan peluang perdagangan. Kelebihan strategi adalah bahawa penghakiman trend jelas, masa masuk tepat. Dengan mengoptimumkan parameter dan menambah syarat penapisan, nisbah isyarat palsu dapat dikurangkan lebih lanjut, sehingga menghasilkan prestasi strategi yang lebih baik.
/*backtest
start: 2022-12-08 00:00:00
end: 2023-12-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Ichimoku Cloud", shorttitle="Ichimoku", overlay=true)
previous_close = close[1]
conversionPeriods = input.int(20, minval=1, title="Conversion Line Periods"),
basePeriods = input.int(60, minval=1, title="Base Line Periods")
laggingSpan2Periods = input.int(120, minval=1, title="Lagging Span 2 Periods"),
displacement = input.int(30, minval=1, title="Displacement")
long_entry = input.bool(true, title="Long Entry")
short_entry = input.bool(true, title="Short Entry")
e2e_entry = input.bool(true, title="E2E Entry")
donchian(len) => math.avg(ta.lowest(len), ta.highest(len))
tenkan = donchian(conversionPeriods)
kijun = donchian(basePeriods)
spanA = math.avg(tenkan, kijun)
spanB = donchian(laggingSpan2Periods)
plot(tenkan, color=#0496ff, title="Conversion Line")
plot(kijun, color=#991515, title="Base Line")
plot(close, offset = -displacement, color=#459915, title="Lagging Span")
p1 = plot(spanA, offset = displacement, color=#459915, title="Lead 1")
p2 = plot(spanB, offset = displacement, color=#991515, title="Lead 2")
fill(p1, p2, color = spanA > spanB ? #459915 : #991515)
ss_high = math.max(spanA[displacement - 1], spanB[displacement - 1])
ss_low = math.min(spanA[displacement - 1], spanB[displacement - 1])
// Entry/Exit Signals
tk_cross_bull = tenkan > kijun
tk_cross_bear = tenkan < kijun
kumo_twist_bull = ta.mom(close, displacement) > 0
kumo_twist_bear = ta.mom(close, displacement) < 0
price_above_kumo = close > ss_high
price_below_kumo = close < ss_low
price_enters_kumo_top = previous_close > ss_high[1] and close < ss_high
price_enters_kumo_bottom = previous_close < ss_low[1] and close > ss_low
bullish = tk_cross_bull and kumo_twist_bull and price_above_kumo
bearish = tk_cross_bear and kumo_twist_bear and price_below_kumo
bullishe2e = price_enters_kumo_bottom // and tk_cross_bull
bearishe2e = price_enters_kumo_top // and tk_cross_bear
price_touches_kumo_top = ta.cross(close, ss_high)
price_touches_kumo_bottom = ta.cross(close, ss_low)
strategy.entry("Long", strategy.long, when=bullish and long_entry)
strategy.close("Long", when=tk_cross_bear)
strategy.close("Long", when=price_enters_kumo_top)
strategy.entry("Long e2e", strategy.long, when=bullishe2e and e2e_entry)
strategy.close("Long e2e", when=price_touches_kumo_top)
strategy.close("Long e2e", when=price_below_kumo, qty_percent = 100)
// strategy.close("Long e2e", when=ta.cross(close, kijun), qty_percent = 50)
strategy.entry("Short", strategy.short, when=bearish and short_entry)
strategy.close("Short", when=tk_cross_bull)
strategy.close("Short", when=price_enters_kumo_bottom)
strategy.entry("Short e2e", strategy.short, when=bearishe2e and e2e_entry)
strategy.close("Short e2e", when=price_touches_kumo_bottom)
strategy.close("Short e2e", when=price_above_kumo, qty_percent = 100)
// strategy.close("Long e2e", when=ta.cross(close, kijun), qty_percent = 50)