Ý tưởng chính của chiến lược này là sử dụng cả các chỉ số Parabolic SAR và EMA để xác định hướng xu hướng và thời gian nhập thị trường. Parabolic SAR được sử dụng để xác định hướng xu hướng hiện tại và EMA được sử dụng để hỗ trợ xác định thời gian cụ thể nhập thị trường. Khi SAR trên giá, đó là thị trường gấu. Khi SAR dưới giá, đó là thị trường bò. Khi nhập thị trường, nó cũng yêu cầu giá vượt qua EMA trước khi xu hướng được coi là hình thành.
Chỉ số cốt lõi của chiến lược này là Parabolic SAR, là một công cụ phân tích kỹ thuật có thể theo dõi giá và đánh giá sự đảo ngược xu hướng. 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. Chỉ số SAR liên tục điều chỉnh vị trí của nó để luôn ở phía sau giá. Khi giá đảo ngược, nó sẽ ngay lập tức điều chỉnh vị trí của nó sang phía bên kia của giá. Do đó, chỉ cần quan sát vị trí của chỉ số SAR tương đối với giá để đánh giá xu hướng hướng hiện tại.
Một chỉ số khác hỗ trợ chiến lược này là EMA. Không giống như SAR, EMA phù hợp hơn để đánh giá tính bền vững của xu hướng. Bằng cách yêu cầu giá vượt qua EMA trước khi vào thị trường, một số tiếng ồn có thể được lọc ra một cách hiệu quả. Và EMA cũng có thể được sử dụng để xác nhận các tín hiệu đảo ngược. Ví dụ, khi giá vượt qua xu hướng tăng EMA, nó có thể là một tín hiệu đảo ngược xu hướng.
Tóm lại, các quy tắc giao dịch cụ thể của chiến lược này là như sau:
Bằng cách xác định xu hướng chính thông qua Parabolic SAR và lọc các tín hiệu gây hiểu lầm bằng EMA, có thể khóa xu hướng trong khi kiểm soát rủi ro và đạt được theo dõi xu hướng hiệu quả.
Chiến lược này có những lợi thế chính sau:
Nói chung, chiến lược này tích hợp các lợi thế của nhiều chỉ số, trong khi nắm bắt xu hướng, nó cũng đạt được kiểm soát rủi ro hiệu quả, và đó là một chiến lược theo dõi xu hướng ổn định dễ dàng để làm chủ.
Mặc dù chiến lược này có nhiều lợi thế, nhưng vẫn có một số rủi ro cần được bảo vệ trong quá trình hoạt động thực tế.
Để giảm thiểu các rủi ro trên, tối ưu hóa có thể được thực hiện trong các khía cạnh sau:
Để tối ưu hóa thêm chiến lược này, hãy xem xét các khía cạnh sau:
Tối ưu hóa cài đặt tham số. Các phương pháp như thuật toán di truyền có thể được sử dụng để kiểm tra và tối ưu hóa các tham số của EMA và SAR để tìm ra sự kết hợp tham số tối ưu.
Thêm các công cụ đánh giá xu hướng. Các chỉ số khác như MACD và Bollinger Bands có thể được thêm để xác nhận xu hướng và cải thiện độ chính xác.
Đặt điểm dừng mất mát động dựa trên các chỉ số như ATR để dừng linh hoạt hơn.
Xem xét chi phí giao dịch. giới thiệu các thông số trượt và hoa hồng để tối ưu hóa lợi nhuận ròng thay vì lợi nhuận tuyệt đối.
Nhập và thoát nhiều cấp độ. Các cơ chế nhập và thoát nhiều cấp độ phức tạp hơn có thể được thiết lập để xây dựng các vị trí hoặc dừng lỗ theo các giai đoạn ở các giai đoạn xu hướng khác nhau.
Với các tối ưu hóa trên, trong khi theo dõi xu hướng, chiến lược có thể đạt được sự ổ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, do đó đạt được hiệu suất tốt hơn.
Chiến lược theo dõi xu hướng Parabolic SAR và EMA tích hợp các lợi thế của nhiều chỉ số để đánh giá hướng xu hướng và thời gian nhập cảnh. Với SAR được đặt như điểm dừng lỗ, rủi ro được kiểm soát. Đây là một chiến lược định lượng tương đối ổn định. Chiến lược này có những lợi thế như độ chính xác đánh giá cao và dễ dàng làm chủ. Nhưng cũng có một số rủi ro nhất định.
/*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()