Strategi Mengikuti Trend Ichimoku Kinko Hyo


Tarikh penciptaan: 2023-11-24 14:38:47 Akhirnya diubah suai: 2023-11-24 14:38:47
Salin: 0 Bilangan klik: 653
1
fokus pada
1617
Pengikut

Strategi Mengikuti Trend Ichimoku Kinko Hyo

Gambaran keseluruhan

Strategi keseimbangan pertama adalah strategi pengesanan trend yang menggunakan indikator Ichimoku Kinko Hyo. Strategi ini menggabungkan pelbagai petunjuk untuk mengenal pasti arah trend, melakukan lebih banyak dalam pasaran lembu, melakukan kekurangan dalam pasaran beruang, dan mencapai peningkatan nilai jangka panjang dana.

Prinsip Strategi

Strategi ini adalah berdasarkan pada indikator Ichimoku Kinko Hyo. Ia terdiri daripada garis perpindahan ((Tenkan-Sen), garis dasar ((Kijun-Sen), garis depan ((Senkou-Span A), garis hadapan ((Senkou-Span B) dan garis kelewatan ((Chikou-Span).

Isyarat perdagangan untuk strategi ini datang dari gabungan syarat berikut:

  1. Isyarat berbilang arah pada garis putar
  2. Beralih ke bawah garis melintasi garis asas sebagai isyarat kosong
  3. Pengesahan garisan kelewatan ke atas sebagai multihead
  4. Pengesahan garisan kelewatan ke bawah sebagai kosong
  5. RSI lebih tinggi daripada 50
  6. RSI di bawah 50 adalah kosong
  7. Harga di atas carta awan
  8. Harga di bawah carta awan

Apabila syarat-syarat berbilang kepala di atas dipenuhi pada masa yang sama, buatlah kemasukan berbilang kepala; apabila syarat-syarat kosong di atas dipenuhi pada masa yang sama, buatlah kemasukan kosong.

Analisis kelebihan

Strategi ini digabungkan dengan trend tracking dan overbought oversold indicator untuk mengenal pasti arah trend secara berkesan. Kelebihan utamanya adalah sebagai berikut:

  1. Indeks Ichimoku Kinko Hyo mampu mengenal pasti trend jangka menengah dan jangka panjang, dan mengelakkan diri daripada disesatkan oleh bunyi pasaran jangka pendek.
  2. Gabungan RSI dengan indikator ini dapat menentukan kawasan yang terlalu terbeli dan terlalu terjual untuk mengelakkan kehilangan peluang untuk berbalik.
  3. Mengambil kira keadaan turun naik harga saham, hanya bermain apabila turun naiknya lebih tinggi, untuk mengelakkan perdagangan yang tidak berkesan.
  4. Sistem kemasukan dan keluar yang ketat untuk mengelakkan risiko.

Analisis risiko

Strategi ini juga mempunyai risiko yang perlu diperhatikan:

  1. Ichimoku Kinko Hyo menunjukkan ketinggalan dan mungkin menyebabkan penarikan lewat.
  2. Isyarat perdagangan gabungan berbilang syarat muncul dengan kekerapan yang rendah, yang boleh menyebabkan kurangnya jumlah transaksi.
  3. Tidak mempertimbangkan pengurusan dana dan pengurusan kedudukan, terdapat risiko perdagangan berlebihan.

Penyelesaian:

  1. Parameter Ichimoku Kinko Hyo dikurangkan dengan sewajarnya untuk meningkatkan kepekaan indikator.
  2. Menurunkan syarat kemasukan dan meningkatkan kekerapan transaksi.
  3. Menyertai modul pengurusan dana dan pengurusan kedudukan untuk mengawal peratusan dana dan kedudukan dalam satu transaksi.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dalam beberapa arah:

  1. Mengganti atau menggabungkan penunjuk lain, seperti KDJ, MACD dan lain-lain, untuk memperkaya sumber isyarat.
  2. Mengoptimumkan parameter Ichimoku Kinko Hyo untuk meningkatkan kepekaan indikator.
  3. Menambah strategi stop loss untuk mengunci keuntungan dan mengawal risiko.
  4. Tambah modul pengurusan kedudukan, menyesuaikan kedudukan secara dinamik mengikut saiz dana.
  5. Menambah modul jaminan jangka masa hadapan, menguruskan risiko jaminan jangka masa berganda.

ringkaskan

Strategi keseimbangan pada pandangan pertama secara keseluruhan adalah strategi pengesanan trend yang dipercayai dan mantap. Ia menyelesaikan masalah penting dalam perdagangan trend antara ketepatan pengenalan trend dan frekuensi perdagangan. Terdapat ruang untuk pengoptimuman melalui penyesuaian parameter dan pengembangan modul.

Kod sumber strategi
/*backtest
start: 2023-11-16 00:00:00
end: 2023-11-20 08:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Ichimoku Kinko Hyo: ETH 3h Strategy by tobuno", overlay=true)

//Inputs
ts_bars = input(22, minval=1, title="Tenkan-Sen Bars")
ks_bars = input(60, minval=1, title="Kijun-Sen Bars")
ssb_bars = input(120, minval=1, title="Senkou-Span B Bars")
cs_offset = input(30, minval=1, title="Chikou-Span Offset")
ss_offset = input(30, minval=1, title="Senkou-Span Offset")
long_entry = input(true, title="Long Entry")
short_entry = input(true, title="Short Entry")

//Volatility
vollength = input(defval=2, title="VolLength")
voltarget = input(defval=0.2, type=float, step=0.1, title="Volatility Target")
Difference = abs((close - open)/((close + open)/2) * 100)
MovingAverage = sma(Difference, vollength)
highvolatility = MovingAverage > voltarget

////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE
 
// From Date Inputs
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2019, title = "From Year", minval = 1970)
 
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2020, title = "To Year", minval = 1970)
 
// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
 
////////////////////////////////////////////////////////////////////////////////

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

// Ichimoku Components
tenkan = middle(ts_bars)
kijun = middle(ks_bars)
senkouA = avg(tenkan, kijun)
senkouB = middle(ssb_bars)

//RSI
change = change(close)
gain = change >= 0 ? change : 0.0
loss = change < 0 ? (-1) * change : 0.0
avgGain = rma(gain, 14)
avgLoss = rma(loss, 14)
rs = avgGain / avgLoss
rsi = 100 - (100 / (1 + rs))

// Plot Ichimoku Kinko Hyo
plot(tenkan, color=#0496ff, title="Tenkan-Sen")
plot(kijun, color=#991515, title="Kijun-Sen")
plot(close, offset=-cs_offset+1, color=#459915, title="Chikou-Span")
sa=plot(senkouA, offset=ss_offset-1, color=green, title="Senkou-Span A")
sb=plot(senkouB, offset=ss_offset-1, color=red, title="Senkou-Span B")
fill(sa, sb, color = senkouA > senkouB ? green : red, title="Cloud color")

ss_high = max(senkouA[ss_offset-1], senkouB[ss_offset-1])
ss_low = min(senkouA[ss_offset-1], senkouB[ss_offset-1])

// Entry/Exit Signals
tk_cross_bull = tenkan > kijun
tk_cross_bear = tenkan < kijun
cs_cross_bull = mom(close, cs_offset-1) > 0
cs_cross_bear = mom(close, cs_offset-1) < 0
price_above_kumo = close > ss_high
price_below_kumo = close < ss_low
rsi_bullish = rsi > 50
rsi_bearish = rs < 50
bullish = tk_cross_bull and cs_cross_bull and price_above_kumo and rsi_bullish and highvolatility
bearish = tk_cross_bear and cs_cross_bear and price_below_kumo and rsi_bearish and highvolatility

strategy.entry("Long", strategy.long, when=bullish and long_entry and time_cond)
strategy.entry("Short", strategy.short, when=bearish and short_entry and time_cond)

strategy.close("Long", when=bearish and not short_entry and time_cond)
strategy.close("Short", when=bullish and not long_entry and time_cond)