
Chiến lược này là một hệ thống giao dịch theo dõi xu hướng dựa trên chỉ số tương đối mạnh (RSI) kết hợp với đường trung bình di chuyển (MA). Cốt lõi của chiến lược là nắm bắt sự thay đổi động lực giá thông qua chỉ số RSI, đồng thời kết hợp với đường trung bình di chuyển 90 ngày làm bộ lọc xu hướng, để theo dõi hiệu quả xu hướng thị trường.
Chiến lược này dựa trên các thành phần cốt lõi sau:
Điều kiện mua cần kích hoạt RSI vượt quá 70, và tín hiệu bán được tạo ra khi RSI vượt quá 62. Hệ thống sẽ tự động tính toán và thực hiện các hoạt động mở kho toàn kho khi phù hợp với điều kiện mở kho và trong thời gian kiểm tra lại có hiệu lực.
Đề xuất 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:
Tối ưu hóa hệ thống phản hồi:
Chiến lược này được xây dựng một hệ thống giao dịch tương đối hoàn hảo bằng cách kết hợp với chỉ số động lực RSI và bộ lọc xu hướng đồng nhất. Ưu điểm của chiến lược là khả năng thích ứng mạnh mẽ, kiểm soát rủi ro hoàn hảo, nhưng vẫn cần chú ý đến sự nhạy cảm của các tham số và tác động của sự thay đổi môi trường thị trường.
/*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)