Chiến lược đảo ngược RSI tính toán chỉ số RSI và đường trung bình di chuyển để xác định xem một cổ phiếu có bị mua quá mức hay bán quá mức không, do đó tạo ra tín hiệu mua và bán.
Chiến lược đầu tiên tính toán RSI 14 giai đoạn và bình thường hóa nó thành 0-100. Sau đó nó tính toán trung bình động cân nhắc 5 giai đoạn của RSI, và lập bản đồ nó thành -1 đến 1 bằng chức năng tiếp xúc. Khi RSI được lập bản đồ vượt trên -0.8, một tín hiệu mua được tạo ra. Khi nó vượt dưới 1, một tín hiệu bán được tạo ra. Các phương pháp lập bản đồ và đánh giá ngưỡng được sử dụng ở đây để phát hiện các tín hiệu đảo ngược của chỉ số RSI.
Chiến lược cũng thiết lập phạm vi tháng và ngày chạy để nó chỉ chạy trong những tháng và ngày được chỉ định.
Chiến lược đảo ngược RSI có hiệu quả nắm bắt các cơ hội đảo ngược giá bằng cách xây dựng các quy tắc giao dịch đảo ngược đơn giản dựa trên chỉ số RSI. Chiến lược này dễ thực hiện, nhưng có thể được tăng cường thông qua tối ưu hóa tham số, cơ chế kiểm soát rủi ro vv, làm cho nó trở thành một chiến lược giao dịch định lượng có lợi nhuận ổn định.
/*backtest start: 2023-01-12 00:00:00 end: 2024-01-18 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title="RSI Reverse", shorttitle="RSI Reverse") RSI_main = input(14, title="RSI Main Period") RSI_smooth = input(5, title="RSI Smooth Period") //Functions RVS(input) => (exp(2*input)-1) / (exp(2*input)+1) //RSI Calculation raw_RSI=0.1*(rsi(close,RSI_main)-50) wma_RSI=wma(raw_RSI,RSI_smooth) RVS_RSI = RVS(wma_RSI) threshold1 = RVS_RSI < 0.8? 1 : 0 threshold2 = -0.8 plot(RVS_RSI,color=red) plot(threshold1,color=blue) plot(threshold2,color=blue) buycon = crossover(RVS_RSI,threshold2) sellcon = crossunder(RVS_RSI , threshold1) monthfrom =input(6) monthuntil =input(12) dayfrom=input(1) dayuntil=input(31) if ( buycon ) strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", comment="BUY") else strategy.cancel(id="BUY") if ( sellcon) strategy.close("BUY")