Chiến lược này là một hệ thống giao dịch theo xu hướng kết hợp Chỉ số Sức mạnh Tương đối (RSI) với Trung bình Di chuyển (MA). Cơ chế cốt lõi sử dụng RSI để nắm bắt sự thay đổi động lực giá trong khi kết hợp một trung bình di chuyển 90 ngày như một bộ lọc xu hướng, theo dõi hiệu quả xu hướng thị trường. Chiến lược có các ngưỡng mua/bán quá mức RSI có thể điều chỉnh và thực hiện giới hạn thời gian xem lại 2500 ngày để đảm bảo tính thực tế và ổn định.
Chiến lược được xây dựng trên một số thành phần cốt lõi:
Các tín hiệu mua được kích hoạt khi RSI vượt trên 70, trong khi các tín hiệu bán được tạo ra khi RSI giảm xuống dưới 62.
Khuyến nghị kiểm soát rủi ro:
Tối ưu hóa hệ thống tín hiệu:
Tối ưu hóa quản lý vị trí:
Tối ưu hóa kiểm soát rủi ro:
Phòng kiểm tra hệ thống tối ưu hóa:
Chiến lược này xây dựng một hệ thống giao dịch tương đối hoàn chỉnh bằng cách kết hợp chỉ số động lực RSI với bộ lọc xu hướng MA. Sức mạnh của nó nằm trong khả năng thích nghi mạnh mẽ và kiểm soát rủi ro toàn diện, nhưng phải chú ý đến độ nhạy cảm của các tham số và thay đổi môi trường thị trường. Thông qua các hướng tối ưu hóa được đề xuất, chiến lược có không gian cải tiến đáng kể để tăng cường sự ổn định và lợi nhuận hơn nữa.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-11 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Simple RSI Strategy - Adjustable Levels with Lookback Limit and 30-Day MA", overlay=true) // Parameters rsi_length = input.int(12, title="RSI Length", minval=1) // RSI period rsi_overbought = input.int(70, title="RSI Overbought Level", minval=1, maxval=100) // Overbought level rsi_oversold = input.int(62, title="RSI Oversold Level", minval=1, maxval=100) // Oversold level ma_length = input.int(90, title="Moving Average Length", minval=1) // Moving Average period // Calculate lookback period (2000 days) lookback_period = 2500 start_date = timestamp(year(timenow), month(timenow), dayofmonth(timenow) - lookback_period) // RSI Calculation rsi_value = ta.rsi(close, rsi_length) // 30-Day Moving Average Calculation ma_value = ta.sma(close, ma_length) // Buy Condition: Buy when RSI is above the overbought level long_condition = rsi_value > rsi_overbought // Sell Condition: Sell when RSI drops below the oversold level sell_condition = rsi_value < rsi_oversold // Check if current time is within the lookback period in_lookback_period = (time >= start_date) // Execute Buy with 100% equity if within lookback period if (long_condition and strategy.position_size == 0 and in_lookback_period) strategy.entry("Buy", strategy.long, qty=strategy.equity / close) if (sell_condition and strategy.position_size > 0) strategy.close("Buy") // Plot RSI on a separate chart for visualization hline(rsi_overbought, "Overbought", color=color.red) hline(rsi_oversold, "Oversold", color=color.green) plot(rsi_value, title="RSI", color=color.blue) // Plot the 30-Day Moving Average on the chart plot(ma_value, title="30-Day MA", color=color.orange, linewidth=2)