Chiến lược chu kỳ RSI Crossover Momentum là một chiến lược giao dịch định lượng dựa trên chỉ số Relative Strength Index (RSI). Nó tạo ra tín hiệu mua và bán thông qua các giao dịch chéo RSI để đạt được lợi nhuận.
Chiến lược được xây dựng dựa trên chỉ số RSI, đo đạc động lực của một cổ phiếu và mức mua quá mức / bán quá mức.
Cụ thể, khi chỉ số RSI vượt quá ngưỡng mua (thất định 60), một tín hiệu mua được tạo ra. Chiến lược sau đó sẽ mở một vị trí dài. Sau đó khi chỉ số RSI giảm xuống dưới ngưỡng bán (thất định 80), một tín hiệu bán xảy ra. Chiến lược sẽ đóng vị trí dài hiện có tương ứng. Bằng cách dao động giữa hai ngưỡng, động lực chu kỳ qua lại để ghi lại lợi nhuận.
Chiến lược được viết bằng Pine Script bằng cách sử dụng logic có điều kiện rõ ràng cho các bước vào và ra.
Chúng ta có thể thiết lập stop loss, tối ưu hóa các thông số RSI, hoặc thêm các bộ lọc để cải thiện nó.
Có một vài cách chúng ta có thể tối ưu hóa thêm chiến lược:
Ví dụ cơ bản này chứng minh việc sử dụng chỉ số RSI cho giao dịch lượng. Chúng ta có thể xây dựng dựa trên nó với nhiều chỉ số và kỹ thuật quản lý rủi ro hơn. Trong thực tế, tối ưu hóa nghiêm ngặt và tùy chỉnh dựa trên dung nạp rủi ro cá nhân là cần thiết trước khi áp dụng. Với phương pháp hợp lý, chiến lược này có thể trở thành một công cụ đầu tư định lượng hiệu quả.
/*backtest start: 2022-12-06 00:00:00 end: 2023-12-12 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("RSI Cross 60/80 Strategy", overlay=true) // Input for RSI period rsiPeriod = input.int(14, title="RSI Period", minval=1) // Calculate RSI rsiValue = ta.rsi(close, rsiPeriod) // Input for RSI thresholds rsiBuyThreshold = input(60, title="RSI Threshold for Buy") rsiSellThreshold = input(80, title="RSI Threshold for Sell") // Conditions for Buy and Sell signals buySignal = ta.crossover(rsiValue, rsiBuyThreshold) sellSignal = ta.crossunder(rsiValue, rsiSellThreshold) // Plot RSI on the chart plot(rsiValue, title="RSI", color=color.blue) // Strategy entry and exit if (buySignal) strategy.entry("Buy", strategy.long) if (sellSignal) strategy.close("Buy") // Plot Buy and Sell signals on the chart plotshape(series=buySignal, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar) plotshape(series=sellSignal, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar)