Chiến lược này là một hệ thống theo xu hướng đa tín hiệu dựa trên trung bình di chuyển kép và chỉ số sức mạnh tương đối (RSI). Hoạt động trên một khung thời gian 1 giờ, nó xác định xu hướng thị trường và cơ hội giao dịch thông qua các đường chéo của trung bình di chuyển ngắn hạn và dài hạn, kết hợp với các mức mua quá mức và bán quá mức của RSI. Hệ thống sử dụng sự kết hợp của trung bình di chuyển đơn giản 9 giai đoạn và 21 giai đoạn (SMA) cùng với chỉ số RSI 14 giai đoạn để tạo ra một hệ thống giao dịch xác nhận xu hướng và đà tăng toàn diện.
Logic cốt lõi của chiến lược dựa trên các yếu tố chính sau: 1. Sử dụng trung bình di chuyển đơn giản 9 giai đoạn và 21 giai đoạn để xác định hướng xu hướng, với tín hiệu dài được tạo ra khi MA ngắn vượt qua trên MA dài và tín hiệu ngắn khi nó vượt qua dưới. 2. Bao gồm RSI như một công cụ xác nhận xu hướng, với 70 và 30 được thiết lập như ngưỡng mua quá mức và bán quá mức. Khi giao thoa trung bình động xảy ra, hệ thống kiểm tra xem các giá trị RSI có đáp ứng các điều kiện tương ứng không: các vị trí dài yêu cầu RSI trên mức bán quá mức (30), các vị trí ngắn yêu cầu RSI dưới mức mua quá mức (70). Các giao dịch chỉ được thực hiện khi cả hai điều kiện chéo trung bình động và RSI được đáp ứng đồng thời.
Chiến lược này xây dựng một hệ thống giao dịch theo xu hướng tương đối hoàn chỉnh bằng cách kết hợp các hệ thống trung bình động với các chỉ số RSI. Triết lý thiết kế chiến lược nhấn mạnh độ tin cậy tín hiệu và kiểm soát rủi ro, phù hợp với giao dịch xu hướng trung hạn đến dài hạn. Mặc dù có một số hạn chế vốn có, hiệu suất tổng thể của chiến lược có thể được cải thiện hơn nữa thông qua các hướng tối ưu hóa được đề xuất. Việc thực hiện mã là chuyên nghiệp và tiêu chuẩn hóa, có khả năng mở rộng tốt, làm cho nó trở thành một hệ thống giao dịch xứng đáng với nghiên cứu và thực hành chuyên sâu.
/*backtest start: 2019-12-23 08:00:00 end: 2025-01-16 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Vitaliby //@version=5 strategy("Vitaliby MA and RSI Strategy", overlay=true) // Входные параметры для настройки shortMALength = input.int(9, title="Short MA Length") longMALength = input.int(21, title="Long MA Length") rsiLength = input.int(14, title="RSI Length") rsiOverbought = input.int(70, title="RSI Overbought Level") rsiOversold = input.int(30, title="RSI Oversold Level") // Расчет скользящих средних и RSI shortMA = ta.sma(close, shortMALength) longMA = ta.sma(close, longMALength) rsi = ta.rsi(close, rsiLength) // Определение условий для входа и выхода longCondition = ta.crossover(shortMA, longMA) and rsi > rsiOversold shortCondition = ta.crossunder(shortMA, longMA) and rsi < rsiOverbought // Отображение сигналов на графике plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", size=size.small) plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", size=size.small) // Отображение скользящих средних на графике plot(shortMA, color=color.blue, title="Short MA") plot(longMA, color=color.orange, title="Long MA") // Отображение RSI на отдельном окне hline(rsiOverbought, "Overbought", color=color.red) hline(rsiOversold, "Oversold", color=color.green) plot(rsi, color=color.purple, title="RSI") // Управление позициями if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.close("Long") if (shortCondition) strategy.entry("Short", strategy.short) if (longCondition) strategy.close("Short")