Chiến lược được đặt tên là
Tính toán các thành phần của chỉ số Ichimoku Kinko Hyo:
Xác định tín hiệu dài:
Xác định tín hiệu ngắn:
Chiến lược này xác định hướng xu hướng chính xác bằng cách sử dụng các chỉ số Ichimoku Kinko Hyo và lấy tín hiệu đột phá làm điểm vào và ra, cho phép giao dịch dài và ngắn. So với các chiến lược chỉ số duy nhất, nó có độ chính xác cao hơn và tránh nhiều tín hiệu sai. Ngoài ra còn có một số trễ trong việc nắm bắt giá nhập tốt nhất.
/*backtest start: 2023-01-09 00:00:00 end: 2024-01-15 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy('Ichimoku Kinko Hyo: Basic Strategy', overlay=true) //Inputs ts_bars = input.int(7, minval=1, title='Tenkan-Sen Bars') ks_bars = input.int(14, minval=1, title='Kijun-Sen Bars') ssb_bars = input.int(28, minval=1, title='Senkou-Span B Bars') cs_offset = input.int(14, minval=1, title='Chikou-Span Offset') ss_offset = input.int(14, minval=1, title='Senkou-Span Offset') long_entry = input(true, title='Long Entry') short_entry = input(false, title='Short Entry') middle(len) => math.avg(ta.lowest(len), ta.highest(len)) // Ichimoku Components tenkan = middle(ts_bars) kijun = middle(ks_bars) senkouA = math.avg(tenkan, kijun) senkouB = middle(ssb_bars) // Plot Ichimoku Kinko Hyo plot(tenkan, color=color.new(#0496ff, 0), title='Tenkan-Sen') plot(kijun, color=color.new(#991515, 0), title='Kijun-Sen') plot(close, offset=-cs_offset + 1, color=color.new(#459915, 0), title='Chikou-Span') sa = plot(senkouA, offset=ss_offset - 1, color=color.new(color.green, 0), title='Senkou-Span A') sb = plot(senkouB, offset=ss_offset - 1, color=color.new(color.red, 0), title='Senkou-Span B') fill(sa, sb, color=senkouA > senkouB ? color.green : color.red, title='Cloud color', transp=90) ss_high = math.max(senkouA[ss_offset - 1], senkouB[ss_offset - 1]) ss_low = math.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 = ta.mom(close, cs_offset - 1) > 0 cs_cross_bear = ta.mom(close, cs_offset - 1) < 0 price_above_kumo = close > ss_high price_below_kumo = close < ss_low bullish = tk_cross_bull and cs_cross_bull and price_above_kumo bearish = tk_cross_bear and cs_cross_bear and price_below_kumo strategy.entry('Long', strategy.long, when=bullish and long_entry) strategy.entry('Short', strategy.short, when=bearish and short_entry) strategy.close('Long', when=bearish and not short_entry) strategy.close('Short', when=bullish and not long_entry)