Chiến lược này là một hệ thống giao dịch dựa trên mối quan hệ chênh lệch giữa chỉ số SAR Parabolic và chuyển động giá. Bằng cách theo dõi hiện tượng chênh lệch giữa chỉ số SAR và xu hướng giá, nó xác định các điểm đảo ngược xu hướng tiềm năng để nắm bắt các cơ hội đảo ngược thị trường. Chiến lược sử dụng chỉ số SAR Parabolic cổ điển như là chỉ số kỹ thuật cốt lõi của nó, kết hợp với các phương pháp phân tích chênh lệch để xây dựng một hệ thống giao dịch theo xu hướng hoàn chỉnh.
Logic cốt lõi bao gồm một số yếu tố chính:
Đây là một chiến lược theo xu hướng dựa trên các chỉ số kỹ thuật cổ điển, nắm bắt các bước ngoặt của thị trường thông qua phân tích chênh lệch. Thiết kế chiến lược rõ ràng, phương pháp thực hiện ngắn gọn và có khả năng hoạt động tốt. Tuy nhiên, trong ứng dụng thực tế, nó vẫn cần tối ưu hóa theo các đặc điểm thị trường cụ thể, đặc biệt là trong các khía cạnh kiểm soát rủi ro. Thông qua việc thêm các cơ chế lọc và cải thiện hệ thống kiểm soát rủi ro, chiến lược này có tiềm năng đạt được hiệu suất giao dịch ổn định hơn.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-11 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("SAR Divergence Strategy", overlay=true) // --- Inputs --- length = input.int(14, title="SAR Length", minval=1) accelerationFactor = input.float(0.02, title="Acceleration Factor", minval=0.01) maximumFactor = input.float(0.2, title="Maximum Factor", minval=0.01) // --- SAR Calculation --- sar = ta.sar(length, accelerationFactor, maximumFactor) // --- Divergence Detection --- lookback = 5 // Bullish Divergence bullCond = close[lookback] < close[lookback + 1] and sar[lookback] > sar[lookback + 1] // Bearish Divergence bearCond = close[lookback] > close[lookback + 1] and sar[lookback] < sar[lookback + 1] // --- Strategy Logic --- if (bullCond) strategy.entry("Long", strategy.long) if (bearCond) strategy.entry("Short", strategy.short) // --- Plotting --- plot(sar, color=color.blue, linewidth=2, title="Parabolic SAR") plotshape(bullCond, style=shape.triangleup, color=color.green, size=size.small, title="Bullish Divergence") plotshape(bearCond, style=shape.triangledown, color=color.red, size=size.small, title="Bearish Divergence") // --- Alerts --- alertcondition(bullCond, title="Bullish SAR Divergence", message="Bullish Divergence detected") alertcondition(bearCond, title="Bearish SAR Divergence", message="Bearish Divergence detected")