Strategi Perdagangan Ichimoku Kumo


Tanggal Pembuatan: 2024-05-29 17:23:36 Akhirnya memodifikasi: 2024-05-29 17:23:36
menyalin: 3 Jumlah klik: 581
1
fokus pada
1617
Pengikut

Strategi Perdagangan Ichimoku Kumo

Ringkasan

Strategi ini menggunakan indikator Ichimoku Kumo untuk menilai tren pasar dan sinyal perdagangan. Strategi ini melakukan lebih banyak di bawah awan Kumo dan melakukan lebih banyak di atas awan Kumo. Strategi ini menggunakan indikator ATR sebagai stop loss, sementara menggunakan terobosan pada garis Kijun-sen dan garis Span Senkou sebagai konfirmasi sinyal masuk. Strategi ini mencoba untuk menangkap peluang perdagangan dalam tren yang kuat sambil mengendalikan risiko.

Prinsip Strategi

  1. Garis Kijun-sen, Tenkan-sen dan Senkou Span dalam indikator Ichimoku digunakan untuk menilai tren pasar.
  2. Ketika harga tutup berada di bawah garis Senkou Span dan garis Kijun-sen berada di atas awan Kumo, maka akan dihasilkan sinyal do do.
  3. Ketika harga close out berada di atas garis Senkou Span dan garis Kijun-sen berada di bawah awan Kumo, sinyal shorting akan dihasilkan.
  4. Menggunakan indikator ATR untuk menghitung posisi stop loss, posisi stop loss adalah 5 garis K paling dekat dengan titik tertinggi/terendah dikurangi/ditambah 3 kali ATR.
  5. Ketika harga menembus posisi stop loss, posisi kosong akan keluar.

Keunggulan Strategis

  1. Strategi ini didasarkan pada indikator Ichimoku, yang mampu menganalisis tren pasar secara menyeluruh.
  2. Strategi ini juga mempertimbangkan hubungan harga dengan Jalur Kijun-sen dan Jalur Senkou Span untuk meningkatkan keandalan sinyal masuk.
  3. Menggunakan ATR sebagai stop loss, dapat secara dinamis menyesuaikan posisi stop loss untuk mengendalikan risiko dengan lebih baik.
  4. Pengaturan posisi stop loss mempertimbangkan volatilitas pasar dan dapat beradaptasi dengan kondisi pasar yang berbeda.

Risiko Strategis

  1. Strategi ini dapat menghasilkan lebih banyak sinyal palsu di pasar yang bergoyang, yang menyebabkan lebih banyak transaksi dan kehilangan dana.
  2. Kinerja strategi tergantung pada pilihan parameter indikator Ichimoku, yang dapat menghasilkan hasil perdagangan yang berbeda.
  3. Dalam situasi yang ekstrim, harga dapat dengan cepat menembus posisi stop loss, menyebabkan slippage dan kerugian yang lebih besar.

Arah optimasi strategi

  1. Memperkenalkan indikator teknis atau analisis kuantitatif lainnya untuk membantu menilai tren dan waktu masuk, meningkatkan akurasi sinyal.
  2. Mengoptimalkan pengaturan posisi stop loss, seperti mempertimbangkan untuk menggunakan tracking stop loss atau move stop loss untuk lebih melindungi keamanan akun.
  3. Menambahkan manajemen posisi ke dalam strategi, menyesuaikan ukuran posisi untuk setiap transaksi sesuai dengan volatilitas pasar dan risiko akun.
  4. Optimalkan parameter strategi untuk menemukan kombinasi parameter yang paling sesuai dengan kondisi pasar saat ini.

Meringkaskan

Strategi ini menggunakan beberapa komponen dari indikator Ichimoku untuk melakukan analisis menyeluruh tentang tren pasar. Pada saat yang sama, strategi ini menggunakan ATR stop loss untuk mengendalikan risiko dan meningkatkan kehandalan strategi. Namun, strategi ini mungkin berkinerja buruk di pasar yang bergolak dan bergantung pada pilihan parameter.

