Вопрос №5 — «Коды ошибок при тестировании советника»

Что значит 2010.02.01 17:00 MyExpert GBPUSD,M15: OrderModify error 130
почему обычно эта ошибка возникает?

Очень много подобных вопросов мне приходит. Поэтому публикую таблицу кодов ошибок. Например посмотрев вышеописанную ошибку error 130 становится понятно, что функция OrderModify пытается изменить стоп-лосс или тейк-профит слишком близко к текущей цене.

Коды ошибок

GetLastError() — функция, возвращающая коды ошибок. Кодовые константы ошибок определены в файле stderror.mqh. Для вывода текстовых сообщений следует использовать функцию ErrorDescription(), определенную в файле stdlib.mqh.

Коды ошибок, возвращаемые торговым сервером или клиентским терминалом:

ЗначениеОписание
0Нет ошибки
1Нет ошибки, но результат неизвестен
2Общая ошибка
3Неправильные параметры
4Торговый сервер занят
5Старая версия клиентского терминала
6Нет связи с торговым сервером
7Недостаточно прав
8Слишком частые запросы
9Недопустимая операция нарушающая функционирование сервера
64Счет заблокирован
65Неправильный номер счета
128Истек срок ожидания совершения сделки
129Неправильная цена
130Неправильные стопы
131Неправильный объем
132Рынок закрыт
133Торговля запрещена
134Недостаточно денег для совершения операции
135Цена изменилась
136Нет цен
137Брокер занят
138Новые цены
139Ордер заблокирован и уже обрабатывается
140Разрешена только покупка
141Слишком много запросов
145Модификация запрещена, так как ордер слишком близок к рынку
146Подсистема торговли занята
147Использование даты истечения ордера запрещено брокером
148Количество открытых и отложенных ордеров достигло предела, установленного брокером.

Коды ошибок выполнения MQL4 программы:

ЗначениеОписание
4000Нет ошибки
4001Неправильный указатель функции
4002Индекс массива — вне диапазона
4003Нет памяти для стека функций
4004Переполнение стека после рекурсивного вызова
4005На стеке нет памяти для передачи параметров
4006Нет памяти для строкового параметра
4007Нет памяти для временной строки
4008Неинициализированная строка
4009Неинициализированная строка в массиве
4010Нет памяти для строкового массива
4011Слишком длинная строка
4012Остаток от деления на ноль
4013Деление на ноль
4014Неизвестная команда
4015Неправильный переход
4016Неинициализированный массив
4017Вызовы DLL не разрешены
4018Невозможно загрузить библиотеку
4019Невозможно вызвать функцию
4020Вызовы внешних библиотечных функций не разрешены
4021Недостаточно памяти для строки, возвращаемой из функции
4022Система занята
4050Неправильное количество параметров функции
4051Недопустимое значение параметра функции
4052Внутренняя ошибка строковой функции
4053Ошибка массива
4054Неправильное использование массива-таймсерии
4055Ошибка пользовательского индикатора
4056Массивы несовместимы
4057Ошибка обработки глобальныех переменных
4058Глобальная переменная не обнаружена
4059Функция не разрешена в тестовом режиме
4060Функция не подтверждена
4061Ошибка отправки почты
4062Ожидается параметр типа string
4063Ожидается параметр типа integer
4064Ожидается параметр типа double
4065В качестве параметра ожидается массив
4066Запрошенные исторические данные в состоянии обновления
4067Ошибка при выполнении торговой операции
4099Конец файла
4100Ошибка при работе с файлом
4101Неправильное имя файла
4102Слишком много открытых файлов
4103Невозможно открыть файл
4104Несовместимый режим доступа к файлу
4105Ни один ордер не выбран
4106Неизвестный символ
4107Неправильный параметр цены для торговой функции
4108Неверный номер тикета
4109Торговля не разрешена
4110Длинные позиции не разрешены
4111Короткие позиции не разрешены
4200Объект уже существует
4201Запрошено неизвестное свойство объекта
4202Объект не существует
4203Неизвестный тип объекта
4204Нет имени объекта
4205Ошибка координат объекта
4206Не найдено указанное подокно
4207Ошибка при работе с объектом

Похожие статьи:

5 комментариев

  1. 10tx

    Эту таблицу я конеш видел где-то на борде метаквотов, но щас уже и не найдешь, где. А здесь вот она лежит )))

  2. Из другой сайт об обучении по МКЛ4 научил функция ErrorDescription(), если пользуете, когда есть ошибки они будут описаны с текст. Так легче разбирать в чем суть ошибки и экономить время.
    Удача

    string GetMyLastError()
    {
    int err=GetLastError();
    string serr=ErrorDescription(err);
    return(serr);
    }

  3. венцислав
    Согласен. Только надо не забывать подключить библиотеку stdlib.mqh

  4. У меня два советника работают на разных графиках, но на одной валютной паре.
    Первый работает по отложенным ордерам, а второй по маркету.
    Второй советник мешает работать первому.
    Ни в том, не в другом ошибок быть не может, у всех разные магические числа, все пользуются внешними библиотеками DLL и внешними индикаторами.
    Как сделать так, чтобы они работали и не мешали друг другу работать?
    Что делать?

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *