Chiến lược này là một hệ thống theo xu hướng kết hợp nhiều mức trung bình động theo thời gian với giá trung bình trọng số khối lượng (VWAP). Chiến lược xác định hướng xu hướng thông qua sự chéo chéo của ba mức trung bình di chuyển đơn giản (SMA) - 9 giai đoạn, 50 giai đoạn và 200 giai đoạn, trong khi sử dụng VWAP làm chỉ số xác nhận sức mạnh giá, thực hiện một cơ chế xác nhận tín hiệu giao dịch đa chiều. Chiến lược này phù hợp cho cả giao dịch trong ngày (thẻ đồ 1 phút) và giao dịch xoay (1 giờ).
Logic cốt lõi của chiến lược được xây dựng trên một số yếu tố chính:
Các điều kiện nhập cảnh dài đòi hỏi:
Các điều kiện nhập cảnh ngắn hạn yêu cầu:
Các đề xuất kiểm soát rủi ro:
Đây là một hệ thống giao dịch hoàn chỉnh kết hợp nhiều mức trung bình động và VWAP, cung cấp các tín hiệu giao dịch đáng tin cậy thông qua nhiều cơ chế xác nhận. Sức mạnh của chiến lược nằm trong logic rõ ràng, dễ thực hiện và khả năng kiểm soát rủi ro tốt. Mặc dù nó có một số rủi ro liên quan đến sự chậm trễ và độ nhạy của tham số, nhưng chúng có thể được giải quyết thông qua các hướng tối ưu hóa được đề xuất để tăng thêm sự ổn định và khả năng thích nghi. Chiến lược phục vụ như một khuôn khổ nền tảng vững chắc mà các nhà giao dịch có thể tùy chỉnh theo phong cách giao dịch và môi trường thị trường của họ.
/*backtest start: 2024-12-06 00:00:00 end: 2025-01-05 00:00:00 period: 2h basePeriod: 2h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("SMA Crossover Strategy with VWAP", overlay=true) // Input lengths for SMAs sma9Length = 9 sma50Length = 50 sma200Length = 200 // Calculate SMAs sma9 = ta.sma(close, sma9Length) // 9-period SMA sma50 = ta.sma(close, sma50Length) // 50-period SMA sma200 = ta.sma(close, sma200Length) // 200-period SMA // Calculate VWAP vwapValue = ta.vwap(close) // Long entry condition: SMA 9 crosses above SMA 50 and SMA 200 is less than SMA 50, and close is above VWAP longCondition = ta.crossover(sma9, sma50) and (sma200 < sma50) and (close > vwapValue) if (longCondition) strategy.entry("Long", strategy.long) // Exit condition for long: SMA 9 crosses below SMA 50 longExitCondition = ta.crossunder(sma9, sma50) if (longExitCondition) strategy.close("Long") // Short entry condition: SMA 9 crosses below SMA 50 and SMA 200 is greater than SMA 50, and close is below VWAP shortCondition = ta.crossunder(sma9, sma50) and (sma200 > sma50) and (close < vwapValue) if (shortCondition) strategy.entry("Short", strategy.short) // Exit condition for short: SMA 9 crosses above SMA 50 shortExitCondition = ta.crossover(sma9, sma50) if (shortExitCondition) strategy.close("Short") // Plotting the indicators on the chart plot(sma9, color=color.blue, title="SMA 9") plot(sma50, color=color.orange, title="SMA 50") plot(sma200, color=color.red, title="SMA 200") plot(vwapValue, color=color.green, title="VWAP")