Chiến lược kết hợp đám mây Ichimoku và RSI

Tác giả:ChaoZhang, Ngày: 2023-09-21 10:52:13
Tags:

Tổng quan

Chiến lược này kết hợp các chỉ số Ichimoku Cloud và Relative Strength Index (RSI) để xác định hướng xu hướng và nhập vị trí khi xu hướng bắt đầu.

Chiến lược logic

  1. Tính toán đường Tenkan-sen, Kijun-sen, Chikou Span của đám mây Ichimoku
  2. Tính toán các giá trị RSI
  3. Đi dài khi Tenkan-sen vượt trên Kijun-sen, Chikou Span vượt trên mây, giá phá vỡ trên mây và chỉ số RSI dưới 50
  4. Đi ngắn khi Tenkan-sen vượt qua dưới Kijun-sen, Chikou Span dưới mây, giá phá vỡ mây và RSI trên 50
  5. Vị trí đóng khi có tín hiệu ngược

Cụ thể, nó kết hợp phân tích xu hướng của Ichimoku Cloud và chỉ số RSI. Các tín hiệu đầu vào được tạo ra khi các đường Ichimoku thẳng hàng trong quá trình hình thành xu hướng bắt đầu, và RSI không hiển thị tình trạng quá mua quá bán. Các bộ lọc RSI giúp tránh đột phá sai trong quá trình củng cố.

Phân tích lợi thế

  1. Kết hợp RSI cải thiện độ chính xác đầu vào
  2. Ichimoku Cloud có xu hướng mạnh mẽ sau dung lượng
  3. Các tín hiệu đơn giản và trực quan
  4. Các thông số tùy chỉnh phù hợp với các chu kỳ khác nhau
  5. Rủi ro được quản lý bằng cách dừng lợi nhuận/mất lỗ

Phân tích rủi ro

  1. Đám mây Ichimoku có thể bị chậm, gây ra sự đột phá giả
  2. Yêu cầu tối ưu hóa tham số, nếu không tín hiệu không chính xác
  3. Việc nắm giữ dài mang lại rủi ro qua đêm
  4. RSI dễ bị tín hiệu sai
  5. Nguy cơ bị mắc kẹt trong sự đảo ngược

Các rủi ro có thể được quản lý thông qua tối ưu hóa tham số, điều chỉnh dừng lợi nhuận / lỗ, giới hạn thời gian nắm giữ vv.

Hướng dẫn tối ưu hóa

  1. Kiểm tra các thông số đường và RSI khác nhau để kết hợp tốt nhất
  2. Đưa ra stop loss
  3. Đánh giá hạn chế giờ giao dịch
  4. Ưu tiên tham số nghiên cứu trên các sản phẩm
  5. Kiểm tra các quy tắc cộng nhập lại và hình kim tự tháp
  6. So sánh các chiến lược dừng lợi nhuận / lỗ khác nhau

Tóm lại

Chiến lược này kết hợp Ichimoku Cloud và RSI để phân tích xu hướng và giao dịch. Ưu điểm là các tín hiệu trực quan đơn giản và ROI cao; nhược điểm là sự chậm trễ và rủi ro bị mắc kẹt. Hiệu suất có thể được cải thiện và rủi ro được kiểm soát thông qua tối ưu hóa tham số, điều chỉnh dừng lợi nhuận / lỗ, kiểm soát giờ giao dịch v.v. Nó cho phép hiểu biết toàn diện về ứng dụng Ichimoku Cloud.


/*backtest
start: 2022-09-14 00:00:00
end: 2023-09-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Coinrule

//@version=5
strategy("Ichimoku Cloud with RSI (By Coinrule)",
         overlay=true,
         initial_capital=1000,
         process_orders_on_close=true,
         default_qty_type=strategy.percent_of_equity,
         default_qty_value=30,
         commission_type=strategy.commission.percent,
         commission_value=0.1)

showDate = input(defval=true, title='Show Date Range')
timePeriod = time >= timestamp(syminfo.timezone, 2022, 6, 1, 0, 0)


// RSI inputs and calculations
lengthRSI = 14
RSI = ta.rsi(close, lengthRSI)


//Inputs
ts_bars = input.int(9, minval=1, title="Tenkan-Sen Bars")
ks_bars = input.int(26, minval=1, title="Kijun-Sen Bars")
ssb_bars = input.int(52, minval=1, title="Senkou-Span B Bars")
cs_offset = input.int(26, minval=1, title="Chikou-Span Offset")
ss_offset = input.int(26, minval=1, title="Senkou-Span Offset")
long_entry = input(true, title="Long Entry")
short_entry = input(true, title="Short Entry")

middle(len) => math.avg(ta.lowest(len), ta.highest(len))


// Components of Ichimoku Cloud
tenkan = middle(ts_bars)
kijun = middle(ks_bars)
senkouA = math.avg(tenkan, kijun)
senkouB = middle(ssb_bars)


// Plot Ichimoku Cloud
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=color.green, title="Senkou-Span A")
sb=plot(senkouB, offset=ss_offset-1, color=color.red, title="Senkou-Span B")
fill(sa, sb, color = senkouA > senkouB ? color.green : color.red, title="Cloud color")

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 Conditions
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 and RSI < 50 and timePeriod)
strategy.close("Long", when=bearish and not short_entry)

strategy.entry("Short", strategy.short, when=bearish and short_entry and RSI > 50 and timePeriod)
strategy.close("Short", when=bullish and not long_entry)

Thêm nữa