Strategi mengikuti tren berdasarkan Ichimoku Kinko Hyo


Tanggal Pembuatan: 2023-12-11 15:00:29 Akhirnya memodifikasi: 2023-12-11 15:00:29
menyalin: 0 Jumlah klik: 666
1
fokus pada
1621
Pengikut

Strategi mengikuti tren berdasarkan Ichimoku Kinko Hyo

Ringkasan

Strategi ini didasarkan pada desain indikator teknis Ichimoku, dengan cara perdagangan yang mengikuti tren dan penyeimbangan terobosan, yang bertujuan untuk menangkap tren harga garis tengah dan panjang dan menghasilkan keuntungan yang stabil.

Prinsip Strategi

Strategi ini menggunakan lima garis dari tabel keseimbangan pertama - garis pivot, garis dasar, garis depan, garis terdepan, dan garis keterlambatan, untuk menilai tren harga dan resistensi dukungan. Aturan penilaian spesifik adalah sebagai berikut:

  1. Ketika harga penutupan melewati garis acuan dan garis acuan bergerak tidak biasa, menghasilkan sinyal beli.
  2. Ketika harga penutupan melewati garis dasar dan garis dasar bergerak tidak biasa, menghasilkan sinyal jual.
  3. Ketika harga penutupan lebih tinggi dari cloud, likuiditas lebih baik, memungkinkan untuk membangun gudang.
  4. Ketika harga penutupan berada di bawah harga terendah, likuiditas lebih rendah, dan tidak boleh membangun gudang.
  5. Sebuah sinyal beli dihasilkan dengan melewati garis penundaan pada harga close out.
  6. Delay line breakout menghasilkan sinyal sell.

Setelah penilaian komprehensif terhadap sinyal perdagangan di atas, waktu masuk akhirnya ditentukan.

Analisis Keunggulan

Strategi ini memiliki keuntungan sebagai berikut:

  1. Menggunakan tabel keseimbangan sekilas untuk menilai tren, dapat memfilter kebisingan pasar, dan mengunci tren garis tengah dan panjang.
  2. Dengan menggunakan cloud computing untuk mengevaluasi kondisi likuiditas, maka dapat dihindari risiko penempatan.
  3. Delay line sebagai sinyal konfirmasi untuk menghindari false breach.
  4. Peraturan-peraturan ini sederhana, jelas, dan mudah diterapkan.

Analisis risiko

Strategi ini juga memiliki risiko sebagai berikut:

  1. Pengaturan parameter yang tidak tepat dapat menyebabkan kehilangan peluang perdagangan.
  2. Jika trend mutate, maka kita tidak akan bisa menghentikan kerugian pada waktunya.
  3. Lebih besar risiko kerugian dalam kepemilikan saham.

Untuk risiko di atas, dapat diselesaikan dengan pengaturan parameter optimasi, kombinasi dengan indikator lain untuk menilai perubahan tren, dan stop loss ketat.

Arah optimasi

Strategi ini juga dapat dioptimalkan dengan:

  1. Mengoptimalkan parameter dari tabel ekuilibrium pertama, mencari kombinasi optimal.
  2. Menambahkan filter pada indikator kuantitatif dan kuantitatif untuk menghindari terjadinya ketidakseimbangan tren.
  3. Ini adalah titik balik yang diukur dengan indikator volatilitas.
  4. Tergabung dengan model pembelajaran mesin untuk menilai status tren.

Meringkaskan

Strategi ini menggunakan tabel keseimbangan pertama untuk menilai tren harga dan kondisi likuiditas, menggunakan mode pelacakan tren, dapat secara efektif memfilter kebisingan untuk menangkap tren garis tengah, memiliki risiko penarikan yang lebih kecil, dan cocok untuk memegang posisi garis tengah. Dengan lebih mengoptimalkan pengaturan parameter, menambahkan indikator penyaringan tambahan, dan mengeksplorasi sinyal pembalikan tren, strategi ini dapat meningkatkan Faktor Keuntungan.

