Chiến lược này kết hợp chỉ số sức mạnh tương đối (RSI) và chỉ số kỹ thuật siêu xu hướng để nắm bắt xu hướng thị trường và xác định cơ hội giao dịch tiềm năng. Ý tưởng chính đằng sau chiến lược là sử dụng chỉ số RSI để xác định điều kiện thị trường mua quá nhiều và bán quá nhiều trong khi sử dụng chỉ số siêu xu hướng để xác nhận hướng xu hướng. Khi cả chỉ số RSI và siêu xu hướng đáp ứng các điều kiện cụ thể đồng thời, chiến lược tạo ra tín hiệu mua hoặc bán.
Chiến lược giao dịch theo xu hướng RSI + Supertrend nắm bắt hiệu quả xu hướng thị trường và tạo ra tín hiệu giao dịch bằng cách kết hợp các chỉ số kỹ thuật RSI và Supertrend. Ưu điểm của chiến lược nằm trong logic rõ ràng, dễ thực hiện và xem xét cả động lực và các yếu tố xu hướng. Tuy nhiên, chiến lược cũng có một số rủi ro, chẳng hạn như giao dịch thường xuyên và hạn chế trong cài đặt tham số. Để cải thiện hơn nữa hiệu suất của chiến lược, người ta có thể xem xét giới thiệu các chỉ số khác, tối ưu hóa các tham số, tăng cường các biện pháp quản lý rủi ro và liên tục theo dõi và điều chỉnh chiến lược.
/*backtest start: 2024-05-21 00:00:00 end: 2024-05-28 00:00:00 period: 45m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("RSI + Supertrend Strategy", overlay=true) // Input parameters rsiLength = input.int(14, title="RSI Length") rsiOverbought = input.int(58, title="RSI Overbought Level") rsiOversold = input.int(38, title="RSI Oversold Level") supertrendLength = input.int(10, title="Supertrend Length") supertrendMultiplier = input.int(3, title="Supertrend Multiplier") // Calculate indicators rsiValue = ta.rsi(close, rsiLength) [supertrend, _] = ta.supertrend(supertrendLength, supertrendMultiplier) // Plot Supertrend on main chart plot(supertrend, color = supertrend < close ? color.green : color.red, linewidth = 2, title="Supertrend") // Plot RSI hline(rsiOverbought, "Overbought", color.red) hline(rsiOversold, "Oversold", color.green) plot(rsiValue, title="RSI", color=color.blue) // Strategy var float entryPrice = na // Long conditions longCondition = (rsiValue > rsiOverbought) and (supertrend < close) // Short conditions shortCondition = (rsiValue < rsiOversold) and (supertrend > close) // Exit conditions longExitCondition = (rsiValue < 50) and (supertrend > close) shortExitCondition = (rsiValue > 45) and (supertrend < close) // Execute strategy if (longCondition) strategy.entry("Long", strategy.long) entryPrice := close if (shortCondition) strategy.entry("Short", strategy.short) entryPrice := close if (longExitCondition and strategy.position_size > 0) strategy.close("Long") if (shortExitCondition and strategy.position_size < 0) strategy.close("Short") // Date and time range for backtest startDate = timestamp("2023-01-01 00:00") endDate = timestamp("2024-01-01 00:00") if (time < startDate or time > endDate) strategy.close_all()