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