Chiến lược SuperTrend dựa trên ATR

Tác giả:ChaoZhang, Ngày: 2024-1-18 12:26:33
Tags:

img

Tổng quan

Chiến lược này xây dựng một kênh SuperTrend dựa trên chỉ số Average True Range (ATR) để tạo ra tín hiệu mua và bán khi giá vượt qua kênh. Nó kết hợp các lợi thế của việc theo xu hướng và quản lý dừng lỗ.

Chiến lược logic

Các băng tần trên và dưới của kênh SuperTrend được tính như sau:

Phạm vi trên = (Giá cao nhất + Giá thấp nhất) / 2 + ATR ((n) * Nhân tố Phạm vi thấp hơn = (Giá cao nhất + Giá thấp nhất) / 2 - ATR ((n) * Nhân tố

Trong đó ATR(n) là khoảng trung bình thực tế n-phần và Factor là một tham số có thể điều chỉnh, mặc định là 3.

Một tín hiệu tăng được tạo ra khi giá đóng vượt trên dải trên. Một tín hiệu giảm được tạo ra khi giá đóng vượt dưới dải dưới. Chiến lược xác định các bước vào và ra dựa trên các tín hiệu này.

Phân tích lợi thế

  • Sử dụng ATR để xác định phạm vi kênh dựa trên biến động thị trường, theo dõi hiệu quả xu hướng
  • Tìm kiếm sự đột phá kênh để xác định thời gian nhập cảnh, tránh sự đột phá sai
  • Phạm vi kênh có thể điều chỉnh thông qua tham số yếu tố, thích nghi với các thị trường có biến động khác nhau
  • Tích hợp các lợi thế của xu hướng theo dõi và quản lý dừng lỗ

Phân tích rủi ro

  • Việc thiết lập tham số yếu tố không chính xác có thể dẫn đến việc lấy lợi nhuận không đủ hoặc dừng lỗ quá mức
  • Các tín hiệu giao dịch thường xuyên có thể xảy ra trong quá trình củng cố thị trường, có khả năng giao dịch quá mức
  • Cần tối ưu hóa sự phù hợp giữa thời gian ATR và tham số yếu tố

Phương pháp giải quyết rủi ro:

  • Điều chỉnh tham số yếu tố dựa trên các thị trường khác nhau để giảm lỗ dừng quá mức
  • Thêm lọc điều kiện để tránh giao dịch thường xuyên trong quá trình hợp nhất
  • Xem xét toàn diện sự biến động, thời gian giữ, v.v. để phù hợp với thời gian ATR

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

  • Kết hợp các chỉ số khác để lọc tín hiệu và tối ưu hóa các mục nhập
  • Thêm theo dõi dừng lỗ di chuyển để khóa trong lợi nhuận nhiều hơn
  • Tối ưu hóa tham số cho các sản phẩm và khung thời gian khác nhau
  • Tối ưu hóa sự khớp giữa thời gian ATR và các tham số yếu tố

Tóm lại

Chiến lược này sử dụng kênh SuperTrend để theo dõi xu hướng và quản lý dừng lỗ. Sự phù hợp giữa thời gian ATR và các thông số yếu tố là rất quan trọng. Bước tiếp theo là tối ưu hóa thêm chiến lược thông qua điều chỉnh tham số, lọc tín hiệu vv, làm cho nó thích nghi với môi trường thị trường phức tạp hơn.


/*backtest
start: 2023-01-11 00:00:00
end: 2024-01-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Supertrend Backtest", shorttitle="STBT", overlay=true)

// Input for ATR Length
atrLength = input.int(10, title="ATR Length", minval=1)
atrFactor = input.float(3.0, title="Factor", minval=0.01, step=0.01)

// Calculate SuperTrend
[supertrend, direction] = ta.supertrend(atrFactor, atrLength)
supertrend := barstate.isfirst ? na : supertrend

// Define entry and exit conditions
longCondition = ta.crossover(close, supertrend)
shortCondition = ta.crossunder(close, supertrend)

// Plot the SuperTrend
plot(supertrend, color=color.new(color.blue, 0), title="SuperTrend")

// Plot Buy and Sell signals
plotshape(series=longCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal")
plotshape(series=shortCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal")

// Strategy Entry and Exit
strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)



Thêm nữa