Chiến lược theo xu hướng dựa trên Parabolic SAR và EMA


Ngày tạo: 2023-12-22 13:04:55 sửa đổi lần cuối: 2023-12-22 13:04:55
sao chép: 1 Số nhấp chuột: 1032
1
tập trung vào
1623
Người theo dõi

Chiến lược theo xu hướng dựa trên Parabolic SAR và EMA

Tổng quan

Ý tưởng chính của chiến lược này là sử dụng cả hai chỉ số Parabolic SAR và EMA để xác định hướng xu hướng và thời gian ra thị trường. Trong đó, Parabolic SAR được sử dụng để xác định hướng xu hướng hiện tại, EMA được sử dụng để xác định thời gian ra thị trường cụ thể. Khi SAR ở trên giá là thị trường gấu, khi SAR ở dưới giá là thị trường bò.

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

Chỉ số cốt lõi của chiến lược này là Parabolic SAR, một công cụ phân tích kỹ thuật có thể theo dõi giá và đánh giá xu hướng đảo ngược. Công thức tính toán của nó phức tạp hơn, nhưng nguyên tắc đơn giản và trực quan hơn. Chỉ số SAR luôn ở phía sau giá bằng cách liên tục điều chỉnh vị trí của mình, và khi giá đảo ngược, nó sẽ ngay lập tức điều chỉnh vị trí sang phía bên kia của giá.

Một chỉ số khác hỗ trợ chiến lược này là EMA. Không giống như SAR, EMA thích hợp hơn để đánh giá tính bền vững của xu hướng. Nó có thể lọc một phần tiếng ồn một cách hiệu quả bằng cách yêu cầu giá phải phá vỡ EMA trước khi tham gia.

Tóm lại, các quy tắc giao dịch cụ thể của chiến lược này là:

  1. Sử dụng SAR để đánh giá xu hướng, SAR ở trên giá là thị trường gấu, ở dưới giá là thị trường bò
  2. Trong thị trường bò, khi giá cao hơn EMA, bạn sẽ làm nhiều hơn; trong thị trường gấu, khi giá thấp hơn EMA, bạn sẽ làm giảm
  3. Đặt điểm dừng là giá trị SAR để kiểm soát rủi ro

Thông qua Parabolic SAR để đánh giá xu hướng lớn, sau đó sử dụng EMA lọc tín hiệu sai lệch, có thể khóa xu hướng và kiểm soát rủi ro, thực hiện theo dõi hiệu quả về xu hướng.

Phân tích lợi thế

Chiến lược này có những ưu điểm chính như sau:

  1. SAR rất nhạy cảm với sự thay đổi xu hướng và có thể xác định được hướng của xu hướng.
  2. Độ chính xác cao. EMA có thể lọc tiếng ồn, tránh bị mắc kẹt.
  3. Kiểm soát rủi ro. Bạn có thể kiểm soát tổn thất đơn lẻ bằng cách thiết lập điểm dừng SAR.
  4. Không khó thực hiện. Quy tắc chiến lược đơn giản, rõ ràng, dễ hiểu và thực hiện.

Nhìn chung, chiến lược này tích hợp các lợi thế của nhiều chỉ số, kiểm soát rủi ro hiệu quả trong khi nắm bắt xu hướng, một chiến lược theo dõi xu hướng có hiệu suất ổn định và dễ nắm bắt.

Phân tích rủi ro

Mặc dù chiến lược này có nhiều ưu điểm, nhưng trong hoạt động thực tế vẫn có một số rủi ro cần được phòng ngừa, các rủi ro chính là:

  1. Rủi ro đảo ngược xu hướng. Khi xu hướng đảo ngược, chiến lược này không thể dừng lỗ kịp thời và có thể gây ra tổn thất lớn.
  2. Rủi ro trong tình huống chấn động. Trong tình huống chấn động, chiến lược có thể gây ra nhiều tổn thất nhỏ.
  3. Rủi ro tối ưu hóa tham số. Các thiết lập tham số của SAR và EMA có thể ảnh hưởng đến hiệu suất của chiến lược và cần thử nghiệm lặp lại để tìm các tham số tối ưu nhất.

