Các hằng số được định nghĩa trước của ngôn ngữ MQL5
Phần này mô tả tất cả các hằng số được định nghĩa bởi môi trường thời gian chạy cho bất kỳ chương trình nào. Chúng ta đã thấy một số trong số chúng trong các phần trước. Một số hằng số liên quan đến các khía cạnh lập trình ứng dụng MQL5, sẽ được trình bày trong các chương sau.
Hằng số | Mô tả | Giá trị |
---|---|---|
CHARTS_MAX | Số lượng tối đa có thể có của các biểu đồ mở đồng thời | 100 |
clrNONE | Không có màu sắc | -1 (0xFFFFFFFF) |
EMPTY_VALUE | Giá trị trống trong bộ đệm chỉ báo | DBL_MAX |
INVALID_HANDLE | Tay cầm không hợp lệ | -1 |
NULL | Giá trị null của bất kỳ kiểu nào | 0 |
WHOLE_ARRAY | Số lượng phần tử đến cuối mảng, tức là toàn bộ mảng sẽ được xử lý | -1 |
WRONG_VALUE | Hằng số có thể được ép kiểu ngầm sang bất kỳ kiểu liệt kê nào | -1 |
Như đã trình bày trong chương Tệp, hằng số INVALID_HANDLE
có thể được sử dụng để xác thực các bộ mô tả tệp.
Hằng số WHOLE_ARRAY
được thiết kế cho các hàm làm việc với mảng yêu cầu chỉ định số lượng phần tử trong các mảng được xử lý: Nếu cần xử lý tất cả giá trị mảng từ vị trí được chỉ định đến cuối, hãy chỉ định giá trị WHOLE_ARRAY
.
Hằng số EMPTY_VALUE
thường được gán cho những phần tử trong bộ đệm chỉ báo không nên được vẽ trên biểu đồ. Nói cách khác, hằng số này biểu thị một giá trị trống mặc định. Sau này, chúng ta sẽ mô tả cách thay thế nó cho một bộ đệm chỉ báo cụ thể bằng một giá trị khác, ví dụ như 0.
Hằng số WRONG_VALUE
được dùng trong những trường hợp cần chỉ định một giá trị liệt kê không chính xác.
Ngoài ra, hai hằng số có giá trị khác nhau tùy thuộc vào phương thức biên dịch.
Hằng số | Mô tả |
---|---|
IS_DEBUG_MODE | Thuộc tính của việc chạy chương trình mq5 ở chế độ gỡ lỗi: khác 0 ở chế độ gỡ lỗi, 0 nếu không |
IS_PROFILE_MODE | Thuộc tính của việc chạy chương trình mq5 ở chế độ phân tích hiệu suất: khác 0 ở chế độ phân tích, 0 nếu không |
Hằng số IS_PROFILE_MODE
cho phép thay đổi hoạt động của chương trình để thu thập thông tin chính xác trong chế độ phân tích hiệu suất. Phân tích hiệu suất cho phép đo thời gian thực thi của các đoạn chương trình riêng lẻ (hàm và từng dòng).
Trình biên dịch đặt giá trị của hằng số IS_PROFILE_MODE
trong quá trình biên dịch. Thông thường, nó được đặt là 0. Khi chương trình được khởi chạy ở chế độ phân tích hiệu suất, một quá trình biên dịch đặc biệt được thực hiện, và trong trường hợp này, một giá trị khác 0 được sử dụng thay cho IS_PROFILE_MODE
.
Hằng số IS_DEBUG_MODE
hoạt động theo cách tương tự: nó bằng 0 khi biên dịch thông thường và lớn hơn 0 sau khi biên dịch gỡ lỗi. Nó hữu ích trong các trường hợp cần thay đổi nhẹ hoạt động của chương trình MQL cho mục đích kiểm tra: ví dụ, để xuất thêm thông tin vào nhật ký hoặc tạo các đối tượng đồ họa phụ trợ trên biểu đồ.
Trình tiền xử lý định nghĩa các hằng số _DEBUG
và _RELEASE
có ý nghĩa tương tự (xem Các hằng số tiền xử lý được định nghĩa trước).
Thông tin chi tiết hơn về chế độ hoạt động của chương trình có thể được tìm thấy tại thời gian chạy bằng hàm MQLInfoInteger
(xem Chế độ hoạt động của terminal và chương trình). Đặc biệt, bản build gỡ lỗi của chương trình có thể được chạy mà không cần trình gỡ lỗi.