Định danh biểu đồ
Mỗi biểu đồ trong MetaTrader 5 hoạt động trong một cửa sổ riêng biệt và có một định danh duy nhất. Đối với các lập trình viên quen thuộc với nguyên tắc hoạt động của Windows, chúng ta muốn làm rõ rằng định danh này không phải là tay cầm cửa sổ hệ thống (mặc dù API MQL5 cho phép bạn lấy cái sau thông qua thuộc tính CHART_WINDOW_HANDLE). Như chúng ta biết, ngoài khu vực làm việc chính của biểu đồ với các báo giá, còn có các khu vực bổ sung (cửa sổ phụ) với các chỉ báo có thuộc tính indicator_separate_window
. Tất cả các cửa sổ phụ là một phần của biểu đồ và thuộc về cùng một cửa sổ Windows.
long ChartID()
Hàm trả về một định danh duy nhất cho biểu đồ hiện tại.
Nhiều hàm mà chúng ta sẽ xem xét yêu cầu một ID biểu đồ làm tham số, nhưng bạn có thể chỉ định 0 cho biểu đồ hiện tại thay vì gọi ChartID
. Việc sử dụng ChartID
có ý nghĩa trong các trường hợp định danh được gửi giữa các chương trình MQL, ví dụ, khi trao đổi tin nhắn (sự kiện tùy chỉnh) trên cùng một biểu đồ, hoặc trên các biểu đồ khác nhau. Việc chỉ định một ID không hợp lệ sẽ dẫn đến lỗi ERR_CHART_WRONG_ID (4101).
ID biểu đồ nói chung giữ nguyên từ phiên này sang phiên khác.
Chúng ta sẽ thể hiện hàm ChartID
và các định danh trông như thế nào trong ví dụ script ChartList1.mq5
sau khi nghiên cứu phương pháp lấy danh sách biểu đồ.