
Ý 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ò.
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à:
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.
Chiến lược này có những ưu điểm chính như sau:
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.
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à:
Để 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:
Để tối ưu hóa chiến lược này hơn nữa, bạn có thể xem xét:
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.
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.
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.
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.
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.
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.
/*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()