Chiến lược Kairou là một chiến lược giao dịch định lượng tích hợp nhiều chỉ số kỹ thuật bao gồm Ichimoku Cloud, MACD, dòng tiền Chaikin (CMF) và Chỉ số Sức mạnh Thực (TSI).
Ý tưởng cốt lõi của chiến lược Kairou là kết hợp các tín hiệu dài / ngắn của Ichimoku Cloud, chỉ số dài / ngắn của MACD, chỉ số dòng vốn của CMF và chỉ số sức mạnh của TSI để đánh giá xu hướng thị trường, khu vực mua quá nhiều và bán quá nhiều. Ichimoku Cloud có thể xác định rõ hướng xu hướng và hỗ trợ / kháng cự chính; MACD phản ánh sự tương phản của sức mua / bán và hiện tượng mua quá nhiều / bán quá nhiều; CMF đánh giá dòng vốn chảy vào và chảy ra; TSI cho thấy sức mua và bán thực sự của thị trường.
Cụ thể, chiến lược đưa ra đánh giá chủ yếu dựa trên các chỉ số sau:
Khi 5 điều kiện trên được đáp ứng cùng một lúc, một tín hiệu dài được tạo ra; Khi các điều kiện như đường Tenkan băng qua dưới đường Kijun được đảo ngược, một tín hiệu ngắn được tạo ra.
Chiến lược này kết hợp các điều kiện dài và ngắn của nhiều chỉ số để tránh tiếng ồn gây ra bởi các phán quyết chỉ số duy nhất. Đồng thời, bằng cách sử dụng Ichimoku Cloud để xác định các khu vực hỗ trợ và kháng cự chính và kết hợp hướng bóng của khoảng cách tụt lại để xác định hướng lưu lượng vốn thực tế, có thể bước vào giai đoạn sau của xu hướng và thoát ra tại các điểm chính trước đó, do đó có lợi nhuận lớn hơn.
Ưu điểm lớn nhất của chiến lược Kairou là nó sử dụng toàn diện nhiều chỉ số để đánh giá các hiện tượng mua quá mức / bán quá mức trên thị trường và xác định chính xác các điểm mua và bán.
Cải thiện độ chính xác tín hiệu thông qua tích hợp nhiều chỉ sốMột chỉ số duy nhất dễ bị tín hiệu sai trong khi chiến lược này lọc hiệu quả tiếng ồn và cải thiện độ tin cậy tín hiệu bằng cách tích hợp Ichimoku Cloud, MACD, CMF, TSI và hơn thế nữa.
Xác định hỗ trợ và kháng cự chính với Ichimoku Cloud. Ichimoku Cloud hiển thị rõ các mức hỗ trợ và kháng cự chính. Chiến lược có thể triển khai các điểm dài và ngắn xung quanh các khu vực này để vào thị trường ở các giai đoạn sau của xu hướng.
Xác định dòng vốn thực tế bằng cách sử dụng khoảng thời gian tụt lại. Thời gian tụt lại cho thấy sự khác biệt để phát hiện các động thái sai từ các lệnh trọng tài hơn là các quỹ thực.
Hiển thị mua quá mức / bán quá mức với MACD. MACD nhanh chóng hiển thị các điều kiện mua quá mức / bán quá mức. Cùng với các mức đám mây Ichimoku, nó xác định chính xác các tín hiệu đầu vào dài và ngắn.
Hiển thị dòng vốn với CMFChỉ số CMF phản ánh các chuyển động của các nhà chơi lớn thông qua các thay đổi khối lượng tránh các tín hiệu gây hiểu lầm từ dòng chảy chênh lệch.
Hiển thị sức mạnh của lực lượng mua/bán với TSIBằng cách loại bỏ kích thước chuyển động giá, TSI hiển thị chính xác sức mạnh thực sự của lực lượng mua / bán để phát hiện các đợt tăng thấp và giảm cao.
Mặc dù có những lợi thế, chiến lược Kairou cũng mang lại một số rủi ro đáng chú ý.
Tối ưu hóa tham sốCác thông số hiện có có thể không tối ưu. Các phương pháp tối ưu hóa có hệ thống hơn có thể được sử dụng để tìm các thông số tốt hơn cho lợi nhuận ổn định hơn.
Thiếu cơ chế dừng lỗ. Hiện tại không có cơ chế dừng lỗ. Sự đảo ngược thị trường đáng kể có thể dẫn đến tổn thất không kiểm soát được. Các lệnh dừng lỗ theo dõi hoặc giới hạn hợp lý nên được thực hiện.
Tần suất giao dịch cao. Nhiều chỉ số tích hợp có thể tạo ra tần suất giao dịch quá cao.
Biến động hiệu suấtSự tương tác giữa nhiều chỉ số có thể dẫn đến biến động hiệu suất lớn hơn trong các điều kiện thị trường nhất định.
Rủi ro chênh lệch tín hiệuNếu các chỉ số cho thấy các tín hiệu mâu thuẫn, các quyết định nhập cảnh trở nên khó khăn.
Chiến lược Kairou là một chiến lược giao dịch định lượng đa chỉ số. Nó tận dụng tối đa những điểm mạnh bổ sung của Ichimoku Cloud, MACD, CMF, TSI và nhiều hơn nữa để xác định thời gian vào và ra một cách độc đáo.
/*backtest start: 2023-10-22 00:00:00 end: 2023-11-21 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Ichimoku with MACD/ CMF/ TSI ", overlay=true) //Inputs ts_bars = input(10, minval=1, title="Tenkan-Sen Bars") ks_bars = input(30, minval=1, title="Kijun-Sen Bars") ssb_bars = input(52, minval=1, title="Senkou-Span B Bars") cs_offset = input(26, minval=1, title="Chikou-Span Offset") ss_offset = input(26, minval=1, title="Senkou-Span Offset") long_entry = input(true, title="Long Entry") short_entry = input(true, title="Short Entry") middle(len) => avg(lowest(len), highest(len)) // Ichimoku Components tenkan = middle(ts_bars) kijun = middle(ks_bars) senkouA = avg(tenkan, kijun) senkouB = middle(ssb_bars) // Plot Ichimoku Kinko Hyo 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 = max(senkouA[ss_offset-1], senkouB[ss_offset-1]) ss_low = min(senkouA[ss_offset-1], senkouB[ss_offset-1]) // Entry/Exit Signals fast_length = input(title="Fast Length", type=input.integer, defval=12) slow_length = input(title="Slow Length", type=input.integer, defval=26) src = input(title="Source", type=input.source, defval=hl2) signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9) sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=true) sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=false) // Plot colors col_grow_above = #26A69A col_grow_below = #FFCDD2 col_fall_above = #B2DFDB col_fall_below = #EF5350 col_macd = #0094ff col_signal = #ff6a00 // Calculating fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length) slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length) macd = fast_ma - slow_ma signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length) hist = macd - signal tk_cross_bull = tenkan > kijun tk_cross_bear = tenkan < kijun cs_cross_bull = mom(close, cs_offset-1) > 0 cs_cross_bear = mom(close, cs_offset-1) < 0 price_above_kumo = close > ss_high price_below_kumo = close < ss_low //CMF lengthA = input(10, minval=1, title="CMF Length") ad = close==high and close==low or high==low ? 0 : ((2*close-low-high)/(high-low))*volume mf = sum(ad, lengthA) / sum(volume, lengthA) //TSI long = input(title="Long Length", type=input.integer, defval=20) short = input(title="Short Length", type=input.integer, defval=20) price = close double_smooth(src, long, short) => fist_smooth = ema(src, long) ema(fist_smooth, short) pc = change(price) double_smoothed_pc = double_smooth(pc, long, short) double_smoothed_abs_pc = double_smooth(abs(pc), long, short) tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc) bullish = tk_cross_bull and cs_cross_bull and price_above_kumo and hist > 0 and mf > 0.1 and tsi_value > 0 bearish = tk_cross_bear and cs_cross_bear and price_below_kumo and hist < 0 and mf < -0.1 and tsi_value < 0 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)