Kiểm tra lỗi: last_error
Hàm last_error trả về thông tin về lỗi Python cuối cùng.
int last_error()
Các mã lỗi số nguyên khác với các mã được phân bổ cho lỗi MQL5 và được trả về bởi hàm chuẩn GetLastError. Trong bảng sau, viết tắt IPC đề cập đến thuật ngữ "Giao tiếp Liên tiến trình" (Inter-Process Communication).
| Hằng số | Ý nghĩa | Mô tả |
|---|---|---|
RES_S_OK | 1 | Thành công |
RES_E_FAIL | -1 | Lỗi chung |
RES_E_INVALID_PARAMS | -2 | Đối số/tham số không hợp lệ |
RES_E_NO_MEMORY | -3 | Lỗi cấp phát bộ nhớ |
RES_E_NOT_FOUND | -4 | Lịch sử yêu cầu không tìm thấy |
RES_E_INVALID_VERSION | -5 | Phiên bản không được hỗ trợ |
RES_E_AUTH_FAILED | -6 | Lỗi xác thực |
RES_E_UNSUPPORTED | -7 | Phương thức không được hỗ trợ |
RES_E_AUTO_TRADING_DISABLED | -8 | Giao dịch thuật toán bị tắt |
RES_E_INTERNAL_FAIL | -10000 | Lỗi IPC nội bộ chung |
RES_E_INTERNAL_FAIL_SEND | -10001 | Lỗi nội bộ khi gửi dữ liệu IPC |
RES_E_INTERNAL_FAIL_RECEIVE | -10002 | Lỗi nội bộ khi nhận dữ liệu IPC |
RES_E_INTERNAL_FAIL_INIT | -10003 | Lỗi khởi tạo nội bộ IPC |
RES_E_INTERNAL_FAIL_CONNECT | -10003 | Không có IPC |
RES_E_INTERNAL_FAIL_TIMEOUT | -10005 | Hết thời gian IPC |
Trong tập lệnh sau (MQL5/Scripts/MQL5Book/Python/init.py), trong trường hợp có lỗi khi kết nối với terminal, chúng ta hiển thị mã lỗi và thoát.
python
import MetaTrader5 as mt5
# show MetaTrader5 package version
print("MetaTrader5 package version: ", mt5.__version__) # 5.0.37
# let's try to establish a connection or launch the MetaTrader 5 terminal
if not mt5.initialize():
print("initialize() failed, error code =", mt5.last_error())
quit()
... # the working part of the script will be here
# terminate the connection to the terminal
mt5.shutdown()1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
