Parabolic SAR là một chiến lược giao dịch dựa trên chỉ số Parabolic SAR. Chiến lược này được thiết kế để xác định điểm đảo ngược của xu hướng và rút khỏi vị trí khi xu hướng đảo ngược.
Chỉ số Parabolic SAR có thể nhận ra xu hướng giá và cung cấp tín hiệu đảo ngược tiềm năng. Khi điểm SAR vượt qua đường K, nó đại diện cho đầu nhiều đầu vào đầu trống; Khi điểm SAR vượt qua đường K, nó đại diện cho đầu nhiều đầu vào đầu trống.
Chiến lược này dựa trên tính năng này của chỉ số Parabolic SAR, nhận ra sự đảo ngược xu hướng khi điểm SAR đi qua đường K và thực hiện các hoạt động tháo hoặc tháo tương ứng. Cụ thể, logic của chiến lược là như sau:
Tính toán Parabolic SAR.
Xác định liệu có tín hiệu đảo ngược xu hướng hay không. Nếu điểm SAR đi từ trên xuống dưới đường K, đại diện cho tín hiệu đầu không, làm trống; Nếu điểm SAR đi từ dưới xuống trên đường K, đại diện cho tín hiệu đa đầu, làm nhiều hơn.
Khởi động vị trí khi vượt qua và dừng vị trí khi vượt qua đường K một lần nữa bằng điểm SAR ngược.
Sử dụng chỉ số Parabolic SAR để xác định điểm đảo ngược xu hướng và tránh hoạt động đảo ngược trong xu hướng.
Các nhà đầu tư có thể chọn các giao dịch khác nhau để tạo ra các giao dịch khác nhau.
Thiết lập điểm dừng SAR một lần nữa vượt qua đường K, có thể dừng lỗ nhanh chóng và kiểm soát lỗ trong thời gian.
Chiến lược của tôi rất đơn giản, rõ ràng và dễ thực hiện.
Chỉ số Parabolic SAR có thể tạo ra nhiều tín hiệu giả, gây ra giao dịch không cần thiết. Các tham số của SAR có thể được điều chỉnh thích hợp để giảm tỷ lệ tín hiệu giả.
Trong thị trường biến động nhanh, dễ bị lôi kéo. Bạn có thể xem xét thêm các điều kiện lọc để tránh các giai đoạn biến động mạnh.
Các điểm dừng quá gần có thể bị dừng quá thường xuyên. Bạn có thể mở rộng phạm vi dừng một cách thích hợp để cho giá có một số không gian điều chỉnh.
Chỉ số chỉ dựa vào một thị trường cụ thể bị hạn chế, bạn có thể xem xét thêm các chỉ số khác hoặc điều kiện lọc để tăng tính phù hợp.
Parabolic SAR theo dõi chiến lược dừng lỗ bằng cách sử dụng khả năng nhận biết xu hướng của chỉ số Parabolic SAR, chuyển đổi hướng dừng lỗ nhanh chóng khi xu hướng đảo ngược. Ý tưởng chiến lược đơn giản, rõ ràng và dễ nắm bắt. Tuy nhiên, chỉ dựa vào chỉ số Parabolic SAR có một số hạn chế, trong ứng dụng thực tế cần xem xét toàn diện môi trường thị trường, điều chỉnh các tham số thích hợp và phối hợp với các chỉ số kỹ thuật khác để thực hiện.
/*backtest
start: 2023-08-16 00:00:00
end: 2023-09-15 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="Parabolic SAR Strategy (on close) [QuantNomad]", shorttitle="SAR Strategy [QN]", overlay=true)
start = input(0.02)
increment = input(0.02)
maximum = input(0.2)
psar = 0.0 // PSAR
af = 0.0 // Acceleration Factor
trend_dir = 0 // Current direction of PSAR
ep = 0.0 // Extreme point
sar_long_to_short = trend_dir[1] == 1 and close <= psar[1] // PSAR switches from long to short
sar_short_to_long = trend_dir[1] == -1 and close >= psar[1] // PSAR switches from short to long
trend_change = barstate.isfirst[1] or sar_long_to_short or sar_short_to_long
// Calculate trend direction
trend_dir := barstate.isfirst[1] and close[1] > open[1] ? 1 :
barstate.isfirst[1] and close[1] <= open[1] ? -1 :
sar_long_to_short ? -1 :
sar_short_to_long ? 1 : nz(trend_dir[1])
// Calculate Acceleration Factor
af := trend_change ? start :
(trend_dir == 1 and high > ep[1]) or
(trend_dir == -1 and low < ep[1]) ?
min(maximum, af[1] + increment) :
af[1]
// Calculate extreme point
ep := trend_change and trend_dir == 1 ? high :
trend_change and trend_dir == -1 ? low :
trend_dir == 1 ? max(ep[1], high) :
min(ep[1], low)
// Calculate PSAR
psar := barstate.isfirst[1] and close[1] > open[1] ? low[1] :
barstate.isfirst[1] and close[1] <= open[1] ? high[1] :
trend_change ? ep[1] :
trend_dir == 1 ? psar[1] + af * (ep - psar[1]) : psar[1] - af * (psar[1] - ep)
plot(psar, style=plot.style_cross, color=trend_dir == 1 ? color.green : color.red, linewidth = 2)
// Strategy
strategy.entry("Long", true, when = sar_short_to_long)
strategy.entry("Short", false, when = sar_long_to_short)