Chiến lược này là một hệ thống giao dịch theo xu hướng toàn diện tích hợp đám mây Ichimoku, chỉ số sức mạnh tương đối (RSI) và sự khác biệt hội tụ trung bình chuyển động (MACD). Chiến lược sử dụng đám mây để xác định hướng xu hướng tổng thể, RSI để xác nhận đà tăng giá và giao dịch qua đường MACD để xác định các cơ hội giao dịch cụ thể, cho phép phân tích thị trường đa chiều và quyết định giao dịch.
Lý thuyết cốt lõi dựa trên sự phối hợp của ba chỉ số kỹ thuật:
Các quy tắc giao dịch là như sau: Điều kiện nhập cảnh dài hạn:
Điều kiện nhập cảnh ngắn:
Rủi ro đảo ngược xu hướng: Có thể dừng liên tiếp tại các điểm chuyển hướng. Đề xuất: Tăng yêu cầu khung thời gian xác nhận xu hướng.
Rủi ro thị trường giới hạn phạm vi: Các giao dịch thường xuyên có thể xảy ra trên các thị trường bên cạnh. Lời khuyên: Thêm bộ lọc tín hiệu, chẳng hạn như yêu cầu di chuyển tối thiểu.
Nguy cơ chậm trễ: Các chỉ số có sự chậm trễ vốn có, có khả năng thiếu các điểm nhập khẩu tối ưu. Lời khuyên: Bao gồm các chỉ số nhanh hơn hoặc phân tích hành động giá.
Độ nhạy của tham số: Cài đặt tham số không chính xác có thể dẫn đến hiệu suất kém. Đề xuất: Tối ưu hóa các thông số thông qua kiểm tra lại.
Chiến lược này xây dựng một hệ thống giao dịch theo xu hướng hoàn chỉnh bằng cách kết hợp các chỉ số Ichimoku Cloud, RSI và MACD. Sức mạnh chính của nó nằm trong cơ chế xác nhận nhiều và các quy tắc giao dịch rõ ràng, trong khi phải chú ý đến rủi ro tại các điểm đảo ngược xu hướng và trong các thị trường giới hạn phạm vi. Thông qua điều chỉnh tham số năng động, lọc môi trường thị trường và tối ưu hóa quản lý rủi ro, sự ổn định và lợi nhuận của chiến lược có thể được tăng thêm.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-10 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Ichimoku + RSI + MACD Strategy", overlay=true) // Ichimoku Cloud parameters tenkanPeriod = 9 kijunPeriod = 26 senkouSpanBPeriod = 52 displacement = 26 // RSI parameters rsiLength = 14 rsiOverbought = 70 rsiOversold = 30 // MACD parameters [macdLine, signalLine, _] = ta.macd(close, 12, 26, 9) // Ichimoku calculations tenkanSen = (ta.highest(high, tenkanPeriod) + ta.lowest(low, tenkanPeriod)) / 2 kijunSen = (ta.highest(high, kijunPeriod) + ta.lowest(low, kijunPeriod)) / 2 senkouSpanA = (tenkanSen + kijunSen) / 2 senkouSpanB = (ta.highest(high, senkouSpanBPeriod) + ta.lowest(low, senkouSpanBPeriod)) / 2 chikouSpan = close[displacement] // Plotting Ichimoku Cloud plot(tenkanSen, color=color.red, title="Tenkan-sen") plot(kijunSen, color=color.blue, title="Kijun-sen") plot(senkouSpanA[displacement], color=color.green, title="Senkou Span A") plot(senkouSpanB[displacement], color=color.red, title="Senkou Span B") fill(plot(senkouSpanA[displacement]), plot(senkouSpanB[displacement]), color=color.new(color.green, 90), title="Cloud") // RSI calculation rsi = ta.rsi(close, rsiLength) // Long entry condition longCondition = (close > senkouSpanA) and (close > senkouSpanB) and (rsi > rsiOversold) and (ta.crossover(macdLine, signalLine)) if (longCondition) strategy.entry("Long", strategy.long) // Short entry condition shortCondition = (close < senkouSpanA) and (close < senkouSpanB) and (rsi < rsiOverbought) and (ta.crossunder(macdLine, signalLine)) if (shortCondition) strategy.entry("Short", strategy.short) // Exit conditions if (ta.crossunder(macdLine, signalLine) and strategy.position_size > 0) strategy.close("Long") if (ta.crossover(macdLine, signalLine) and strategy.position_size < 0) strategy.close("Short") // Plot RSI hline(rsiOverbought, "Overbought", color=color.red) hline(rsiOversold, "Oversold", color=color.green) plot(rsi, color=color.blue, title="RSI")