Ichimoku Moving Average Crossover Strategi

Penulis:ChaoZhang, Tanggal: 2023-12-19 15:40:53
Tag:

img

Gambaran umum

Strategi crossover rata-rata bergerak Ichimoku mengidentifikasi sinyal panjang dan pendek dengan menghitung seperangkat rata-rata bergerak dan mendeteksi penyeberangan harga.

Logika Strategi

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.

Keuntungan

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.

Risiko

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.

Peluang Peningkatan

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.

Kesimpulan

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()

Lebih banyak