Sumber dimuat naik... memuat...

Ichimoku Kumo Strategi Dagangan

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

img

Ringkasan

Strategi ini menggunakan penunjuk Ichimoku Kumo untuk menentukan trend pasaran dan isyarat perdagangan. Strategi ini pergi lama apabila harga berada di bawah awan Kumo dan pergi pendek apabila harga berada di atas awan Kumo. Strategi ini menggunakan penunjuk ATR untuk stop-loss dan mengesahkan isyarat kemasukan dengan pecah garis Kijun-sen dan Senkou Span. Strategi ini bertujuan untuk menangkap peluang perdagangan dalam trend yang kuat sambil mengawal risiko.

Prinsip Strategi

  1. Gunakan garis Kijun-sen, Tenkan-sen, dan Senkou Span dari penunjuk Ichimoku untuk menentukan trend pasaran.
  2. Menghasilkan isyarat panjang apabila harga penutupan di bawah garis Senkou Span dan garis Kijun-sen di atas awan Kumo.
  3. Menghasilkan isyarat pendek apabila harga penutupan di atas garis Senkou Span dan garis Kijun-sen di bawah awan Kumo.
  4. Mengira kedudukan stop-loss menggunakan penunjuk ATR, yang merupakan titik tertinggi/terendah daripada 5 lilin terakhir tolak/tambah 3 kali ATR.
  5. Tutup kedudukan apabila harga melanggar paras stop loss.

Kelebihan Strategi

  1. Strategi ini berdasarkan kepada penunjuk Ichimoku, yang memberikan analisis komprehensif mengenai trend pasaran.
  2. Strategi ini mempertimbangkan hubungan antara harga, garisan Kijun-sen, dan garisan Senkou Span, meningkatkan kebolehpercayaan isyarat kemasukan.
  3. Menggunakan ATR untuk stop-loss membolehkan penyesuaian dinamik kedudukan stop-loss, mengawal risiko dengan lebih baik.
  4. Tetapan stop loss mengambil kira turun naik pasaran, menyesuaikan diri dengan keadaan pasaran yang berbeza.

Risiko Strategi

  1. Strategi ini boleh menghasilkan banyak isyarat palsu di pasaran yang bergelombang, yang membawa kepada perdagangan yang kerap dan kerugian modal.
  2. Prestasi strategi bergantung kepada pemilihan parameter indikator Ichimoku, dan parameter yang berbeza boleh menghasilkan hasil perdagangan yang berbeza.
  3. Dalam pasaran yang tidak menentu, harga boleh dengan cepat melanggar kedudukan stop-loss, menyebabkan seluncur dan kerugian yang ketara.

Arahan Pengoptimuman Strategi

  1. Memperkenalkan penunjuk teknikal lain atau analisis harga-volume untuk membantu menentukan trend dan masa kemasukan, meningkatkan ketepatan isyarat.
  2. Mengoptimumkan tetapan stop-loss, seperti mempertimbangkan stop-loss yang tertinggal atau stop-loss yang bergerak, untuk melindungi keselamatan akaun dengan lebih baik.
  3. Memasukkan ukuran kedudukan ke dalam strategi, menyesuaikan saiz setiap perdagangan berdasarkan turun naik pasaran dan risiko akaun.
  4. Melakukan pengoptimuman parameter pada strategi untuk mencari kombinasi parameter yang paling sesuai untuk keadaan pasaran semasa.

Ringkasan

Strategi ini menggunakan pelbagai komponen penunjuk Ichimoku untuk menganalisis trend pasaran secara komprehensif. Pada masa yang sama, strategi menggunakan ATR stop-loss untuk mengawal risiko, meningkatkan ketahanan strategi. Walau bagaimanapun, strategi mungkin kurang berprestasi di pasaran yang berbeza 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 lanjut