Chiến lược theo dõi đảo ngược động lượng dựa trên SAR


Ngày tạo: 2024-02-04 17:40:20 sửa đổi lần cuối: 2024-02-04 17:40:20
sao chép: 0 Số nhấp chuột: 620
1
tập trung vào
1617
Người theo dõi

Chiến lược theo dõi đảo ngược động lượng dựa trên SAR

Tổng quan

Bài viết này giới thiệu một chiến lược theo dõi ngược động lực dựa trên chỉ số Parabolic 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 trong thị trường tương lai Nifty, để thực hiện giao dịch theo dõi xu hướng tự động.

Chiến lược này chủ yếu dành cho các nhà giao dịch ưa thích phương pháp giao dịch có hệ thống, nó cung cấp tín hiệu nhập và thoát rõ ràng. Bằng cách nắm bắt xu hướng thị trường, chiến lược này giúp đạt được mục tiêu tài chính của các nhà giao dịch.

Nguyên tắc chiến lược

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

Khi giá SAR đi lên hoặc đi xuống, nó cho thấy xu hướng tiềm năng bị đảo ngược, và chiến lược sẽ tháo dỡ hoặc tháo dỡ 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ố gia tốc, chiến lược liên tục theo dõi giá cao hoặc thấp và điều chỉnh giá trị SAR theo đó. Trên đường K được xác nhận, nếu xu hướng giảm giá thì làm giảm giá dưới giá trị SAR; nếu xu hướng giảm giá thì làm nhiều trên giá trị SAR.

Phân tích lợi thế chiến lược

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

Phân tích rủi ro

  • Chỉ số SAR không chắc chắn 100%, có thể có tín hiệu sai
  • Sự thất bại của việc đảo ngược có thể dẫn đến mất mát
  • Cần xem xét tác động của thời hạn hợp đồng đối với chiến lược
  • Cần xem xét tác động của chi phí giao dịch đối với lợi nhuận chiến lược

Hướng tối ưu hóa chiến lược

  • Tối ưu hóa các tham số chỉ số SAR (dài bước, giá trị ban đầu, giá trị tối đa, v.v.)
  • Kết hợp với các chỉ số tín hiệu đảo ngược khác (như RSI, MACD, v.v.) để đánh giá sự đảo ngược
  • Tăng logic điều kiện ((thương lượng giao dịch, v.v.)
  • Xem xét điều chỉnh dừng cố định thành dừng theo dõi
  • Cân nhắc việc tự động điều chỉnh quy mô vị trí

Tóm tắt

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

Mã nguồn chiến lược
/*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)