Ichimoku Kinko Hyo Berbasis Strategi Perdagangan BTC

Penulis:ChaoZhang, Tanggal: 2023-12-20 13:34:08
Tag:

img

Gambaran umum

Strategi ini disebut Ichimoku Kinko Hyo Strategy. Ini adalah strategi perdagangan BTC berdasarkan sistem Ichimoku Kinko Hyo dikombinasikan dengan indikator teknis lainnya.

Logika Strategi

Strategi ini terutama didasarkan pada sistem Ichimoku Kinko Hyo, yang menggabungkan beberapa indikator teknis untuk perdagangan tren.

Kijun Sen: Merupakan arah tren pasar. Ini adalah titik tengah harga tertinggi dan terendah selama 26 hari terakhir, bertindak sebagai garis dukungan dan resistensi.

Tenkan Sen: Mewakili momentum harga. Ini adalah titik tengah harga tertinggi dan terendah selama 9 hari terakhir, membantu menentukan titik masuk dan keluar terbaik.

Senkou Span A: Mewakili garis pertengahan Ichimoku. Ini adalah rata-rata Kijun Sen dan Tenkan Sen, bertindak sebagai garis peringatan Ichimoku.

Senkou Span B: Mewakili garis tren jangka panjang. Ini adalah titik tengah 52 hari terakhir. Membentuk awan Ichimoku untuk menentukan tren jangka panjang dan jangka pendek.

Selain itu, strategi ini juga menggabungkan indikator RSI untuk menghasilkan sinyal perdagangan di zona overbought dan oversold.

Sinyal beli dihasilkan ketika harga menutup pecah di atas Kijun Sen dan berada di atas awan. Sinyal jual dihasilkan ketika harga menutup pecah di bawah Kijun Sen dan berada di bawah awan.

Keuntungan

  1. Sistem Ichimoku secara akurat menentukan tren dengan tingkat kemenangan yang relatif tinggi.

  2. Penggabungan beberapa indikator menghindari kesempatan yang hilang.

  3. RSI secara efektif menentukan titik pembalikan.

  4. Cloud secara intuitif menyajikan tren jangka panjang dan jangka pendek.

Analisis Risiko

  1. Sistem Ichimoku memiliki keterlambatan tertentu, membutuhkan penggabungan indikator lain.

  2. Berfungsi sangat baik di pasar yang sedang tren tapi sederhana di pasar yang bervariatif.

  3. Parameter RSI perlu disesuaikan berdasarkan pasar.

  4. Konstruksi awan rumit yang membutuhkan manipulasi yang terampil.

Parameter Ichimoku dapat dioptimalkan atau lebih banyak indikator dapat ditambahkan.

Arahan Optimasi

  1. Mengoptimalkan parameter Ichimoku untuk menentukan tren lebih cepat.

  2. Tambahkan lebih banyak indikator seperti moving average untuk meningkatkan akurasi sinyal.

  3. Sesuaikan parameter RSI berdasarkan pasar yang berbeda.

  4. Pertimbangkan untuk menambahkan mekanisme stop loss untuk mengendalikan risiko.

Kesimpulan

Ichimoku dikombinasikan dengan indikator seperti RSI memiliki akurasi tinggi dalam menangkap tren kenaikan. ketinggalan Ichimoku dan ketidakcocokan di pasar rentang adalah risiko utama. penyesuaian parameter yang tepat dan menambahkan lebih banyak indikator dapat mengurangi risiko ini secara substansial, membuat strategi lebih solid dan dapat diandalkan.


/*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("My Ichimoku Strat v2", overlay=true,default_qty_type=strategy.fixed, default_qty_value=1, initial_capital=1000, currency=currency.EUR,commission_type=strategy.commission.percent,commission_value=0.05)
// === BACKTEST RANGE ===
FromMonth = input(defval = 3, title = "From Month", minval = 1)
FromDay   = input(defval = 1, title = "From Day", minval = 1)
FromYear  = input(defval = 2018, 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



//RSI
src = close, len = input(14, minval=1, title="RSI Length")
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
buyRSI = crossover(rsi,40) and close > TenkanSen and rsi[5]<30 and (rsi-rsi[1])>5
sellRSI = crossunder(rsi,60) and close < TenkanSen and rsi[5]>70 and (rsi[1]-rsi)>5
plotshape(buyRSI,style=shape.triangleup,color=lime,transp=0,location=location.belowbar,size=size.small)

sell= sell2 and sell3 or (sell1 and buyCompteur <= 8) or sellRSI
buy=buy2 and buy3 or (buy1 and sellCompteur <=8) or buyRSI
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))))

Lebih banyak