Chiến lược theo dõi SAR Momentum Reversal

Tác giả:ChaoZhang, Ngày: 2024-02-04 17:40:20
Tags:

img

Tổng quan

Bài viết này giới thiệu một chiến lược theo dõi đảo ngược động lực dựa trên chỉ số Parabolic Stop and Reverse (SAR). Chiến lược này sử dụng chỉ số Parabolic SAR để xác định sự đảo ngược xu hướng tiềm năng trong thị trường Nifty Futures cho giao dịch theo dõi xu hướng tự động.

Chiến lược này chủ yếu phù hợp với các nhà giao dịch thích cách tiếp cận giao dịch có hệ thống, cung cấp các tín hiệu vào và ra rõ ràng.

Chiến lược logic

Chiến lược này sử dụng chỉ số SAR Parabolic để xác định hướng xu hướng giá. Trong xu hướng tăng, giá trị SAR nằm dưới giá và dần dần di chuyển lên khi mức cao mới xảy ra; Trong xu hướng giảm, giá trị SAR nằm trên giá và dần dần di chuyển xuống khi mức thấp mới xảy ra.

Khi giá trị SAR vượt trên hoặc dưới giá, nó cho thấy một sự đảo ngược xu hướng tiềm năng và chiến lược sẽ có các vị trí ngắn hoặc dài tương ứng để nắm bắt hướng xu hướng mới.

Cụ thể, sau khi tính toán ban đầu giá trị SAR hiện tại và yếu tố tăng tốc, chiến lược tiếp tục theo dõi mức cao/ thấp mới và điều chỉnh giá trị SAR phù hợp. Trên thanh xác nhận, nếu trong xu hướng tăng, nó có vị trí ngắn dưới giá trị SAR; nếu trong xu hướng giảm, nó có vị trí dài trên giá trị SAR.

Phân tích lợi thế

  • Khám phá sự đảo ngược thị trường bằng cách sử dụng chỉ số SAR Parabolic cổ điển
  • Cung cấp các tín hiệu vào và ra rõ ràng
  • Giúp theo dõi xu hướng và nắm bắt chuyển động giá bổ sung
  • Hệ thống giao dịch tự động mà không cần ra quyết định bằng tay

Phân tích rủi ro

  • Các tín hiệu chỉ báo SAR có thể không đáng tin cậy 100%, có thể xảy ra các tín hiệu sai
  • Việc đảo ngược không thành công có thể gây ra lỗ dừng
  • Tác động của việc xem xét nhu cầu hết hạn hợp đồng
  • Tác động của chi phí giao dịch đến lợi nhuận chiến lược

Hướng dẫn tối ưu hóa

  • Tối ưu hóa các thông số SAR (bước, giá trị ban đầu, giá trị tối đa, v.v.)
  • Kết hợp các chỉ số đảo ngược khác (RSI, MACD vv) để xác nhận đảo ngược
  • Thêm logic điều kiện (thần số v.v.) để lọc tín hiệu sai
  • Xem xét sử dụng dừng lại sau thay vì dừng cố định
  • Xem xét tự động điều chỉnh vị trí kích thước

Kết luận

Chiến lược cung cấp một hệ thống tự động để nắm bắt sự đảo ngược xu hướng thị trường bằng cách sử dụng chỉ số Parabolic SAR. Nó cung cấp các tín hiệu vào và ra rõ ràng cho các quyết định giao dịch, giúp kiếm lợi từ theo dõi xu hướng. Nhưng các vấn đề như tín hiệu sai, rủi ro dừng lỗ cũng cần chú ý. Với tối ưu hóa liên tục, nó có tiềm năng trở thành một phương pháp theo dõi xu hướng đáng tin cậy.


/*backtest
start: 2024-01-27 00:00:00
end: 2024-02-03 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Positional Parabolic SAR Strategy", overlay=true)
initial = input(0.02)
step = input(0.02)
cap = input(0.2)
var bool isUptrend = na
var float Extremum = na
var float SARValue = na
var float Accelerator = initial
var float futureSAR = na

if bar_index > 0
    isNewTrendBar = false
    SARValue := futureSAR
    if bar_index == 1
        float pastSAR = na
        float pastExtremum = na
        previousLow = low[1]
        previousHigh = high[1]
        currentClose = close
        pastClose = close[1]
        if currentClose > pastClose
            isUptrend := true
            Extremum := high
            pastSAR := previousLow
            pastExtremum := high
        else
            isUptrend := false
            Extremum := low
            pastSAR := previousHigh
            pastExtremum := low
        isNewTrendBar := true
        SARValue := pastSAR + initial * (pastExtremum - pastSAR)
    if isUptrend
        if SARValue > low
            isNewTrendBar := true
            isUptrend := false
            SARValue := math.max(Extremum, high)
            Extremum := low
            Accelerator := initial
    else
        if SARValue < high
            isNewTrendBar := true
            isUptrend := true
            SARValue := math.min(Extremum, low)
            Extremum := high
            Accelerator := initial
    if not isNewTrendBar
        if isUptrend
            if high > Extremum
                Extremum := high
                Accelerator := math.min(Accelerator + step, cap)
        else
            if low < Extremum
                Extremum := low
                Accelerator := math.min(Accelerator + step, cap)
    if isUptrend
        SARValue := math.min(SARValue, low[1])
        if bar_index > 1
            SARValue := math.min(SARValue, low[2])
    else
        SARValue := math.max(SARValue, high[1])
        if bar_index > 1
            SARValue := math.max(SARValue, high[2])
    futureSAR := SARValue + Accelerator * (Extremum - SARValue)
    if barstate.isconfirmed
        if isUptrend
            strategy.entry("ShortEntry", strategy.short, stop=futureSAR, comment="ShortEntry")
            strategy.cancel("LongEntry")
        else
            strategy.entry("LongEntry", strategy.long, stop=futureSAR, comment="LongEntry")
            strategy.cancel("ShortEntry")
plot(SARValue, style=plot.style_cross, linewidth=3, color=color.white)
plot(futureSAR, style=plot.style_cross, linewidth=3, color=color.red)


Thêm nữa