Sumber daya yang dimuat... Pemuatan...

Ichimoku Kumo Strategi Perdagangan

Penulis:ChaoZhang, Tanggal: 2024-05-29 17:23:36
Tag:

img

Gambaran umum

Strategi ini menggunakan indikator Ichimoku Kumo untuk menentukan tren pasar dan sinyal perdagangan. Strategi ini pergi panjang ketika harga berada di bawah awan Kumo dan pergi pendek ketika harga berada di atas awan Kumo. Strategi ini menggunakan indikator ATR untuk stop-loss dan mengkonfirmasi sinyal masuk dengan pecahnya garis Kijun-sen dan Senkou Span. Strategi ini bertujuan untuk menangkap peluang perdagangan dalam tren yang kuat sambil mengendalikan risiko.

Prinsip Strategi

  1. Gunakan garis Kijun-sen, Tenkan-sen, dan Senkou Span dari indikator Ichimoku untuk menentukan tren pasar.
  2. Menghasilkan sinyal panjang ketika harga penutupan berada di bawah garis Senkou Span dan garis Kijun-sen berada di atas awan Kumo.
  3. Menghasilkan sinyal pendek ketika harga penutupan berada di atas garis Senkou Span dan garis Kijun-sen berada di bawah awan Kumo.
  4. Perhitungkan posisi stop-loss menggunakan indikator ATR, yang merupakan titik tertinggi/terendah dari 5 lilin terakhir dikurangi/ditambah 3 kali ATR.
  5. Tutup posisi ketika harga melanggar level stop loss.

Keuntungan Strategi

  1. Strategi ini didasarkan pada indikator Ichimoku, yang memberikan analisis komprehensif tentang tren pasar.
  2. Strategi ini mempertimbangkan hubungan antara harga, garis Kijun-sen, dan garis Senkou Span, meningkatkan keandalan sinyal masuk.
  3. Menggunakan ATR untuk stop-loss memungkinkan penyesuaian posisi stop-loss secara dinamis, mengendalikan risiko dengan lebih baik.
  4. Pengaturan stop loss memperhitungkan volatilitas pasar, beradaptasi dengan kondisi pasar yang berbeda.

Risiko Strategi

  1. Strategi ini dapat menghasilkan banyak sinyal palsu di pasar yang bergolak, yang mengarah pada perdagangan yang sering dan kerugian modal.
  2. Kinerja strategi tergantung pada pemilihan parameter indikator Ichimoku, dan parameter yang berbeda dapat menghasilkan hasil perdagangan yang berbeda.
  3. Di pasar yang volatile, harga dapat dengan cepat melanggar posisi stop loss, menyebabkan slippage dan kerugian yang signifikan.

Arah Optimasi Strategi

  1. Memperkenalkan indikator teknis lainnya atau analisis harga-volume untuk membantu menentukan tren dan waktu masuk, meningkatkan akurasi sinyal.
  2. Mengoptimalkan pengaturan stop loss, seperti mempertimbangkan stop trailing atau stop loss bergerak, untuk lebih melindungi keamanan akun.
  3. Masukkan ukuran posisi ke dalam strategi, menyesuaikan ukuran setiap perdagangan berdasarkan volatilitas pasar dan risiko akun.
  4. Melakukan optimasi parameter pada strategi untuk menemukan kombinasi parameter yang paling cocok untuk kondisi pasar saat ini.

Ringkasan

Strategi ini menggunakan beberapa komponen dari indikator Ichimoku untuk menganalisis tren pasar secara komprehensif. Pada saat yang sama, strategi ini menggunakan stop-loss ATR untuk mengendalikan risiko, meningkatkan ketahanan strategi. Namun, strategi ini mungkin berkinerja buruk di berbagai pasar dan bergantung pada pemilihan parameter.


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


Lebih banyak