Chiến lược này sử dụng chỉ số sức mạnh tương đối (RSI) và trung bình di chuyển đơn giản (SMA) để xác định các cơ hội đảo ngược trung bình tiềm năng trên thị trường. Khi RSI thấp hơn ngưỡng mua và giá thấp hơn SMA, một tín hiệu mua được tạo ra. Khi RSI cao hơn ngưỡng bán và giá cao hơn SMA, một tín hiệu bán được tạo ra. Chiến lược cũng thiết lập mức dừng lỗ và mục tiêu lợi nhuận để quản lý rủi ro giao dịch và khóa lợi nhuận.
Nguyên tắc cốt lõi của chiến lược này là khái niệm đảo ngược trung bình, cho thấy rằng giá có xu hướng quay trở lại mức trung bình của chúng sau khi đạt đến mức cực. Bằng cách sử dụng chỉ số RSI để đo điều kiện mua quá nhiều và bán quá nhiều và kết hợp nó với chỉ số SMA làm điểm chuẩn tham khảo cho giá, chiến lược nhằm mục đích nắm bắt các cơ hội đảo ngược khi giá lệch quá xa so với mức trung bình của chúng.
Cụ thể, chiến lược theo các bước sau:
Chiến lược đảo ngược chỉ số sức mạnh tương đối này tận dụng RSI và SMA để nắm bắt các cơ hội đảo ngược khi giá lệch so với mức trung bình của chúng. Nó có những ưu điểm như đơn giản, dễ hiểu và thích nghi. Tuy nhiên, nó có thể hoạt động kém hơn trong các thị trường xu hướng và dựa trên lựa chọn tham số. Bằng cách tối ưu hóa phương pháp dừng lỗ và lấy lợi nhuận, cài đặt tham số, kết hợp các chỉ số bổ sung và thực hiện các biện pháp quản lý rủi ro, khả năng mạnh mẽ và lợi nhuận của chiến lược này có thể được tăng thêm.
/*backtest start: 2024-04-01 00:00:00 end: 2024-04-30 23:59:59 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy('Mean Reversion with Tight Stop Loss', overlay=true) // Define parameters rsiLength = 14 rsiThresholdBuy = 30 rsiThresholdSell = 70 smaPeriod = 20 stopLossPercentage = 0.5 // 0.5% stop loss profitTargetPercentage = 1 // 1% profit target // Calculate indicators rsi = ta.rsi(close, rsiLength) sma = ta.sma(close, smaPeriod) // Entry conditions buySignal = rsi < rsiThresholdBuy and close < sma sellSignal = rsi > rsiThresholdSell and close > sma // Exit conditions if strategy.position_size > 0 stopLoss = strategy.position_avg_price * (1 - stopLossPercentage / 100) takeProfit = strategy.position_avg_price * (1 + profitTargetPercentage / 100) if close <= stopLoss or close >= takeProfit strategy.close('Exit', comment='Stop Loss / Take Profit') // Execute trades if buySignal strategy.entry('Buy', strategy.long) if sellSignal strategy.entry('Sell', strategy.short)