Chiến lược này là một xu hướng sau chiến lược tăng sử dụng chỉ số RSI để xác định xu hướng và chỉ số MACD để vào thị trường. Nó cũng kết hợp đường EMA như một bộ lọc xu hướng và dừng lỗ khẩn cấp để kiểm soát rủi ro.
Chiến lược này chủ yếu dựa trên chỉ số RSI để xác định hướng xu hướng. Khi RSI vượt qua trên đường dài đã thiết lập (thất định 21), nó được coi là thị trường có thể đảo ngược sang xu hướng tăng. Tại thời điểm này nếu MACD đã có xu hướng giảm, nó có thể được đánh giá là nó ở một điểm đảo ngược, đó là một cơ hội tốt để đi dài.
Ngoài ra, chiến lược cũng giới thiệu đường EMA (định sẵn 200 thời gian) như một bộ lọc xu hướng. Chỉ khi giá trên đường EMA, giao dịch dài sẽ được xem xét. Điều này có thể lọc hiệu quả các sự đảo ngược giả khi xu hướng không rõ ràng hoặc giảm.
Ở phía dừng lỗ, chiến lược cũng thiết lập đường dừng lỗ thường xuyên và đường dừng lỗ khẩn cấp. Khi RSI vượt qua dưới đường dừng lỗ thường xuyên (thất định 86), đóng vị trí; nếu giá giảm mạnh và RSI vượt qua dưới đường dừng lỗ khẩn cấp (thất định 73), đóng vị trí vô điều kiện để kiểm soát lỗ tối đa.
Tóm lại, chiến lược này là một xu hướng tương đối truyền thống sau chiến lược tăng giá. Nó xác định các điểm đảo ngược với chỉ số RSI, lọc các đánh giá sai với MACD, xác định xu hướng chính với EMA và kiểm soát rủi ro bằng lệnh dừng lỗ. Chiến lược khá đơn giản và trực quan, dễ hiểu và có một số lợi thế trong việc đánh giá sự đảo ngược thị trường, làm cho nó trở thành một chiến lược điểm khởi đầu tốt cho giao dịch algo. Nhưng vẫn còn nhiều phòng để cải thiện hơn nữa bằng cách tối ưu hóa các tín hiệu bước vào, thẩm phán xu hướng và cơ chế dừng lỗ.
/*backtest start: 2022-12-28 00:00:00 end: 2024-01-03 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © dravitch //@version=4 strategy("RSI - BULL RUN (Improved)", overlay=true) // Input UseEmergency = input(true, "Use Emergency Exit?") RSIlong = input(21, "RSI Long Cross") RSIcloseLong = input(86, "RSI Close Long Position") EmergencycloseLong = input(73, "RSI Emergency Close Long Position") UseEMAFilter = input(true, "Use EMA Trend Filter") EMAlength = input(200, "EMA Length for Trend Filter") // Utiliser 200 pour SMMA // RSI rsiValue = rsi(close, 14) // MACD [macdLine, signalLine, _] = macd(close, 12, 26, 9) // EMA Trend Filter emaTrend = sma(close, EMAlength) // Utiliser sma pour la SMMA (Simple Moving Average) // Conditions pour les trades longs trendUp = close > emaTrend trendDown = close < emaTrend longCondition = crossover(rsiValue, RSIlong) and trendDown or crossunder(macdLine, signalLine) and crossover(rsiValue, RSIlong) longCloseCondition = crossunder(rsiValue, RSIcloseLong) and trendUp emergencyLongCondition = crossunder(rsiValue, EmergencycloseLong) // Plots plot(rsiValue, color=color.white, linewidth=2, title="RSI") // Strategy if (longCondition) strategy.entry("Long", strategy.long, alert_message='RSI Long Cross: LONG') if (longCloseCondition) strategy.close("Long", alert_message='RSI Close Long Position') if (emergencyLongCondition and UseEmergency) strategy.close("Long", alert_message='RSI Emergency Close Long') // Plot EMA Trend Filter in a separate pane plot(emaTrend, color=color.rgb(163, 0, 122), title="EMA Trend Filter", linewidth=2, style=plot.style_line, transp=0) hline(0, "Zero Line", color=color.gray)