Indikator Ichimoku Kinko Hyo Strategi Tren Balancing

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

img

Gambaran umum

Strategi Trend Balancing adalah strategi trend following yang memanfaatkan indikator Ichimoku Kinko Hyo. Strategi ini mengidentifikasi arah tren dengan menggabungkan beberapa indikator, pergi panjang di pasar bull dan pergi pendek di pasar bear, untuk mencapai apresiasi modal jangka panjang.

Prinsip Strategi

Inti dari strategi ini didasarkan pada indikator Ichimoku Kinko Hyo, yang terdiri dari Tenkan-Sen (Garis Konversi), Kijun-Sen (Garis Dasar), Senkou Span A (Leading Span A), Senkou Span B (Leading Span B) dan Chikou Span (Lagging Span).

Sinyal perdagangan dihasilkan berdasarkan kombinasi dari kondisi berikut:

  1. Tenkan-Sen melintasi atas Kijun-Sen sebagai sinyal bullish
  2. Tenkan-Sen melintasi bawah Kijun-Sen sebagai sinyal penurunan
  3. Chikou Span crossover ke atas sebagai konfirmasi bullish
  4. Chikou Span crossover ke bawah sebagai konfirmasi bearish
  5. RSI di atas 50 sebagai indikator bullish
  6. RSI di bawah 50 sebagai indikator penurunan
  7. Harga di atas awan menunjukkan tren naik
  8. Harga di bawah awan menunjukkan tren penurunan

Ini pergi panjang ketika semua kondisi bullish terpenuhi dan pergi pendek ketika semua kondisi bearish terpenuhi.

Analisis Keuntungan

Strategi ini menggabungkan indikator trend berikut dan overbought-oversold untuk secara efektif mengidentifikasi arah tren.

  1. Ichimoku Kinko Hyo dapat mengidentifikasi tren jangka menengah hingga jangka panjang, menghindari tertipu oleh kebisingan pasar jangka pendek.
  2. Menggabungkan RSI membantu menentukan zona overbought dan oversold, mencegah kesempatan pembalikan yang hilang.
  3. Hanya bertindak ketika volatilitas cukup tinggi, menghindari perdagangan yang tidak efektif.
  4. Aturan masuk dan keluar yang ketat meminimalkan risiko.

Analisis Risiko

Beberapa risiko yang perlu diperhatikan untuk strategi ini:

  1. Ichimoku Kinko Hyo memiliki efek keterlambatan, mungkin menunda waktu masuk.
  2. Frekuensi rendah munculnya sinyal perdagangan dengan kombinasi beberapa kondisi, yang mengarah pada jumlah perdagangan yang tidak cukup.
  3. Tidak ada pertimbangan di sekitar ukuran posisi dan manajemen risiko, risiko di sekitar over-trading.

Solusi yang sesuai:

  1. Singkatkan parameter Ichimoku untuk meningkatkan sensitivitas.
  2. Mengurangi ketatnya kondisi masuk untuk meningkatkan frekuensi perdagangan.
  3. Mengintegrasikan modul manajemen risiko dan ukuran posisi untuk mengontrol eksposur risiko per perdagangan dan posisi keseluruhan.

Arahan Optimasi

Strategi ini dapat ditingkatkan dalam hal berikut:

  1. Tambahkan atau gabungkan indikator tambahan seperti KDJ, MACD untuk mendiversifikasi sumber sinyal.
  2. Mengoptimalkan parameter Ichimoku untuk meningkatkan sensitivitas.
  3. Tambahkan mekanisme stop loss untuk mengunci keuntungan dan mengendalikan risiko.
  4. Mengintegrasikan modul pengukuran posisi dinamis berdasarkan ukuran akun.
  5. Tambahkan modul lindung nilai untuk mengelola risiko untuk posisi panjang.

Ringkasan

Secara keseluruhan, strategi Balancing Trend ini adalah sistem trend yang dapat diandalkan dan kuat. Ini mengatasi tantangan utama dalam perdagangan tren - akurasi identifikasi tren dan frekuensi pembuatan perdagangan. Masih ada ruang untuk perbaikan melalui penyesuaian parameter dan perluasan modul. Ini adalah strategi yang dapat diterapkan 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 banyak