Strategi mengikut aliran berdasarkan Ichimoku Kinko Hyo


Tarikh penciptaan: 2023-12-11 15:00:29 Akhirnya diubah suai: 2023-12-11 15:00:29
Salin: 0 Bilangan klik: 666
1
fokus pada
1621
Pengikut

Strategi mengikut aliran berdasarkan Ichimoku Kinko Hyo

Gambaran keseluruhan

Strategi ini direka berdasarkan petunjuk teknikal Ichimoku, menggunakan trend tracking dan pendekatan perdagangan yang menyeimbangkan untuk menangkap trend harga garis tengah dan panjang dan mencapai keuntungan yang stabil.

Prinsip Strategi

Strategi ini menggunakan lima garis pada carta keseimbangan pertama - garis pijakan, garis rujukan, garis hadapan, garis utama, dan garis kelewatan, untuk menilai trend harga dan rintangan sokongan. Peraturan penilaian khusus adalah seperti berikut:

  1. Apabila harga penutupan melintasi garis rujukan dan garis rujukan bergerak tidak biasa, menghasilkan isyarat beli.
  2. Apabila harga penutupan melintasi garis rujukan dan garis rujukan bergerak tidak biasa, ia menghasilkan isyarat menjual.
  3. Liquiditi lebih baik apabila harga penutupan lebih tinggi daripada harga awan.
  4. Apabila harga penutupan berada di bawah paras paras awan, kecairan lebih rendah, dan tidak dibenarkan untuk membina gudang.
  5. Penembusan harga pada garisan penangguhan menghasilkan isyarat beli.
  6. Penurunan harga penutupan bawah garis penangguhan menghasilkan isyarat menjual.

Setelah menilai semua isyarat perdagangan di atas, keputusan akhir mengenai masa masuk akan dibuat.

Analisis kelebihan

Strategi ini mempunyai kelebihan berikut:

  1. Menggunakan carta keseimbangan untuk menilai trend, menapis bunyi pasaran, dan mengunci trend garis tengah dan panjang.
  2. Mengambil kira keadaan kecairan, ia boleh mengelakkan risiko simpanan.
  3. Garis kelewatan sebagai isyarat pengesahan untuk mengelakkan penembusan palsu.
  4. Peraturan-peraturan ini mudah difahami dan mudah dilaksanakan.

Analisis risiko

Strategi ini juga mempunyai risiko:

  1. Tetapan parameter yang tidak betul boleh menyebabkan peluang perdagangan yang hilang.
  2. Jika trend mutate, ia akan menyebabkan kerugian yang tidak dapat dihentikan dalam masa.
  3. Lebih besar risiko kerugian daripada memegang lebih banyak mata wang.

Untuk risiko di atas, ia boleh diselesaikan dengan menetapkan parameter pengoptimuman, menilai perubahan trend, dan menghentikan kerugian ketat dalam kombinasi dengan petunjuk lain.

Arah pengoptimuman

Strategi ini juga boleh dioptimumkan dengan:

  1. Mengoptimumkan parameter pada jadual keseimbangan untuk mencari kombinasi terbaik.
  2. Menambah penapis untuk penunjuk kuantiti dan harga untuk mengelakkan trend yang salah.
  3. Kaedah ini digunakan untuk menilai titik balik dengan menggunakan indikator kadar turun naik.
  4. Menyertai model pembelajaran mesin untuk menilai keadaan trend.

ringkaskan

Strategi ini menggunakan tabel keseimbangan untuk menilai trend harga dan keadaan kecairan, menggunakan mod pengesanan trend, dapat menyaring bunyi bising dengan berkesan untuk menangkap trend garis tengah, risiko penarikan balik yang lebih kecil, sesuai untuk memegang posisi garis tengah. Dengan mengoptimumkan lagi parameter, menambah penapis tambahan, dan menggali isyarat perubahan trend, anda dapat meningkatkan Faktor Keuntungan strategi.

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