Để giảm thiểu các rủi ro trên, có thể tối ưu hóa các khía cạnh sau:

  1. Kết hợp với các chỉ số khác để đánh giá thời gian đảo ngược xu hướng, thiết lập điểm dừng nhạy cảm hơn.
  2. Tăng bộ lọc để tránh sự xuất hiện thường xuyên của động đất.
  3. Sử dụng các thuật toán di truyền và các phương tiện khác để tối ưu hóa các tham số để tìm tham số tối ưu.

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

Để tối ưu hóa chiến lược này hơn nữa, bạn có thể xem xét:

  1. Thiết lập tham số tối ưu hóa. Các tham số của EMA và SAR có thể được thử nghiệm và tối ưu hóa bằng các phương pháp có hệ thống hơn như thuật toán di truyền để tìm ra các tổ hợp tham số tối ưu nhất.

  2. Thêm các công cụ đánh giá xu hướng. Các chỉ số khác như MACD, BRI có thể được thêm vào để xác nhận xu hướng và tăng độ chính xác.

  3. Thiết lập dừng động. Bạn có thể thiết lập điểm dừng động dựa trên các chỉ số như ATR, cho phép dừng lỗ linh hoạt hơn.

  4. Xem xét chi phí giao dịch. Lập các tham số điểm trượt và phí, tối ưu hóa lợi nhuận ròng thay vì thu nhập tuyệt đối.

  5. Có thể thiết lập các cơ chế nhập cảnh và xuất cảnh đa cấp phức tạp hơn để tạo hoặc dừng lỗ theo từng giai đoạn khác nhau của xu hướng.

Bằng cách tối ưu hóa các điểm trên, chiến lược có thể đạt được hiệu suất tốt hơn bằng cách có tính ổn định cao hơn, phán đoán chính xác hơn và khả năng kiểm soát rủi ro mạnh hơn trong khi theo dõi xu hướng.

Tóm tắt

Chiến lược theo dõi xu hướng dựa trên Parabolic SAR và EMA, tích hợp nhiều chỉ số để xác định hướng xu hướng và lợi thế của thời gian nhập cảnh, bằng cách thiết lập SAR làm điểm dừng lỗ, kiểm soát rủi ro, là một chiến lược định lượng có hiệu suất tương đối ổn định. Chiến lược này có tính chính xác của sự phán đoán cao, dễ nắm bắt và các lợi thế khác, đáng để các nhà đầu tư tham khảo.

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

//@version=3
strategy("Parabolic SAR Strategy w/ EMA", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)


emalength = input(100 , "EMA Length")
emaoffset = input(0.00, "EMA Offset %")
start = input(0.015)
increment = input(0.005)
maximum = input(0.2)

////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE
 
// From Date Inputs
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2019, title = "From Year", minval = 1970)
 
// To Date Inputs
toDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2020, title = "To Year", minval = 1970)
 
// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
 
////////////////////////////////////////////////////////////////////////////////

psar = sar(start, increment, maximum)
ema = ema(close, emalength)
offset = (emaoffset / 100) * ema

// Signals
psar_long  = high[1] < psar[2] and high > psar[1] 
psar_short = low[1]  > psar[2] and low  < psar[1] 

// Plot PSAR
plotshape(psar, location = location.absolute, style = shape.cross, size = size.tiny, color = low < psar[1] and not psar_long ? green : red)

//Plot EMA
plot(ema)

if(psar_long)
    strategy.close("Short")
    
if(psar_short)
    strategy.close("Long")

if (psar < low and time_cond and close > ema + offset)
    strategy.entry("Long", strategy.long, comment="Long", stop = psar)
   
if (psar > high and time_cond and close < ema - offset)
    strategy.entry("Short", strategy.short, comment="Short", stop = psar)

if (not time_cond)
    strategy.close_all()