Chiến lược dừng lỗ ES dựa trên ATR


Ngày tạo: 2024-01-12 14:52:23 sửa đổi lần cuối: 2024-01-12 14:52:23
sao chép: 3 Số nhấp chuột: 673
1
tập trung vào
1617
Người theo dõi

Chiến lược dừng lỗ ES dựa trên ATR

Tổng quan

Chiến lược này là một chiến lược dừng theo dõi được áp dụng cho hợp đồng S&P 500 tương lai E-mini (ES). Nó sử dụng ATR 10 ngày làm tham chiếu và thiết lập đường dừng của nhiều đầu và đầu trống với 3 lần ATR làm phạm vi dừng. Chiến lược này đánh giá xu hướng bằng cách thay đổi hướng của đường ATR và tạo ra tín hiệu vào cửa tại điểm chuyển hướng. Sau khi vào cửa, nó sẽ điều chỉnh đường dừng trong thời gian thực để đường dừng theo dõi giá và bảo vệ lợi nhuận.

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

Chiến lược này sử dụng hl2 làm nguồn giá. Đầu tiên, tính ATR 10 ngày và cho người dùng lựa chọn tính ATR bằng cách sử dụng phương thức SMA hoặc hàm ATR tích hợp. Sau khi tính ATR, hãy thêm 3 lần ATR lên dưới như là phạm vi. Hai phạm vi này là đường dừng lỗ.

Phương pháp đánh giá xu hướng là, khi giá vượt quá biên giới trên, thì là đầu nhiều; khi giá rơi xuống biên giới dưới, thì là đầu không. Khi giá quay trở lại phạm vi, thì xác nhận xu hướng đảo chiều.

Sau khi vào sân, đường dừng đa đầu được thiết lập để di chuyển xuống 1 điểm ở biên trên và đường dừng đầu rỗng được thiết lập để di chuyển lên 1 điểm ở biên dưới, để bảo vệ theo dõi.

Lợi thế chiến lược

  1. Sử dụng ATR có thể tự động thích ứng với sự thay đổi của biến động thị trường, giảm khả năng dừng lỗ được kích hoạt
  2. Phương pháp theo dõi xu hướng đơn giản và hiệu quả, tránh rủi ro về đỉnh và đáy
  3. Đặt dấu chấm dứt để bảo vệ lợi nhuận và tránh thua lỗ sau khi đạt được lợi nhuận

Phân tích rủi ro

  1. Thiết lập tham số ATR không đúng có thể dẫn đến phạm vi dừng quá lớn hoặc quá nhỏ
  2. Khi biến động của chỉ số biến động, có thể xảy ra lỗ hổng bất thường
  3. TAILING Stop Loss có thể quá bảo thủ và không theo dõi xu hướng

Hướng tối ưu hóa

  1. Có thể xem xét tối ưu hóa tham số ATR kết hợp với chỉ số tỷ lệ dao động
  2. Có thể thử nghiệm các thuật toán dừng lỗ khác nhau của TAILING, chẳng hạn như dừng lỗ phần trăm số dư
  3. Có thể kết hợp các chỉ số xu hướng để lọc tín hiệu nhập cảnh, tránh nhập cảnh không chủ đạo

Tóm tắt

Chiến lược này nói chung là một chiến lược theo dõi xu hướng phổ biến hơn. Nó giải quyết vấn đề khó xác định phạm vi dừng lỗ, giảm rủi ro bằng cách điều chỉnh động ATR. Đồng thời theo dõi dừng lỗ để bảo vệ lợi nhuận.

Mã nguồn chiến lược
/*backtest
start: 2023-01-05 00:00:00
end: 2024-01-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("ATR Based Trailing Stop Strategy on ES! [v4]", overlay=true)

// Given ATR study
Periods = input(title="ATR Period", type=input.integer, defval=10)
src = input(hl2, title="Source")
Multiplier = input(title="ATR Multiplier", type=input.float, step=0.1, defval=3.0)
changeATR = input(title="Change ATR Calculation Method ?", type=input.bool, defval=true)
atr2 = sma(tr, Periods)
atr = changeATR ? atr(Periods) : atr2
up = src - (Multiplier * atr)
up1 = nz(up[1], up)
up := close[1] > up1 ? max(up, up1) : up
dn = src + (Multiplier * atr)
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? min(dn, dn1) : dn
trend = 1
trend := nz(trend[1], trend)
trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend

// Entry logic based on trend change
longCondition = trend == 1 and trend[1] == -1
shortCondition = trend == -1 and trend[1] == 1

if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)

// Trailing stop loss logic
// For long positions, trail 1 point below the up plot
longStopPrice = up - 1

// For short positions, trail 1 point above the dn plot
shortStopPrice = dn + 1

strategy.exit("Trailing Stop Long", "Long", trail_offset=longStopPrice)
strategy.exit("Trailing Stop Short", "Short", trail_offset=shortStopPrice)