Kode Sumber Strategi
/*backtest
start: 2022-12-04 00:00:00
end: 2023-12-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("My Ichimoku Strat", overlay=true,default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=1000, currency=currency.EUR)
// === BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1)
FromDay   = input(defval = 1, title = "From Day", minval = 1)
FromYear  = input(defval = 2017, title = "From Year", minval = 2014)
ToMonth   = input(defval = 1, title = "To Month", minval = 1)
ToDay     = input(defval = 1, title = "To Day", minval = 1)
ToYear    = input(defval = 9999, title = "To Year", minval = 2014)

// === SERIES SETUP ===
//**** Inputs *******
KijunSenLag = input(6,title="KijunSen Lag",minval=1)

//Kijun-sen
//Support resistance line, buy signal when price crosses it
KijunSen = sma((high+low)/2,26)
buy2 = crossover(close,KijunSen) and (rising(KijunSen,KijunSenLag) or falling(KijunSen,KijunSenLag))
sell2= crossunder(close,KijunSen) and (rising(KijunSen,KijunSenLag) or falling(KijunSen,KijunSenLag))


//Tenkan-Sen
TenkanSen = sma((high+low)/2,9)

//Senkou Span A 
SenkouSpanA = (KijunSen + TenkanSen)/2

//Senkou Span B 
SenkouSpanB = sma((high+low)/2,52)

//Cloud conditions : ignore buy if price is under the cloud
// Huge cloud means safe support and resistance. Little cloud means danger.
buy3 = close > SenkouSpanA and close > SenkouSpanB
sell3 = close < SenkouSpanA and close < SenkouSpanB


//Chikou Span
//Buy signal : crossover(ChikouSpan,close)
//Sell Signal : crossunder(ChikouSpan,close)
ChikouSpan = close
buy1=crossover(ChikouSpan,close[26])
sell1=crossunder(ChikouSpan,close[26])

plotshape(buy1,style=shape.diamond,color=lime,size=size.small)
plotshape(sell1,style=shape.diamond,color=orange,size=size.small)

//Alerts

buyCompteur = -1
buyCompteur := nz(buyCompteur[1],-1)
buyCompteur := buy2 or buy3 ? 1 : buyCompteur
buyCompteur := buyCompteur > 0 ? buyCompteur + 1 : buyCompteur
buyCompteur := sell2 or sell3 ? -1 : buyCompteur

sellCompteur = -1
sellCompteur := nz(sellCompteur[1],-1)
sellCompteur := sell2 or sell3 ? 1 : sellCompteur
sellCompteur := sellCompteur > 0 ? sellCompteur + 1 : sellCompteur
sellCompteur := buy2 or buy3 ? -1 : sellCompteur

sell= sell2 and sell3 or (sell1 and buyCompteur <= 8)
buy=buy2 and buy3 or (buy1 and sellCompteur <=8)
plotchar(buy,char='B',size=size.small,color=lime)
plotchar(sell,char='S',size=size.small,color=orange)

//plots
plot(KijunSen,title="Kijun-Sen",color=blue,linewidth=4)
plot(TenkanSen,title="Tenkan-Sen",color=red,linewidth=2)
cloudA = plot(SenkouSpanA,title="cloud A", color=lime,offset=26,linewidth=2)
cloudB = plot(SenkouSpanB,title="cloud B", color=orange,offset=26,linewidth=2)
plot(ChikouSpan,title="lag span",color=fuchsia, linewidth=2,offset=-26)
//plot()
fill(cloudA,cloudB,color=SenkouSpanA>SenkouSpanB?lime:orange)
//plot(close,color=silver,linewidth=4)

// === ALERTS ===
strategy.entry("L", strategy.long, when=(buy and (time > timestamp(FromYear, FromMonth, FromDay, 00, 00)) and (time < timestamp(ToYear, ToMonth, ToDay, 23, 59))))
strategy.close("L", when=(sell and (time < timestamp(ToYear, ToMonth, ToDay, 23, 59))))