Indikator Ichimoku Kinko Hyo Strategi Trend Keseimbangan

Penulis:ChaoZhang, Tarikh: 2023-11-24 14:38:47
Tag:

img

Ringkasan

Strategi Trend Balancing adalah strategi trend berikut yang menggunakan penunjuk Ichimoku Kinko Hyo. Ia mengenal pasti arah trend dengan menggabungkan beberapa penunjuk, pergi lama di pasaran lembu dan pergi pendek di pasaran beruang, untuk mencapai penghargaan modal jangka panjang.

Prinsip Strategi

Inti strategi ini adalah berdasarkan penunjuk Ichimoku Kinko Hyo, yang terdiri daripada Tenkan-Sen (Garis Penukaran), Kijun-Sen (Garis Asas), Senkou Span A (Leading Span A), Senkou Span B (Leading Span B) dan Chikou Span (Lagging Span).

Isyarat dagangan dihasilkan berdasarkan gabungan keadaan berikut:

  1. Tenkan-Sen melintasi di atas Kijun-Sen sebagai isyarat kenaikan
  2. Tenkan-Sen melintasi di bawah Kijun-Sen sebagai isyarat penurunan
  3. Chikou Span crossover ke atas sebagai pengesahan menaik
  4. Chikou Span crossover ke bawah sebagai pengesahan penurunan
  5. RSI di atas 50 sebagai penunjuk kenaikan
  6. RSI di bawah 50 sebagai penunjuk penurunan
  7. Harga di atas awan menunjukkan trend menaik
  8. Harga di bawah awan menunjukkan trend menurun

Ia pergi panjang apabila semua keadaan menaik dipenuhi dan pergi pendek apabila semua keadaan menurun dipenuhi.

Analisis Kelebihan

Strategi ini menggabungkan penunjuk trend berikut dan overbought-oversold untuk mengenal pasti arah trend dengan berkesan.

  1. Ichimoku Kinko Hyo dapat mengenal pasti trend jangka menengah hingga panjang, mengelakkan tertipu oleh bunyi pasaran jangka pendek.
  2. Menggabungkan RSI membantu menentukan zon overbought dan oversold, mengelakkan peluang pembalikan yang hilang.
  3. Hanya bertindak apabila turun naik cukup tinggi, mengelakkan perdagangan yang tidak berkesan.
  4. Peraturan kemasukan dan keluar yang ketat mengurangkan risiko sebanyak mungkin.

Analisis Risiko

Beberapa risiko yang perlu diperhatikan untuk strategi ini:

  1. Ichimoku Kinko Hyo mempunyai kesan kelewatan, mungkin melambatkan masa kemasukan.
  2. Kekerapan rendah kejadian isyarat perdagangan dengan kombinasi pelbagai keadaan, yang membawa kepada jumlah dagangan yang tidak mencukupi.
  3. Tiada pertimbangan mengenai saiz kedudukan dan pengurusan risiko, risiko mengenai perdagangan berlebihan.

Penyelesaian yang sepadan:

  1. Memendekkan parameter Ichimoku untuk meningkatkan kepekaan.
  2. Mengurangkan ketegasan syarat kemasukan untuk meningkatkan kekerapan perdagangan.
  3. Menggabungkan modul pengurusan risiko dan saiz kedudukan untuk mengawal pendedahan risiko perdagangan dan kedudukan keseluruhan.

Arahan pengoptimuman

Strategi ini boleh ditingkatkan dalam aspek berikut:

  1. Tambah atau gabungkan penunjuk tambahan seperti KDJ, MACD untuk mempelbagaikan sumber isyarat.
  2. Mengoptimumkan parameter Ichimoku untuk meningkatkan kepekaan.
  3. Tambah mekanisme stop loss untuk mengunci keuntungan dan mengawal risiko.
  4. Memasukkan modul pengukuran kedudukan dinamik berdasarkan saiz akaun.
  5. Tambah modul lindung nilai untuk menguruskan risiko untuk kedudukan panjang.

Ringkasan

Secara keseluruhan strategi Trend Balancing ini adalah sistem trend yang boleh dipercayai dan kukuh. Ia menangani cabaran utama dalam perdagangan trend - tepatnya pengenalan trend keseimbangan dan kekerapan penjanaan perdagangan. Masih ada ruang untuk peningkatan melalui penyesuaian parameter dan pengembangan modul. Ia adalah strategi yang boleh digunakan untuk jangka panjang.


/*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)


Lebih lanjut