
Chiến lược này sử dụng chỉ số tương đối mạnh yếu (RSI) và đường trung bình di chuyển đơn giản (SMA) để xác định cơ hội quay trở lại giá trị trung bình tiềm ẩn trong thị trường. Lưu ý rằng khi RSI thấp hơn ngưỡng mua và giá thấp hơn SMA, sẽ tạo ra tín hiệu mua; khi RSI cao hơn ngưỡng bán và giá cao hơn SMA, sẽ tạo ra tín hiệu bán. Chiến lược này cũng đặt mức dừng và dừng để 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 quay trở về giá trị trung bình, tức là giá thường quay trở lại gần giá trị trung bình của nó khi ở mức cực. Bằng cách sử dụng chỉ số RSI để đo lường trạng thái quá mua và quá bán của giá, và kết hợp với SMA làm chuẩn mực tham chiếu cho giá, chiến lược này cố gắng nắm bắt cơ hội quay trở lại sau khi giá lệch quá xa so với giá trị trung bình.
Cụ thể, chiến lược này sử dụng các bước sau:
Chiến lược quay trở lại chỉ số trung bình tương đối mạnh mẽ này sử dụng RSI và SMA để nắm bắt cơ hội quay trở lại sau khi giá lệch khỏi trung bình. Nó có những ưu điểm như đơn giản, dễ hiểu, thích ứng mạnh mẽ, nhưng có thể hoạt động kém trong thị trường xu hướng và phụ thuộc vào lựa chọn tham số.
/*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)