Thuộc tính của chương trình MQL5 đang chạy
Để lấy thông tin về chương trình mql5 đang chạy hiện tại, các hằng số từ ENUM_MQL_INFO_INTEGER
và ENUM_MQL_INFO_STRING
được sử dụng.
Đối với hàm MQLInfoInteger
ENUM_MQL_INFO_INTEGER
Định danh | Mô tả | Loại |
---|---|---|
MQL_HANDLES_USED | Số lượng tay cầm đối tượng đang hoạt động hiện tại. Bao gồm cả đối tượng động (tạo qua new) và không động, biến toàn cục/cục bộ hoặc thành viên lớp. Chương trình sử dụng càng nhiều tay cầm thì càng tiêu tốn nhiều tài nguyên hơn. | int |
MQL_MEMORY_LIMIT | Dung lượng bộ nhớ động tối đa có thể có cho chương trình MQL5, tính bằng MB | int |
MQL_MEMORY_USED | Bộ nhớ được sử dụng bởi chương trình MQL5, tính bằng MB | int |
MQL_PROGRAM_TYPE | Loại của chương trình MQL5 | ENUM_PROGRAM_TYPE |
MQL_DLLS_ALLOWED | Quyền sử dụng DLL cho chương trình đang chạy được chỉ định | bool |
MQL_TRADE_ALLOWED | Quyền giao dịch cho chương trình đang chạy được chỉ định | bool |
MQL_SIGNALS_ALLOWED | Quyền chỉnh sửa Tín hiệu cho chương trình đang chạy được chỉ định | bool |
MQL_DEBUG | Chỉ báo rằng chương trình đang chạy ở chế độ gỡ lỗi | bool |
MQL_PROFILER | Chỉ báo rằng chương trình đang chạy ở chế độ lập hồ sơ mã | bool |
MQL_TESTER | Chỉ báo rằng chương trình đang chạy trong trình kiểm tra | bool |
MQL_FORWARD | Chỉ báo rằng chương trình đang chạy trong quá trình kiểm tra tiến | bool |
MQL_OPTIMIZATION | Chỉ báo rằng chương trình đang chạy ở chế độ tối ưu hóa | bool |
MQL_VISUAL_MODE | Chỉ báo rằng chương trình đang chạy ở chế độ kiểm tra trực quan | bool |
MQL_FRAME_MODE | Chỉ báo rằng Expert Advisor đang chạy ở chế độ thu thập khung kết quả tối ưu hóa | bool |
MQL_LICENSE_TYPE | Loại giấy phép của mô-đun EX5. Giấy phép liên quan đến mô-đun EX5, từ đó yêu cầu được thực hiện bằng MQLInfoInteger (MQL_LICENSE_TYPE ). | ENUM_LICENSE_TYPE |
MQL_STARTED_FROM_CONFIG | Trả về true nếu script/EA được khởi chạy từ phần StartUp của tệp cấu hình. Điều này có nghĩa là script/EA đã được chỉ định trong tệp cấu hình mà thiết bị đầu cuối được khởi chạy cùng. | bool |
Đối với hàm MQLInfoString
ENUM_MQL_INFO_STRING
Định danh | Mô tả | Loại |
---|---|---|
MQL_PROGRAM_NAME | Tên của chương trình mql5 đang chạy | string |
MQL5_PROGRAM_PATH | Đường dẫn cho chương trình đang chạy được chỉ định | string |
Để biết thông tin về loại của chương trình đang chạy, các giá trị của ENUM_PROGRAM_TYPE
được sử dụng.
ENUM_PROGRAM_TYPE
Định danh | Mô tả |
---|---|
PROGRAM_SCRIPT | Script |
PROGRAM_EXPERT | Expert |
PROGRAM_INDICATOR | Indicator |
PROGRAM_SERVICE | Service |
ENUM_LICENSE_TYPE
Định danh | Mô tả |
---|---|
LICENSE_FREE | Phiên bản không giới hạn miễn phí |
LICENSE_DEMO | Phiên bản dùng thử của sản phẩm trả phí từ Market. Chỉ hoạt động trong trình kiểm tra chiến lược |
LICENSE_FULL | Phiên bản được cấp phép đã mua cho phép ít nhất 5 lần kích hoạt. Số lần kích hoạt do người bán chỉ định. Người bán có thể tăng số lần kích hoạt cho phép |
LICENSE_TIME | Phiên bản có giấy phép giới hạn thời gian |
Ví dụ:
cpp
`ENUM_PROGRAM_TYPE` mql_program=(`ENUM_PROGRAM_TYPE`)`MQLInfoInteger`(`MQL_PROGRAM_TYPE`);
switch(mql_program)
{
case `PROGRAM_SCRIPT`:
{
`Print`(`__FILE__`+" is script");
break;
}
case `PROGRAM_EXPERT`:
{
`Print`(`__FILE__`+" is Expert Advisor");
break;
}
case `PROGRAM_INDICATOR`:
{
`Print`(`__FILE__`+" is custom indicator");
break;
}
default: `Print`("MQL5 type value is ",mql_program);
//---
`Print`("MQLInfoInteger(MQL_MEMORY_LIMIT)=", `MQLInfoInteger`(`MQL_MEMORY_LIMIT`), " MB");
`Print`("MQLInfoInteger(MQL_MEMORY_USED)=", `MQLInfoInteger`(`MQL_MEMORY_USED`), " MB");
`Print`("MQLInfoInteger(MQL_HANDLES_USED)=", `MQLInfoInteger`(`MQL_HANDLES_USED`), " handles");
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23