Đây là một chiến lược giao dịch đảo ngược trung bình dựa trên giá trung bình cân nhắc khối lượng (VWAP) và các kênh lệch chuẩn. Chiến lược xác định các cơ hội giao dịch bằng cách đo độ lệch giá từ VWAP, nhập vào các vị trí chống xu hướng khi giá vượt qua các dải lệch chuẩn và đóng các vị trí khi giá quay trở lại VWAP. Cách tiếp cận này tận dụng các đặc điểm đảo ngược trung bình của thị trường, kết hợp phân tích kỹ thuật và các nguyên tắc thống kê.
Cơ chế cốt lõi dựa trên tính toán VWAP và độ biến động giá lệch chuẩn để thiết lập phạm vi giao dịch.
Đây là một chiến lược trung lập với thị trường dựa trên các nguyên tắc thống kê, nắm bắt độ lệch giá và đảo ngược bằng cách sử dụng VWAP và các kênh lệch chuẩn. Chiến lược có các đặc điểm khách quan và có hệ thống nhưng đòi hỏi phải chú ý đến kiểm soát rủi ro và tối ưu hóa tham số trong ứng dụng thực tế. Sự ổn định và độ tin cậy của chiến lược có thể được tăng thêm thông qua việc thêm các bộ lọc xu hướng và cơ chế quản lý rủi ro được cải thiện.
/*backtest start: 2024-12-03 00:00:00 end: 2024-12-10 00:00:00 period: 1m basePeriod: 1m 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/ // © jklonoskitrader //@version=5 strategy("ETHUSD VWAP Fade Strategy", overlay=true) // Input for standard deviation multiplier std_multiplier = input.float(2.0, title="Standard Deviation Multiplier") // Calculate cumulative VWAP cumulative_pv = ta.cum(close * volume) // Cumulative price * volume cumulative_vol = ta.cum(volume) // Cumulative volume vwap = cumulative_pv / cumulative_vol // VWAP calculation // Calculate standard deviation of the closing price length = input.int(20, title="Standard Deviation Length") std_dev = ta.stdev(close, length) upper_band = vwap + std_multiplier * std_dev lower_band = vwap - std_multiplier * std_dev // Plot VWAP and its bands plot(vwap, color=color.blue, linewidth=2, title="VWAP") plot(upper_band, color=color.red, linewidth=1, title="Upper Band") plot(lower_band, color=color.green, linewidth=1, title="Lower Band") // Strategy conditions go_long = ta.crossunder(close, lower_band) go_short = ta.crossover(close, upper_band) // Execute trades if (go_long) strategy.entry("Long", strategy.long) if (go_short) strategy.entry("Short", strategy.short) // Exit strategy if (strategy.position_size > 0 and close > vwap) strategy.close("Long") if (strategy.position_size < 0 and close < vwap) strategy.close("Short")