Kode Sumber Strategi
/*backtest
start: 2024-04-01 00:00:00
end: 2024-04-30 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © muratatilay

//@version=5
strategy(
     "Kumo Trade Concept", 
     overlay=true,
     initial_capital=10000,
     currency=currency.USDT,
     default_qty_type=strategy.percent_of_equity, 
     default_qty_value=30,
     commission_type=strategy.commission.percent,
     commission_value=0.1,
     margin_long=10, 
     margin_short=10)


// ICHIMOKU Lines 
//  INPUTS
tenkanSenPeriods = input.int(9, minval=1, title="Tenkan-sen")
kijunSenPeriods = input.int(26, minval=1, title="Kijun-sen")
senkouBPeriod = input.int(52, minval=1, title="Senkou span B")
displacement = input.int(26, minval=1, title="Chikou span")

donchian(len) => math.avg(ta.lowest(len), ta.highest(len))
tenkanSen = donchian(tenkanSenPeriods)
kijunSen = donchian(kijunSenPeriods)
senkouA = math.avg(tenkanSen, kijunSen)
senkouB = donchian(senkouBPeriod)

// Other Indicators
float   atrValue    = ta.atr(5)

// Calculate Senkou Span A 25 bars back
senkouA_current = math.avg(tenkanSen[25], kijunSen[25])
// Calculate Senkou Span B 25 bars back
senkouB_current = math.avg(ta.highest(senkouBPeriod)[25], ta.lowest(senkouBPeriod)[25])

// Kumo top bottom 
senkou_max = (senkouA_current >= senkouB_current) ? senkouA_current : senkouB_current
senkou_min = (senkouB_current >= senkouA_current) ? senkouA_current : senkouB_current

// Trade Setups
long_setup = (kijunSen > senkou_max) and (close < senkou_min) 
short_setup = (kijunSen < senkou_min ) and ( close > senkou_max ) 

// Check long_setup for the last 10 bars
long_setup_last_10 = false
for i = 0 to 50
    if long_setup[i]
        long_setup_last_10 := true
short_setup_last_10 = false
for i = 0 to 50
    if short_setup[i]
        short_setup_last_10 := true


closeSenkouCross = (close > senkou_max) and barstate.isconfirmed 
closeKijunCross = (close > kijunSen ) 

senkouCloseCross = close < senkou_min
kijunCloseCross = close < kijunSen


// Handle Trades
// Enter Trade
var float trailStopLong = na
var float trailStopShort = na
if ( closeSenkouCross and long_setup_last_10 and closeKijunCross ) 
    strategy.entry(id="Buy", direction = strategy.long)
    trailStopLong := na
if senkouCloseCross and short_setup_last_10 and kijunCloseCross
    strategy.entry(id="Sell", direction = strategy.short)
    trailStopShort := na


// Update trailing stop
float temp_trailStop_long = ta.highest(high, 5) - (atrValue * 3)
float temp_trailStop_short = ta.lowest(low, 5) + (atrValue * 3)
if strategy.position_size > 0
    if temp_trailStop_long > trailStopLong or na(trailStopLong)
        trailStopLong := temp_trailStop_long
if strategy.position_size < 0
    if temp_trailStop_short < trailStopShort or na(trailStopShort)
        trailStopShort := temp_trailStop_short

// Handle strategy exit
if close < trailStopLong and barstate.isconfirmed
    strategy.close("Buy", comment="Stop Long")
if close > trailStopShort and barstate.isconfirmed
    strategy.close("Sell", comment="Stop Short")


// PRINT ON CHART
plot(kijunSen, color=color.rgb(214, 58, 30), title="Kijun-sen", linewidth=2)
p1 = plot(senkouA, offset=displacement - 1, color=#A5D6A7, title="Senkou span A")
p2 = plot(senkouB, offset=displacement - 1, color=#EF9A9A, title="Senkou Span B")
fill(p1, p2, color=senkouA > senkouB ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90))
// PRINT SETUPS
plotshape(long_setup , style=shape.circle, color=color.green, location=location.belowbar, size=size.small)
plotshape(short_setup, style=shape.circle, color=color.red, location=location.abovebar, size=size.small)

// Trail Stop
plot(strategy.position_size[1] > 0 ? trailStopLong : na, style=plot.style_linebr, color=color.purple, title="Stop Loss")
plot(strategy.position_size[1] < 0 ? trailStopShort : na, style=plot.style_linebr, color=color.purple, title="Stop Loss")