Strategi crossover rata-rata bergerak Ichimoku mengidentifikasi sinyal panjang dan pendek dengan menghitung seperangkat rata-rata bergerak dan mendeteksi penyeberangan harga.
Strategi Ichimoku menggunakan sistem khusus yang terdiri dari 5 garis rata-rata bergerak, yaitu garis konversi, garis dasar, lead span 1, lead span 2, dan lagging span. Secara khusus, garis konversi menggambarkan momentum harga baru-baru ini, garis dasar menunjukkan tren jangka menengah hingga panjang, garis utama menggabungkan konversi dan basis untuk memprediksi pergerakan masa depan, dan lagging span menampilkan harga masa lalu sebagai referensi. Sinyal perdagangan dihasilkan ketika harga menerobos garis dasar. Strategi ini juga menggabungkan filter tubuh dan warna candlestick untuk menghindari istirahat palsu.
Strategi Ichimoku menggabungkan kekuatan dari berbagai indikator teknis menjadi satu sistem. Ini menggabungkan konsep rata-rata bergerak, saluran harga, konfirmasi volume, dll, membentuk metodologi sistematis. Ini memastikan akurasi dan arah sinyal perdagangan. Dibandingkan dengan strategi indikator tunggal, sangat mengurangi sinyal palsu dan meningkatkan faktor keuntungan.
Sebagai sistem mengikuti tren, strategi Ichimoku memiliki interval perdagangan yang relatif panjang. Ini berarti osilasi harga jangka pendek tidak dapat ditangkap. Juga, rata-rata bergerak gagal ketika harga berfluktuasi dengan ganas. Situasi seperti itu dapat menyebabkan sinyal yang salah dan kehilangan perdagangan. Adalah disarankan untuk menggunakan stop untuk mengendalikan risiko.
Strategi Ichimoku dapat ditingkatkan di bidang-bidang seperti: 1) Menyesuaikan parameter rata-rata untuk periode dan produk yang berbeda; 2) Menggabungkan indikator volume untuk mengkonfirmasi hubungan harga-volume; 3) Memperkenalkan model pembelajaran mesin untuk memperbaiki penentuan sinyal; 4) Menambahkan lebih banyak filter untuk menurunkan probabilitas perdagangan yang salah.
Strategi crossover rata-rata bergerak Ichimoku yang stabil dan dapat diandalkan cocok sebagai strategi inti dikombinasikan dengan algoritma lain. Panduan tren yang jelas dan fleksibilitasnya karena penyesuaian parameter dan optimasi multi-indikator membuatnya bermanfaat untuk penelitian mendalam dan aplikasi jangka panjang oleh pedagang kuantum.
/*backtest start: 2023-11-18 00:00:00 end: 2023-12-18 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2018 //@version=3 strategy(title = "Noro's Ichimoku Strategy v1.0", shorttitle = "Ichimoku str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") conversionPeriods = input(9, minval = 1, title = "Conversion Periods") basePeriods = input(26, minval = 1, title = "Base Periods") laggingSpan2Periods = input(52, minval = 1, title = "Lagging Span") usebf = input(true, defval = true, title = "Use body filter") usecf = input(true, defval = true, title = "Use color filter") fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year") toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year") frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month") tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month") fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day") today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day") //Ichimoku donchian(len) => avg(lowest(len), highest(len)) conversionLine = donchian(conversionPeriods) baseLine = donchian(basePeriods) leadLine1 = avg(conversionLine, baseLine) leadLine2 = donchian(laggingSpan2Periods) //Lines plot(conversionLine, color=red, title="Conversion Line") plot(baseLine, color=blue, title="Base Line") plot(close, offset = -basePeriods, color=green, title="Lagging Span") p1 = plot(leadLine1, offset = basePeriods, color=green, title="Lead 1") p2 = plot(leadLine2, offset = basePeriods, color=red, title="Lead 2") fill(p1, p2) //Body Filter nbody = abs(close - open) abody = sma(nbody, 10) body = nbody > abody / 3 or usebf == false //Color Filter bar = close > open ? 1 : close < open ? -1 : 0 gb = bar == 1 or usecf == false rb = bar == -1 or usecf == false //Signals up = low > baseLine and rb and body dn = high < baseLine and gb and body //Trading if up //if strategy.position_size < 0 // strategy.close_all() strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if dn //if strategy.position_size > 0 // strategy.close_all() strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if time > timestamp(toyear, tomonth, today, 23, 59) strategy.close_all()