Chiến lược này là một hệ thống theo xu hướng dựa trên Supertrend, Relative Strength (RS) và Relative Strength Index (RSI). Bằng cách tích hợp ba chỉ số kỹ thuật này, nó tham gia giao dịch khi xu hướng thị trường rõ ràng và thực hiện stop-loss động để quản lý rủi ro. Chiến lược chủ yếu nhằm mục đích nắm bắt xu hướng giá tăng mạnh trong khi sử dụng RSI để xác nhận tính bền vững của xu hướng.
Chiến lược sử dụng một cơ chế lọc ba lần cho tín hiệu giao dịch:
Chiến lược này xây dựng một hệ thống giao dịch theo xu hướng tương đối toàn diện bằng cách tích hợp các chỉ số Supertrend, RS và RSI. Ưu điểm chính của nó nằm ở cơ chế xác nhận tín hiệu nhiều tăng độ tin cậy giao dịch, trong khi các cơ chế kiểm soát rủi ro rõ ràng cung cấp bảo vệ giao dịch. Mặc dù có rủi ro tiềm ẩn, các hướng tối ưu hóa được đề xuất có thể cải thiện thêm sự ổn định và lợi nhuận của chiến lược. Chiến lược này đặc biệt phù hợp với các thị trường có xu hướng rõ ràng và có thể phục vụ như một khuôn khổ nền tảng cho giao dịch trung và dài hạn.
/*backtest start: 2019-12-23 08:00:00 end: 2025-01-04 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Sanjay RS&RSI Strategy V3 for nifty 15min, SL-1.3", overlay=true) // Inputs atrLength = input.int(10, title="ATR Length") factor = input.float(3.0, title="ATR Multiplier") rsPeriod = input.int(55, title="RS Period") rsiPeriod = input.int(14, title="RSI Period") rsiThreshold = input.float(60, title="RSI Threshold") stopLossPercent = input.float(2.0, title="Stop Loss (%)", step=0.1) // Adjustable Stop Loss in Percentage // Supertrend Calculation [supertrendDirection, supertrend] = ta.supertrend(factor, atrLength) // RS Calculation rs = (close - ta.lowest(close, rsPeriod)) / (ta.highest(close, rsPeriod) - ta.lowest(close, rsPeriod)) * 100 // RSI Calculation rsi = ta.rsi(close, rsiPeriod) // Entry Conditions buyCondition = (supertrendDirection > 0) and (rs > 0) and (rsi > rsiThreshold) // Exit Conditions exitCondition1 = (supertrendDirection < 0) exitCondition2 = (rs <= 0) exitCondition3 = (rsi < rsiThreshold) exitCondition = (exitCondition1 and exitCondition2) or (exitCondition1 and exitCondition3) or (exitCondition2 and exitCondition3) // Plot Supertrend plot(supertrend, title="Supertrend", color=supertrendDirection > 0 ? color.green : color.red, linewidth=2) // Strategy Entry if (buyCondition) strategy.entry("Buy", strategy.long) // Add Stop Loss with strategy.exit stopLossLevel = strategy.position_avg_price * (1 - stopLossPercent / 100) strategy.exit("SL Exit", from_entry="Buy", stop=stopLossLevel) // Strategy Exit (Additional Conditions) if (exitCondition) strategy.close("Buy")