SMA Ichimoku Crossover Strategi

Penulis:ChaoZhang, Tanggal: 2023-10-16 15:46:38
Tag:

Gambaran umum

Strategi crossover SMA Ichimoku adalah strategi trading yang umum. Strategi ini menggunakan prinsip gold cross dan dead cross dari moving average, dikombinasikan dengan awan Ichimoku dan SMA smooth moving average, untuk membentuk sistem trading yang relatif lengkap.

Prinsip Strategi

Strategi ini terutama menilai pembelian dan penjualan saham melalui perbandingan antara garis konversi dan garis dasar dalam indikator Ichimoku dan persilangan SMA bergerak jangka pendek dan jangka panjang.

Secara khusus, kode mendefinisikan garis konversi, garis dasar, lead span 1 dan lead span 2 dari indikator Ichimoku. Pada saat yang sama, SMA jangka panjang rata-rata bergerak ma1 dan SMA jangka pendek rata-rata bergerak ma2 didefinisikan.

Ketika menilai untuk membeli, garis konversi perlu lebih rendah dari garis dasar, dan rata-rata bergerak jangka pendek lebih rendah dari rata-rata bergerak jangka panjang, yaitu, sebuah salib emas terjadi.

Ketika menilai untuk menjual, garis konversi perlu lebih tinggi dari garis dasar, dan rata-rata bergerak jangka pendek lebih tinggi dari rata-rata bergerak jangka panjang, yaitu, sebuah salib mati terjadi.

Selain itu, kode ini juga mendefinisikan beberapa kondisi tambahan, seperti harga penutupan yang lebih tinggi dari hari sebelumnya, dan menggunakan perbedaan dan pembagian nilai rata-rata bergerak untuk menilai kemiringan.

Analisis Keuntungan

Strategi ini menggabungkan keuntungan dari beberapa indikator teknis dan memiliki keuntungan berikut:

  1. Awan Ichimoku sendiri mengandung penilaian tren, dikombinasikan dengan SMA moving average dapat membentuk penilaian tren yang kuat.

  2. SMA bergerak sendiri dapat menentukan tren harga dan momentum.

  3. Menambahkan penilaian harga penutupan dapat menghindari pembukaan dan penutupan posisi yang tidak perlu.

  4. Perhitungan kemiringan rata-rata bergerak meningkatkan penilaian pada momentum persimpangan rata-rata bergerak dan dapat menyaring persimpangan palsu.

  5. Secara keseluruhan, strategi ini memiliki penilaian tren yang relatif akurat, dapat mengurangi perdagangan yang tidak perlu, dan memiliki beberapa ruang untuk optimasi.

Analisis Risiko

Strategi ini juga memiliki beberapa risiko:

  1. Baik Ichimoku dan SMA mungkin tertinggal dan gagal mencerminkan perubahan harga dalam waktu.

  2. Kombinasi dari beberapa kondisi meningkatkan kompleksitas dan kemungkinan kesalahan.

  3. Strategi ini hanya didasarkan pada indikator teknis dan tidak dapat menilai dampak berita utama.

  4. Strategi ini tidak menetapkan kondisi stop loss, dengan risiko peningkatan kerugian.

  5. Strategi ini tidak mempertimbangkan kondisi pasar khusus seperti konsolidasi.

  6. Pengaturan parameter yang tidak benar juga dapat mempengaruhi kinerja strategi.

Optimalisasi

Strategi ini dapat dioptimalkan dalam aspek berikut:

  1. Atur kondisi stop loss untuk menghentikan kerugian secara otomatis ketika kerugian meningkat.

  2. Tingkatkan penilaian tentang peristiwa berita utama untuk menghindari dampaknya.

  3. Meningkatkan penilaian pada kondisi pasar khusus seperti meningkatkan rentang perdagangan atau menyesuaikan parameter.

  4. Uji dan optimalkan kombinasi parameter untuk menemukan parameter optimal.

  5. Memperkenalkan algoritma pembelajaran mesin untuk optimasi parameter dan penilaian pasar.

  6. Tambahkan indikator momentum untuk menghindari kebocoran palsu.

  7. Gabungkan lebih banyak dasar seperti perubahan volume.

Kesimpulan

Singkatnya, strategi crossover SMA Ichimoku ini mengintegrasikan keuntungan dari rata-rata bergerak Ichimoku dan SMA untuk membentuk strategi perdagangan saham yang relatif lengkap. Strategi ini memiliki kemampuan yang kuat untuk menentukan tren dan dapat secara efektif menangkap peluang tren. Tetapi ada juga masalah seperti lag, kompleksitas tinggi, kurangnya stop loss. Ini memberikan ruang besar untuk mengoptimalkan strategi ini. Dengan mengatur stop loss, menilai peristiwa berita utama, mengoptimalkan parameter dan banyak lagi, strategi ini dapat terus ditingkatkan untuk menjadi strategi perdagangan kuantitatif yang stabil dan dapat diandalkan.


/*backtest
start: 2023-09-15 00:00:00
end: 2023-10-15 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
// strategy("Ichimoku+SMAsmoothed", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0)
// 
conversionPeriods = input(9, minval=1, title="Conversion Line Periods"),
basePeriods = input(26, minval=1, title="Base Line Periods")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods"),
displacement = input(26, minval=1, title="Displacement")
SMA1=input(title="SMA LONG",defval=21)
SMA2=input(title="SMA SHORT",defval=19)
p=ohlc4[1]


donchian(len) => avg(lowest(len), highest(len))

conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)

//plot(conversionLine, color=#0496ff, title="Conversion Line")
//plot(baseLine, color=#991515, title="Base Line")
//plot(close, offset = -displacement, color=#459915, title="Lagging Span")

//p1 = plot(leadLine1, offset = displacement, color=green,
// title="Lead 1")
//p2 = plot(leadLine2, offset = displacement, color=red, 
// title="Lead 2")
//fill(p1, p2, color = leadLine1 > leadLine2 ? green : red)

ma1=sma(p, SMA1)
ma2=sma(p, SMA2)
p_a = ma1*2
p_b = ma1
p_c = p_a - p_b
p_d = p_c/24
p_e = ma2*2
p_f = ma2
p_g = p_e - p_f
p_h = p_g/24

closelong = ohlc4<ohlc4[SMA1] and ohlc4<ohlc4[1]// and leadLine1<leadLine2 and p_h<p_d
if (closelong)
    strategy.close("Long")
closeshort = ohlc4>ohlc4[SMA1] and ohlc4>ohlc4[1]// and leadLine1>leadLine2 and p_h>p_d
if (closeshort)
    strategy.close("Short")

longCondition = ohlc4>ohlc4[1] and leadLine1>leadLine2 and p_h>p_d
if (longCondition)
    strategy.entry("Long",strategy.long)
shortCondition = ohlc4<ohlc4[1] and leadLine1<leadLine2 and p_h<p_d
if (shortCondition)
    strategy.entry("Short",strategy.short)

Lebih banyak