Type/to search

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

Common strategy
Created: 2023-10-10 10:50:21
Last modified: 3 years ago
1
Follow
1802
Followers

Tổng quan

Chiến lược này sử dụng chỉ báo ATR để thiết lập điểm dừng lỗ động, điều chỉnh vị trí dừng lỗ dựa trên biên độ dao động giá, nhằm kiểm soát rủi ro. Chiến lược chủ yếu vào lệnh long khi đường EMA 5 ngày cắt lên trên EMA 20 ngày (golden cross), sau đó sử dụng chỉ báo ATR để xác định vị trí dừng lỗ và chốt lời. Vị trí dừng lỗ sẽ được điều chỉnh theo biến động giá, từ đó khóa thêm nhiều lợi nhuận.

Nguyên lý chiến lược

Đầu tiên, chiến lược xác định điểm vào lệnh long khi đường EMA 5 ngày cắt lên trên EMA 20 ngày (golden cross). Sau khi vào lệnh, sử dụng chỉ báo ATR để tính bội số ATR từ giá vào lệnh đến giá hiện tại, đặt vị trí dừng lỗ cách giá vào lệnh 1,5 ATR về phía dưới. Sau đó, khi giá tăng, nâng dần vị trí dừng lỗ lên; nếu giá tăng vượt quá 3 ATR so với giá vào lệnh, thì chốt lời một phần.

Cụ thể, chiến lược sẽ xác định các biến sau:

  • entry_price: giá vào lệnh
  • stop_price: giá dừng lỗ
  • take_profit_price: giá chốt lời
  • atr_down: đường ATR phía dưới
  • atr_up: đường ATR phía trên
  • atr_current: đường ATR hiện tại
  • atr_ref: giá trị ATR

Sau khi vào lệnh, atr_ref được tính là giá trị ATR hiện tại, atr_div là bội số ATR từ giá vào lệnh đến giá hiện tại. Sau đó, dựa vào atr_div để xác định vị trí của atr_down, atr_current và atr_up. Giá dừng lỗ stop_price được đặt cách giá vào lệnh 1,5 ATR về phía dưới.

Khi giá tăng, bằng cách so sánh giá trung bình avg và atr_up, nếu avg cắt lên trên atr_up, thì tính lại atr_div và vị trí tương ứng của ATR, từ đó nâng dần đường dừng lỗ lên, gia tăng lợi nhuận nắm giữ.

Nếu giá vượt quá 3 ATR so với giá vào lệnh, sẽ đóng một phần vị thế để chốt lời, lúc này cờ tookProfit được đặt thành true. Sau đó, nếu giá tiếp tục tăng, tiếp tục nâng vị trí dừng lỗ. Nếu chạm dừng lỗ, sẽ kiểm tra tookProfit; nếu đã chốt lời một phần trước đó, thì chỉ đóng phần vị thế còn lại, nếu không thì đóng toàn bộ vị thế.

Ưu điểm của chiến lược

  1. Sử dụng chỉ báo ATR để điều chỉnh vị trí dừng lỗ một cách linh hoạt, có thể thiết lập khoảng cách dừng lỗ hợp lý dựa trên mức độ biến động của thị trường.
  2. Trong khi giới hạn thua lỗ, chiến lược đi theo xu hướng để cắt lợi nhuận. Đường dừng lỗ được nâng dần, giúp lợi nhuận tích lũy liên tục.
  3. Cơ chế chốt lời một phần có thể khóa một phần lợi nhuận, giảm rủi ro. Sau đó, vị trí dừng lỗ tiếp tục được nâng lên, cho phép lợi nhuận tiếp tục chạy.

Rủi ro của chiến lược

  1. Chỉ báo ATR không nhạy với các đột phá bất thường, không thể đối phó với rủi ro gap.
  2. Chỉ báo EMA không thể xác định sự đảo chiều xu hướng, có thể dẫn đến vào lệnh mới khi xu hướng đảo chiều.
  3. Sau khi chốt lời một phần, khả năng thua lỗ khi đảo chiều cao hơn.
  4. Tối ưu hóa tham số chưa đầy đủ, mức dừng lỗ 1,5 ATR và chốt lời 3 ATR cần được điều chỉnh tùy theo từng sản phẩm.

Tối ưu hóa chiến lược

  1. Có thể cân nhắc thêm các chỉ báo dừng lỗ khác, như kênh Donchian, để khắc phục độ trễ của ATR.
  2. Có thể thử nghiệm các chỉ báo đường trung bình khác, hoặc thêm MACD để xác định sự đảo chiều xu hướng.
  3. Có thể tối ưu tỷ lệ và số lần chốt lời một phần, các sản phẩm khác nhau có thể có cài đặt riêng.
  4. Tăng cường tối ưu hóa tham số, thử nghiệm hiệu quả dừng lỗ/chốt lời với các bội số ATR khác nhau. Thêm chức năng dừng lỗ/chốt lời theo bước.
  5. Kiểm tra hiệu suất khi xu hướng yếu, có thể chỉ kích hoạt chiến lược này khi xu hướng đủ mạnh.

Tổng kết

Chiến lược này có ý tưởng tổng thể rõ ràng và dễ hiểu, ưu điểm lớn nhất là sử dụng chỉ báo ATR để điều chỉnh dừng lỗ động nhằm kiểm soát rủi ro giao dịch. Tuy nhiên, bản thân ATR có độ trễ và cần tối ưu hóa cài đặt tham số. Việc thêm các chỉ báo dừng lỗ và xác định xu hướng khác sẽ là hướng cải tiến. Ngoài ra, cơ chế chốt lời một phần cũng cần được tối ưu hóa và kiểm tra riêng cho từng sản phẩm. Nhìn chung, chiến lược này cung cấp một cách tiếp cận quản lý dừng lỗ dựa trên ATR, nhưng cần được tối ưu hóa và hoàn thiện thêm.

Source
Pine
/*backtest
start: 2022-10-03 00:00:00
end: 2023-10-09 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ekinbasarkomur

//@version=5
Comment
All comments (0)
No data
No data
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)