Chiến lược này sử dụng hai trung bình động (trung bình động nhanh và trung bình động chậm) và chỉ số sức mạnh tương đối (RSI) để xác định xu hướng thị trường ngắn hạn và điều kiện mua quá mức / bán quá mức. Khi trung bình động nhanh vượt qua trên trung bình động chậm và chỉ số RSI dưới mức bán quá mức, chiến lược sẽ vào vị trí dài. Khi trung bình động nhanh vượt qua dưới trung bình động chậm và chỉ số RSI vượt quá mức mua quá mức, chiến lược sẽ vào vị trí ngắn. Chiến lược xác định các điểm vào và ra dựa trên sự chéo chéo của các trung bình động và mức RSI để nắm bắt xu hướng giá ngắn hạn.
Chiến lược này kết hợp hai đường trung bình động và chỉ số RSI để nắm bắt xu hướng giá ngắn hạn, làm cho nó phù hợp với giao dịch ngắn hạn trên các thị trường biến động. Lý thuyết chiến lược rõ ràng, các tham số linh hoạt và dễ thực hiện và tối ưu hóa. Tuy nhiên, nó có thể tạo ra các tín hiệu giao dịch quá mức trong các thị trường hỗn loạn và có khả năng nắm bắt xu hướng dài hạn yếu. Do đó, trong các ứng dụng thực tế, hãy xem xét giới thiệu các chỉ số bổ sung, tối ưu hóa lựa chọn tham số, thực hiện các biện pháp quản lý rủi ro và các phương pháp tiếp cận khác để cải thiện độ mạnh mẽ và lợi nhuận của chiến lược.
/*backtest start: 2024-03-24 00:00:00 end: 2024-03-25 05:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Short-Term Scalp Trading Strategy", overlay=true) // Define strategy parameters fastMA_length = input(5, title="Fast MA Length") slowMA_length = input(10, title="Slow MA Length") rsi_length = input(7, title="RSI Length") rsi_oversold = input(20, title="RSI Oversold Level") rsi_overbought = input(80, title="RSI Overbought Level") // Calculate Moving Averages fastMA = ta.sma(close, fastMA_length) slowMA = ta.sma(close, slowMA_length) // Calculate RSI rsi = ta.rsi(close, rsi_length) // Define entry conditions longCondition = ta.crossunder(fastMA, slowMA) and rsi < rsi_oversold shortCondition = ta.crossover(fastMA, slowMA) and rsi > rsi_overbought // Enter long position strategy.entry("Long", strategy.long, when=longCondition) // Enter short position strategy.entry("Short", strategy.short, when=shortCondition) // Define exit conditions longExitCondition = ta.crossunder(fastMA, slowMA) or ta.crossover(rsi, rsi_overbought) shortExitCondition = ta.crossover(fastMA, slowMA) or ta.crossunder(rsi, rsi_oversold) // Exit long position if (longExitCondition) strategy.close("Exit Long", "Long") // Exit short position if (shortExitCondition) strategy.close("Exit Short", "Short") // Plot buy and sell signals plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small) plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)