Ini adalah strategi mengikut trend kuantitatif berdasarkan penunjuk Ichimoku. Ia terutamanya membina kedudukan panjang dan pendek di bawah keadaan tertentu untuk mengesan trend pasaran, digabungkan dengan mekanisme berhenti rugi tertentu untuk mengawal risiko.
Inti strategi ini adalah untuk membina isyarat dagangan berdasarkan penunjuk Ichimoku dengan tetapan parameter tertentu. Indikator Ichimoku terdiri daripada empat garis: garis penukaran, garis asas, rentang utama A dan rentang tertinggal B. Garis penukaran biasanya dikenali sebagai Tenkan-sen dan garis asas dipanggil Kijun-sen. Strategi ini menetapkan parameter yang berbeza untuk Tenkan-sen dan Kijun-sen untuk menjana isyarat dagangan salib emas dan salib mati. Di samping itu, ia juga menggabungkan pecah awan sebagai keadaan tambahan untuk mencetuskan kemasukan.
Secara khusus, strategi ini terutamanya mengikuti peraturan perdagangan berikut:
Pergi panjang apabila harga pecah di atas Tenkan-sen dan meninggalkan awan;
Tutup kedudukan panjang apabila harga jatuh di bawah Tenkan-sen;
Pergi pendek apabila harga pecah di bawah Kijun-sen dan memasuki awan;
Tutup kedudukan pendek apabila harga naik semula di atas Tenkan-sen.
Melalui prinsip perdagangan panjang dan pendek seperti itu, strategi dapat menangkap pergerakan trend di pasaran dengan berkesan. Sementara itu, menggabungkan penembusan awan menapis isyarat palsu hingga tahap tertentu.
Berbanding dengan strategi perdagangan purata bergerak yang lain, strategi ini mempunyai kelebihan berikut:
Penghakiman trend yang lebih tepat berdasarkan Ichimoku. Ichimoku terdiri daripada pelbagai purata bergerak, menjadikannya lebih dipercayai untuk pengenalan trend dan menapis bunyi bising dari MA tunggal.
Efek penapis yang lebih baik dengan pelbagai garis. penapis tambahan dari awan pecah mengelakkan isyarat palsu.
Risiko yang boleh dikawal. Tetapan garis stop loss membolehkan stop loss tepat pada masanya dan kawalan risiko.
Pengeluaran yang lebih kecil. Perdagangan yang kurang buruk berbanding dengan strategi trend lain mengurangkan kerugian pengeluaran.
Penyesuaian parameter yang fleksibel. Parameter boleh diselaraskan untuk menyesuaikan diri dengan keadaan pasaran yang berbeza.
Masih ada beberapa risiko yang perlu diperhatikan untuk strategi ini:
Prestasi yang lemah di pasaran yang terikat julat. Whipsaws boleh berlaku yang membawa kepada kerugian terapung.
Pengiktirafan pembalikan yang tidak mencukupi. Lemah dalam mengenal pasti pembalikan trend jangka pendek, mungkin terlepas peluang atau menghadapi pembalikan mendadak.
Bergantung pada penyesuaian parameter empirikal. Parameter yang berbeza boleh memberi kesan yang signifikan terhadap prestasi yang memerlukan pengalaman sejarah yang banyak.
Aspek berikut boleh dioptimumkan untuk menangani risiko di atas:
Tambah penunjuk turun naik untuk mengesan pasaran bukan trend dan strategi jeda.
Sertakan isyarat pembalikan tambahan seperti persilangan purata bergerak.
Menggunakan pembelajaran mesin untuk pengoptimuman parameter automatik dan bukannya penyesuaian manual.
Buat garis stop loss dinamik berdasarkan turun naik pasaran.
Secara umum, strategi ini memanfaatkan kekuatan Ichimoku dalam menangkap pergerakan trend. Dengan penyesuaian parameter dan pengoptimuman yang betul, ia dapat mencapai ketahanan yang lebih baik dan berfungsi sebagai strategi yang cekap yang patut dipertimbangkan untuk perdagangan langsung.
/*backtest start: 2022-12-13 00:00:00 end: 2023-12-19 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title="RENKO ICHIMOKU STRATEGY", shorttitle="RENKO ICHIMOKU STRATEGY", overlay=true) ro = open rc = close tenkanSenPeriods = input(10, minval=1, title="Tenkan-sen"), kijunSenPeriods = input(30, minval=1, title="Kijun-sen") SenkouSpanBPeriods = input(60, minval=1, title="Senkou Span B"), displacement = input(30, minval=1, title="Chikou Span (Displacement)") donchian(len) => avg(lowest(len), highest(len)) tenkanSen = donchian(tenkanSenPeriods) kijunSen = donchian(kijunSenPeriods) SenkouSpanA = avg(tenkanSen, kijunSen) SenkouSpanB = donchian(SenkouSpanBPeriods) plot(tenkanSen, color=#0496ff, linewidth=2, title="Tenkan-sen") // plot(kijunSen, color=#991515, title="Kijun-sen") // plot(close, offset = -displacement, color=#459915, title="Chikou Span") p1 = plot(SenkouSpanA, offset = displacement, color=green, title="Senkou Span A") p2 = plot(SenkouSpanB, offset = displacement, color=red, title="Senkou Span B") fill(p1, p2, color = SenkouSpanA > SenkouSpanB ? green : red) // Entry/Exit Signals tk_cross_bull = tenkanSen > kijunSen tk_cross_bear = tenkanSen < kijunSen price_below_tenkan = open < tenkanSen and close < tenkanSen price_above_tenkan = open > tenkanSen and close > tenkanSen price_below_kinjun = close < kijunSen price_above_kinjun = close > kijunSen tekan_above_kinjun = tenkanSen > kijunSen tekan_below_kinjun = tenkanSen < kijunSen ss_high = max(SenkouSpanA[displacement-1], SenkouSpanB[displacement-1]) ss_low = min(SenkouSpanA[displacement-1], SenkouSpanB[displacement-1]) price_inside_kumo = close > ss_high and close < ss_low price_below_kumo = rc[1] < ro[1] and rc[0] < ro[0] and rc[1] < ss_low price_above_kumo = rc[1] > ro[1] and rc[0] > ro[0] and rc[1] > ss_high cs_cross_bull = mom(close, displacement-1) > 0 cs_cross_bear = mom(close, displacement-1) < 0 bullish = cs_cross_bull and not price_inside_kumo bearish = cs_cross_bear and not price_inside_kumo strategy.entry("Long", strategy.long, when=price_above_kumo and price_above_tenkan ) strategy.close("Long", when=price_below_tenkan ) strategy.entry("Short", strategy.short, when=price_below_kumo and price_below_tenkan ) strategy.close("Short", when=price_above_tenkan ) // longCondition = crossover(sma(close, 14), sma(close, 28)) // if (longCondition) // strategy.entry("My Long Entry Id", strategy.long) // shortCondition = crossunder(sma(close, 14), sma(close, 28)) // if (shortCondition) // strategy.entry("My Short Entry Id", strategy.short)