Как яуже неоднократно упоминал впредыдущих выпусках, если какая-то функция вернула ошибку, токод этой ошибки можно получить спомощью функции GetLastError():
После вызова этой функции код последней ошибки обнуляется, поэтому если впромежутке между двумя вызовами функции GetLastError() непроизошло новой ошибки, товторой раз функция вернет 0.
| Константа | Значение | Описание |
| ERR_NO_ERROR | 0 | Нет ошибки |
| ERR_NO_RESULT | 1 | Нет ошибки, норезультат неизвестен |
| ERR_COMMON_ERROR | 2 | Общая ошибка |
| ERR_INVALID_TRADE_PARAMETERS | 3 | Неправильные параметры |
| ERR_SERVER_BUSY | 4 | Торговый сервер занят |
| ERR_OLD_VERSION | 5 | Старая версия клиентского терминала |
| ERR_NO_CONNECTION | 6 | Нет связи сторговым сервером |
| ERR_NOT_ENOUGH_RIGHTS | 7 | Недостаточно прав |
| ERR_TOO_FREQUENT_REQUESTS | 8 | Слишком частые запросы |
| ERR_MALFUNCTIONAL_TRADE | 9 | Недопустимая операция нарушающая функционирование сервера |
| ERR_ACCOUNT_DISABLED | 64 | Счет заблокирован |
| ERR_INVALID_ACCOUNT | 65 | Неправильный номер счета |
| ERR_TRADE_TIMEOUT | 128 | Истек срок ожидания совершения сделки |
| ERR_INVALID_PRICE | 129 | Неправильная цена |
| ERR_INVALID_STOPS | 130 | Неправильные стопы |
| ERR_INVALID_TRADE_VOLUME | 131 | Неправильный объем |
| ERR_MARKET_CLOSED | 132 | Рынок закрыт |
| ERR_TRADE_DISABLED | 133 | Торговля запрещена |
| ERR_NOT_ENOUGH_MONEY | 134 | Недостаточно денег для совершения операции |
| ERR_PRICE_CHANGED | 135 | Цена изменилась |
| ERR_OFF_QUOTES | 136 | Нет цен |
| ERR_BROKER_BUSY | 137 | Брокер занят |
| ERR_REQUOTE | 138 | Новые цены |
| ERR_ORDER_LOCKED | 139 | Ордер заблокирован иуже обрабатывается |
| ERR_LONG_POSITIONS_ONLY_ALLOWED | 140 | Разрешена только покупка |
| ERR_TOO_MANY_REQUESTS | 141 | Слишком много запросов |
| ERR_TRADE_MODIFY_DENIED | 145 | Модификация запрещена, так как ордер слишком близок крынку |
| ERR_TRADE_CONTEXT_BUSY | 146 | Подсистема торговли занята |
| ERR_TRADE_EXPIRATION_DENIED | 147 | Использование даты истечения ордера запрещено брокером |
| ERR_TRADE_TOO_MANY_ORDERS | 148 | Количество открытых иотложенных ордеров достигло предела, установленного брокером |
| Константа | Значение | Описание |
| ERR_NO_MQLERROR | 4000 | Нет ошибки |
| ERR_WRONG_FUNCTION_POINTER | 4001 | Неправильный указатель функции |
| ERR_ARRAY_INDEX_OUT_OF_RANGE | 4002 | Индекс массива вне диапазона |
| ERR_NO_MEMORY_FOR_FUNCTION_CALL_STACK | 4003 | Нет памяти для стека функций |
| ERR_RECURSIVE_STACK_OVERFLOW | 4004 | Переполнение стека после рекурсивного вызова |
| ERR_NOT_ENOUGH_STACK_FOR_PARAMETER | 4005 | Настеке нет памяти для передачи параметров |
| ERR_NO_MEMORY_FOR_PARAMETER_STRING | 4006 | Нет памяти для строкового параметра |
| ERR_NO_MEMORY_FOR_TEMP_STRING | 4007 | Нет памяти для временной строки |
| ERR_NOT_INITIALIZED_STRING | 4008 | Неинициализированная строка |
| ERR_NOT_INITIALIZED_ARRAYSTRING | 4009 | Неинициализированная строка вмассиве |
| ERR_NO_MEMORY_FOR_ARRAYSTRING | 4010 | Нет памяти для строкового массива |
| ERR_TOO_LONG_STRING | 4011 | Слишком длинная строка |
| ERR_REMAINDER_FROM_ZERO_DIVIDE | 4012 | Остаток отделения наноль |
| ERR_ZERO_DIVIDE | 4013 | Деление наноль |
| ERR_UNKNOWN_COMMAND | 4014 | Неизвестная команда |
| ERR_WRONG_JUMP | 4015 | Неправильный переход |
| ERR_NOT_INITIALIZED_ARRAY | 4016 | Неинициализированный массив |
| ERR_DLL_CALLS_NOT_ALLOWED | 4017 | Вызовы DLL неразрешены |
| ERR_CANNOT_LOAD_LIBRARY | 4018 | Невозможно загрузить библиотеку |
| ERR_CANNOT_CALL_FUNCTION | 4019 | Невозможно вызвать функцию |
| ERR_EXTERNAL_EXPERT_CALLS_NOT_ALLOWED | 4020 | Вызовы внешних библиотечных функций неразрешены |
| ERR_NOT_ENOUGH_MEMORY_FOR_RETURNED_STRING | 4021 | Недостаточно памяти для строки, возвращаемой изфункции |
| ERR_SYSTEM_BUSY | 4022 | Система занята |
| ERR_INVALID_FUNCTION_PARAMETERS_COUNT | 4050 | Неправильное количество параметров функции |
| ERR_INVALID_FUNCTION_PARAMETER_VALUE | 4051 | Недопустимое значение параметра функции |
| ERR_STRING_FUNCTION_INTERNAL_ERROR | 4052 | Внутренняя ошибка строковой функции |
| ERR_SOME_ARRAY_ERROR | 4053 | Ошибка массива |
| ERR_INCORRECT_SERIES_ARRAY_USING | 4054 | Неправильное использование массива-таймсерии |
| ERR_CUSTOM_INDICATOR_ERROR | 4055 | Ошибка пользовательского индикатора |
| ERR_INCOMPATIBLE_ARRAYS | 4056 | Массивы несовместимы |
| ERR_GLOBAL_VARIABLES_PROCESSING_ERROR | 4057 | Ошибка обработки глобальныех переменных |
| ERR_GLOBAL_VARIABLE_NOT_FOUND | 4058 | Глобальная переменная необнаружена |
| ERR_FUNCTION_NOT_ALLOWED_IN_TESTING_MODE | 4059 | Функция неразрешена втестовом режиме |
| ERR_FUNCTION_NOT_CONFIRMED | 4060 | Функция неподтверждена |
| ERR_SEND_MAIL_ERROR | 4061 | Ошибка отправки почты |
| ERR_STRING_PARAMETER_EXPECTED | 4062 | Ожидается параметр типа string |
| ERR_INTEGER_PARAMETER_EXPECTED | 4063 | Ожидается параметр типа integer |
| ERR_DOUBLE_PARAMETER_EXPECTED | 4064 | Ожидается параметр типа double |
| ERR_ARRAY_AS_PARAMETER_EXPECTED | 4065 | Вкачестве параметра ожидается массив |
| ERR_HISTORY_WILL_UPDATED | 4066 | Запрошенные исторические данные всостоянии обновления |
| ERR_TRADE_ERROR | 4067 | Ошибка при выполнении торговой операции |
| ERR_END_OF_FILE | 4099 | Конец файла |
| ERR_SOME_FILE_ERROR | 4100 | Ошибка при работе сфайлом |
| ERR_WRONG_FILE_NAME | 4101 | Неправильное имя файла |
| ERR_TOO_MANY_OPENED_FILES | 4102 | Слишком много открытых файлов |
| ERR_CANNOT_OPEN_FILE | 4103 | Невозможно открыть файл |
| ERR_INCOMPATIBLE_ACCESS_TO_FILE | 4104 | Несовместимый режим доступа кфайлу |
| ERR_NO_ORDER_SELECTED | 4105 | Ниодин ордер невыбран |
| ERR_UNKNOWN_SYMBOL | 4106 | Неизвестный символ |
| ERR_INVALID_PRICE_PARAM | 4107 | Неправильный параметр цены для торговой функции |
| ERR_INVALID_TICKET | 4108 | Неверный номер тикета |
| ERR_TRADE_NOT_ALLOWED | 4109 | Торговля неразрешена |
| ERR_LONGS_NOT_ALLOWED | 4110 | Длинные позиции неразрешены |
| ERR_SHORTS_NOT_ALLOWED | 4111 | Короткие позиции неразрешены |
| ERR_OBJECT_ALREADY_EXISTS | 4200 | Объект уже существует |
| ERR_UNKNOWN_OBJECT_PROPERTY | 4201 | Запрошено неизвестное свойство объекта |
| ERR_OBJECT_DOES_NOT_EXIST | 4202 | Объект несуществует |
| ERR_UNKNOWN_OBJECT_TYPE | 4203 | Неизвестный тип объекта |
| ERR_NO_OBJECT_NAME | 4204 | Нет имени объекта |
| ERR_OBJECT_COORDINATES_ERROR | 4205 | Ошибка координат объекта |
| ERR_NO_SPECIFIED_SUBWINDOW | 4206 | Ненайдено указанное подокно |
| ERR_SOME_OBJECT_ERROR | 4207 | Ошибка при работе собъектом |