Ошибка создания объекта 4200

Время от времени советник начинает выдавать ошибку 4200 — Object already exists. При том, что я четко контролирую присвоение каждому вновь создаваемому объекту уникального имени, типа «1l, 2l, 3l, » и т.д.

Попробовал проверять перед созданием объекта — существует ли такой уже в терминале — оказывается да, но его координаты — время и цена — совершенно неадекватны, типа цены 109 для EURUSD и времени соответствующего выходному дню 10 лет назад.

При этом в истории этого дня вообще нет.

Кто-нибудь может прояснить ситуацию?

Спасибо.

Код примерно такой:

int Handle; // handle журнала

int Graph_counter, ;// глобальная переменная, единственное обращение к ней — ниже

Graph_counter++;// счетчик наращивается перед любой операцией ObjectCreate и больше не используется нигде, так что пересечений имен быть не может

string Name=DoubleToStr(1.0*Graph_counter,0)+»l»; // имя объекта

if(ObjectFind(Name)==0)
{
FileWrite(Handle,»==== it says 4200 =======» );

FileWrite(Handle,» time0, time1, price0, price1:»,TimeToStr(ObjectGet(Name,0)),» «,TimeToStr(ObjectGet(Name,2)),» «, DoubleToStr(ObjectGet(Name,1),5),» «,DoubleToStr(ObjectGet(Name, 3),5));

}

ObjectCreate(Name, …);

FileWrite(Handle, «Last error=«,GetLastError());

А результат в случае ошибки (для EURUSDM5 тестируемого на интервале январь-февраль 2011)

==== it says 4200 =======

time0, time1, price0, price1: 2000.02.15 09:30 2000.02.16 06:00 109.04000 110.47500

Last error=4200

Часто в службу технической поддержки hikvision. org. ua обращаются с проблемой подключения к IVMS-4200 устройств, уже привязанных к облаку Ezviz или Hik-Connect. Одни не знают с какой стороны подойти, а у других подключенные устройства не отображают видео.

Сегодня расскажем как решить эти проблемы самостоятельно.

Шаг 1

Зайдите в IVMS-4200.

Откройте вкладку “Управление устройствами” (стрелка 1).

Нажмите “Добавить новый тип устройства” (стрелка 2).

Шаг 2

Выберите “Hik-Connect Device” или “Устройство Hik-Connect” (стрелка 1). У нас этот пункт неактивен, потому что такой тип устройства уже добавлен.

Подтвердите выбор (стрелка 2).

Шаг 3

Перейдите во вкладку Hik-Connect Device. Выберите страну Украина. Нажмите “Login”.

Появится окно входа. Введите свой логин, e-mail, номер телефона и пароль. Нажмите “Login”.

Шаг 4

Если в профиле еще нет устройств, во вкладке Hik-Connect Device нажмите кнопку “Add Device” (стрелка 2).

Добавленное устройство появится в этом окне. Казалось бы, все необходимое сделано, но именно на этом этапе у многих возникают трудности. Что делать дальше?

Шаг 5

Во вкладке “Device Management” выберите пункт “Group” (стрелка 1). Если устройство уже прикреплено к профилю, выберите папку с именем вашего профиля в Hik-Connect.

Если устройство добавлено только что, создайте группу (стрелка 3). Группа будет носить имя устройства (видно по стрелке 2). После того, как найдете новую папку, выделите устройство (стрелка 4) и нажмите на кнопку “Modify” (стрелка 5). Если все сделано правильно, кнопка станет активной, синего цвета.

При нажатии “Modify” в открывшемся окне в поле “Stream Key” (стрелка 1) введите верификационный код. Не забудьте нажать кнопку “ОК”.

Теперь во вкладке онлайн-просмотра все работает корректно, вместо непонятных ошибок вы увидите изображение с камеры.

Очередь просмотра

Очередь

YouTube Premium

Хотите сохраните это видео?

Пожаловаться на видео?

Выполните вход, чтобы сообщить о неприемлемом контенте.

Понравилось?

Не понравилось?

Hello Friends, I am Nitin Khatri running this channel, if you like this video Please Subscribe Channel and Press Bell icon. If you need any help please buy our online technical support services.
Charges are 20$ / 1,200 Indian Rupee Per Call.
Payment Options:
Google Pay — 91-9829692846 (India)
Paypal — https://www. paypal. me/nitinkhatri/USD20
Email : nitinplus@gmail. com Hello All,
See This error has two solutions,1st solution i have shown you in this video and 2nd is the power issue as per Hikvision if camera does not get proper power from PoE Adeptor or PoE Switch then this error comes. please change the power source then it will resolve this error.

In this video i will share a solution for Hikvision error code. 91, if you have this error «Reconnecting. Error Code HCNetSDK. dll
[91] «, Then this video will help you to solve this. Please watch full video. This is the IP camera which has issue.

Многие используют популярные DVR компании Hikvision, для их управления используется родной софт программа — iVMS различных версий. Она же подходит и для просмотра записей и видео с камер в реальном времени из любой точки мира, существуют версии для Windows, Mac и приложения для Android и iOS от Apple.

Приложение iVMS для Windows и Mac:

Для просмотра видео с камер через интернет согласно официальной инструкции достаточно пробросить на видеорегистратор порт 8000, но по факту в некоторых случая этого недостаточно. Я пробросил нужный порт, добавил в программу видеорегистратор, он успешно нашелся и можно было им управлять, например изменять настройки. Когда я попытался просмотреть видео с камер — получил ошибку HCNetSDK. dll[7] Connection failed: device of-line or connection timout:

Для исправления ошибки нужно пробросить еще два порта 554 и 80. Оказалось что разные версии DVR Hikvision для правильной работы требует разные порты, некоторым достаточно одного порта 8000, некоторым хватает двух 8000 и 554, а некоторым требуется еще и третий порт — 80 для корректной работы приложения через инернет.

Инструкция iVMS 4200

iVMS 4200 client от Hikvision это клиентское ПО которое предоставляет пользователю множество функций которые необходимы для систем безопасности. Как правило, при первом использовании, данная программа может показаться сложной к восприятию и возможно непонятной. Именно для того чтобы начинающему пользователю было проще разобраться с интерфейсом и функционалом мы разработали данную инструкцию.

Ниже вы можете скачать инструкцию для iVMS 4200 на русском и английском языке. Но стоит отметить что это руководство пользователя с большим количеством материала, который скорее всего не потребуется пользователю.

добавление камеры в ivms по локальной сети

На тему добавления камеры у нас есть полноценная поясняющая статья-инструкция, в которой расписаны все пошаговые действия — добавление камеры к iVMS 4200

Для тех же кто хочет получить краткий курс по добавлению оборудования Hikvision в клиентское ПО продолжайте чтение этой статьи.

Если у Вас уже настроено отображение камер через приложение Hik-connect, то наиболее целесообразным будет использовать его и на ПК. Для того чтобы войти в аккаунт нужно нажать на кнопку «Вход» в правом верхнем углу приложения.

добавление камеры hikvision в программу iVMS 4200

Откроется новое окно для ввода имени пользователя и пароля от аккаунта Hik-connect (либо Ezviz).

ввод логина и пароля для вхорда в аккаунт hik-connect

Также в данном меню можно произвести регистрацию в сервисе Hik-connect и после этого осуществить вход.

После того как данные введены, можно перейти к просмотру подключенного к аккаунту оборудования, к примеру камер видеонаблюдения. Для этого нужно выбрать в основном меню пункт «Основной ракурс»

Основной ракурс в ivms 4200

На следующем шаге потребуется ввести код подтверждения (verification code) который устанавливался при первоначальной настройке камеры. Если Вы забыли код подтверждения, то рекомендуем прочесть статью про код подтверждения Hik-connect.

просмотр камер видеонаблюдения в программе iVmS 4200

Пункт «Основной ракурс» предназначен для того чтобы пользователь мог видеть изображение с камер в реальном времени. Для того чтобы начать просмотр, нужно выбрать нужную камеру или видеорегистратор в левой колонке двойным кликом мыши. После этого потребуется ввести код подтверждения и просмотр будет активирован.

онлайн просмотр камер видеонаблюдения Hikvision

В режиме просмотра доступны некоторые полезные функции:

Инструкция iVMS 4200 — как просматривать камеры через интернет

При установке системы видеонаблюдения большинство современных пользователей хотят иметь возможность просматривать их удаленно, т. е. используя сеть интернет. Для того чтобы настроить эту функцию в iVMS 4200 существует несколько способов.

Наиболее популярным и простым в использовании это получать доступ и управление через аккаунт Hik-connect (либо Ezviz). Это связано с тем что нет необходимости производить настройки сети, заказывать дополнительные услуги и вносить изменения в параметры маршрутизатора. Проще говоря это наиболее удобный способ настройки удаленного доступа.

Недостатком данного способа можно назвать ограничение количества настроек, которые можно производить, находясь удаленно от системы.

Доступ с использованием статического IP адреса провайдера также довольно популярен, но им обычно пользуются системные инженеры и администраторы. Нужен он для полного контроля за системой из любого уголка мира. Доступ по статическому IP позволяет получить полный доступ к тонкой настройке системы видеонабллюдения.

Недостатком метода является сложность настройки и необходимость заказа дополнительных услуг от провайдера интернета.

Как просматривать и скачать записи через iVMS 4200

Возникают ситуации когда нужно просмотреть записи с камер и зачастую не просто просмотреть, но и скачать их для предоставления в соответствующие органы. Можно конечно воспользоваться мобильным приложением Hik-connect и там сохранить запись на телефон, а после скопировать на флешку, но это не всегда удобно. К примеру если промежуток записи большой, то на телефоне придется его весь просмотреть и сохранить.

Удобнее всего воспользоваться для скачивания записей программой iVMS 4200, которая предназначена для подобных целей.

В данной инструкции рассмотрим как можно сохранить нужный фрагмент архива записей на ПК, с последующим копированием на накопитель.

Для того чтобы начать просмотр записей нужно открыть пункт в главном меню «Удаленное воспроизведение».

Просмотр архива записи на камере Hikvision в программе ivms 4200

Откроется меню по просмотру архива.

Стоит отметить что выбирать промежуток записи за промежуток больший чем 24 часа не стоит, т. к. просмотреть столь большой временной отрезок сложно физически. Также такой отрезок будет очень большим для загрузки и даже с высокой скоростью интернета, его придется долго скачивать.

После того как временные промежутки установлены, можно начать воспроизведение. Для этого нужно навести мышью на выбранную камеру, возле нее появится значёк воспроизведения. Нужно нажать на него и внизу экрана отобразится временная шкала которая была выбрана в календаре.

начало просмотра записи через ivms 4200

Для того чтобы перемещаться между фрагментами записи можно использовать временную шкалу. Если Ваша система настроена на запись по детектору движения, то шкала будет выглядеть отрывками, если запись постоянная, то блок будет цельным.

Временная шкала позволяет масштабировать себя, более удобного выбора точного времени. Для масштабирования нужно навести мышь на временную шкалу и прокрутить скролл (колёсико мыши) вперед. После этого, путем перетаскивания отрывков шкалы, вдоль красного, центрального маркера, отображение записей будет тоже перемещаться.

инструкция по просмотру записей на ivms 4200

Как скачать записи через iVMS 4200

Многие интересуются как можно скачать видео с камеры Hikvision. Для этого существует несколько способов:

В принципе любой из способов работоспособен, но степень удобства работы с архивом может отличаться. К примеру если Вам нужно скачать архив с камеры за последние 12 часов, то сделать это с телефона будет не удобно. Доступ же к видеорегистратору не всегда возможен.

Наиболее удобным будет использование iVMS 4200. Программа позволит с удобством предварительно просмотреть отрывки за нужное время и потом скачать его.

По информации выше Вы сможете просмотреть записи, теперь давайте рассмотрим как скачать фрагмент записи.

Для этого во время воспроизведения нужно нажать на значёк «ножниц» в левом нижнем углу.

сохранение записей в ivms 4200

После нажатия на «ножницы» отобразится окно в котором будут показаны временные промежутки за которые нужно скачать запись. Если есть необходимость изменить время, то это можно сделать прямо в этом всплывающем окне.

После того как Вы убедились что все данные соответствуют необходимым, можно нажать кнопку «Да».

скачивание записи через ivms 4200

Теперь осталось только дождаться когда запись скачается. Прогресс загрузки отображается в правом верхнем углу возле кнопки «Вход».

Инструкция по удаленной настройке камер Hikvision через iVMS 4200

Иметь доступ к системе видеонаблюдения, на данный момент, вполне понятная и реализуемая задача. Настроить удаленный доступ может практически любой, более менее разбирающийся в ПК человек. Но есть такая задача как управление системой наблюдения, и вот тут зачастую возникают сложности.

Компания Hikvision реализовала свои системы таким образом что для получения полного доступа нужно довольно глубоко вникнуть в тонкие настройки программы iVMS 4200.

Для чего может понадобиться удаленная настройка видеонаблюдения

Это лишь краткий перечень возможностей которые предоставит iVMS 4200 тем пользователям которые хотят производить удаленную настройку.

Для того чтобы начать удаленное управление нужно иметь установленную программу iVMS 4200 и добавленное в нее оборудование. Под оборудованием имеется ввиду минимум одна камера Hikvision, или система видеонаблюдения.

В первую очередь с главного экрана программы нужно открыть раздел меню «Управление устройством».

удаленная настройка камеры Hikvision

В открывшемся окне нужно выбрать объект, при условии что их несколько и нажать на значок шестеренки, который нужен для «Удаленной настройки».

удаленная настройка камеры Hikvision

Здесь отобразится общая информация об устройстве к которому Вы подключились, такая как серийный номер, название модели и прочее.

просомтр общей информации об устройстве Hikvision

Далее пройдемся по самым часто используемым пунктам меню.

Время

В разделе время можно управлять настройками отображения времени, а также настроить автоматическую настройку через интернет. Также доступен к выбору часовой пояс который необходим для данного объекта.

Еще один важный пункт это настройка DST. В ней можно задать когда нужно переводить часы. К примеру в Украине перевод времени производится два раза в год:

Параметр для автоматического перевода — 60 минут.

В указанные месяцы будет осуществляться автоматический перевод времени на 1 час. Если в Вашей стране не переводятся часы, то данную настройку нужно выключить

удаленная настройка времени на камерах

Обслуживание системы

Полезный пункт когда есть необходимость произвести следующие действия:

Управление хранилищем

Накопитель установленный в камеру, или в регистратор иногда может потребовать обслуживания, либо попросту наблюдения за объемом. Для того чтобы просмотреть текущий объем хранилища нужно перейти в раздел «Хранилище». В нем будет виден объем установленного жесткого диска, либо карты памяти в системе.

Здесь можно произвести форматирование накопителя. Можно установить резервный жесткий диск и производить на него резервное копирование с основного HDD.

Настройка событий и детектора движения Hikvision

Довольно обширный раздел, в котором можно произвести множество нужных настроек. Самые распространенные из них:

Изображение — настройка

Настройка параметров изображения это один из наиболее важных пунктов при монтаже системы видеонаблюдения. Здесь производится настройка кодеков сжатия и разрешения камер. Также можно включить или отключить запись аудио.

настройка параметров кодирования и разрешения на камерах Hikvision

Сеть — настройка и изменение параметров локальной сети

Сетевая настройка системы наблюдения через iVMS 4200 позволяет установить автоматическое получение IP адреса, либо установка статического IP адреса. Также возможно изменить порты по которым в дальнейшем будет производится доступ и управление регистратором или камерами.

настройка локальной сети в видео наблюдении Hikvision

Hik-connect — включение и настройка кода подтверждения

Hik-connect это облачный сервис от компании Hikvision который позволяет получить доступ к камерам без использования дополнительных услуг провайдера интернета.

Под доп. услугами имеется ввиду подключение внешнего статического IP (белого) адреса, активация и проброс портов.

Для того чтобы доступ через Hik-connect заработал необходимо указать код подтверждения (code verification).

настройка Hik-connect через iVMS4200

Также здесь можно изменить или посмотреть код подтверждения, если Вы его забыли. Для этого нужно нажать на чекбокс в строке «Код верификации».

Источники:

https://window-10.ru/ivms-4200-oshibka-koda-hcnetsdk-dll-7/

https://ivms4200.ru/manual-ivms-4200/

При выполнении связанных с отчётностью сетевых операций пользователь может столкнуться с сообщением «Невозможно создание объекта сервером программирования объектов». Проблема вызвана отсутствием библиотек для подачи отчётности в пользовательской системе, устаревшей версией используемого веб-браузера, а также различными дисфункциями в работе ПК. Ниже разберём суть данной проблемы, а также перечислим способы её решения.

Скриншот ошибки сервера программирования обьектов

Содержание

  1. Суть и причины дисфункции с сервером
  2. Как исправить ошибку «Невозможно создание объекта сервером»
  3. При использовании цифровых продуктов ООО «Ролис»
  4. При использовании системы «Контурн.Экстерн»
  5. При работе с плагинами от «Криптопро»
  6. При подключении к базе 1С
  7. Заключение

Суть и причины дисфункции с сервером

Рассматриваемая проблема обычно наблюдается на веб-браузерах, и связана с попыткой пользователя выполнить какую-либо операцию на ресурсах, связанных с отчётностью. В частности, ошибка возникает при:

  • Осуществлении цифровой подписи электронного документа (сокращённо — ЭЦП);
  • Отправке или сохранении отчёта для Фонда Социального Страхования (ФСС);
  • При прохождении процедуры регистрации в личном кабинете на сайте налоговой службы (ФНС);
  • При подключении к базе 1С;
  • При запуске различных CRM-систем и другое.

Для связи с соответствующими сетевыми ресурсами здесь использовался веб-браузер Internet Explorer, на котором и возникала данная ошибка.

Картинка цифровой подписи документа

Как исправить ошибку «Невозможно создание объекта сервером»

Поскольку рассматриваемая проблема возникает в различных формах отчётности на разнообразных интернет-порталах, то универсального лекарства для решения проблемы «Невозможно создание объекта сервером» не существует. Но прежде чем приступать к перечислению «точечных» способов избавиться от ошибки «Невозможно создание объекта сервером программирования объектов» рекомендую выполнить несколько стандартных операций, а именно:

  • Убедитесь, что вы пользуетесь самой свежей версией вашего браузера. При необходимости обновите браузер до самой новой версии;
  • Временно отключите ваш антивирус и брандмауэр. Указанный софт может блокировать связь между соответствующими программами и интернет-серверами;
  • Если жёстких требований к версии используемого веб-браузера нет, попробуйте использовать альтернативный веб-браузер (например, вместо Мозиллы используйте IE или Edge);
  • Убедитесь, что в вашей системе установлены все необходимые библиотеки для подачи отчётности (при необходимости установки таковых). Окно деактивации брандмауэре
    Временно отключите ваш брандмауэр

Если проблем с перечисленными пунктами нет, перейдём к описанию точечных алгоритмов решения проблемы.

При использовании цифровых продуктов ООО «Ролис»

В частности, при работе с цифровыми продуктами ООО «Ролис» необходимо закрыть браузер (обычно использовался IE), скачать и распаковать файл capicom.zip. Из данной папки будет необходимо запустить файл register.bat, после чего необходимые библиотеки «CAPICOM» будут установлены в системе. Останется запустить браузер и подписать необходимый вам электронный документ.

При использовании системы «Контурн.Экстерн»

При использовании системы отчётности «Контурн.Экстерн» необходимо переустановить программные компоненты «Контурн.Экстерн». Для этого сначала удалите указанные компоненты стандартным путём в ОС Виндовс (поможет нажатие на Win+R, и ввод команды appwiz.cpl). Далее перезагрузите ПК, а затем установите необходимый вам софт с сайта kontur-extern.ru. Если же данное решение не помогло, рекомендуется воспользоваться специальным диагностическим инструментом от компании-производителя, расположенном на странице help.kontur.ru

При работе с плагинами от «Криптопро»

При работе с плагином разработчика «КРИПТОПРО», предназначенными для создания цифровой подписи, необходимо перейти на ресурс cryptopro.ru и проверить работу плагина. Если ошибка продолжает возникать, необходимо сделать скриншот ошибки, и отправить его в адрес службы технической поддержки, что поможет избавиться от ошибки «Невозможно создание объекта сервером» на вашем ПК.

Также подобная ошибка может возникать при отсутствии установленной библиотеки «КриптоПро CADESCOM» (предназначена для осуществления ЭЦП). Рекомендуется установить недостающую библиотеку с https://www.cryptopro.ru/downloads.

При подключении к базе 1С

Установите специальную утилиту http://www.community.terrasoft.ua/system/files/1c_230512.zip для интеграции с 1С в соответствии с инструкцией по её установке (находится внутри архива). С помощью функции глобального поиска найдите строку:

Param.Con1C = new ActiveXObject(Param.Version + ‘.ComConnector’);

и замените её на:

//Param.Con1C = new ActiveXObject(Param.Version + ‘.ComConnector’);
Param.Con1C = new ActiveXObject(‘V83.ComConnector’);

Заключение

Ошибка «Невозможно создание объекта сервером программирования объектов» обычно вызвана различными дисфункциями, появляющимися при подключении пользовательского браузера к соответствующим интернет-порталам. В каждом конкретном случае имеется соответствующий алгоритм решения, который и необходимо выполнить для устранения ошибки «невозможно создание объекта сервером» на вашем ПК.

  

BubbleGumm

21.07.16 — 13:05

Пытаюсь создать СОМ объект

oIE = Новый COMОбъект(«InternetExplorer.Application»);

возникает ошибка:

Ошибка при вызове конструктора (COMОбъект): -2147467259(0x80004005): Неопознанная ошибка

1с — 8.3.8.1479

windows server 2012r2

Internet Explorer установлен, вручную запускается, работает корректно.

В чем может быть дело?

  

Cyberhawk

1 — 21.07.16 — 13:17

В правах на приложение СОМ+, например

  

BubbleGumm

2 — 21.07.16 — 13:30

Да, пытаюсь добавить его в приложения СОМ+

Он добавляется только как устаревший компонент

Может эксплорер обновить?

  

hhhh

3 — 21.07.16 — 13:35

(2) какой хоть Internet Explorer?  надеюсь, не пятый?

  

BubbleGumm

4 — 21.07.16 — 13:36

11

  

BubbleGumm

5 — 21.07.16 — 13:39

не помогло

  

DrZombi

6 — 21.07.16 — 13:52

  

DrZombi

7 — 21.07.16 — 13:53

(5) Ты СОМ откуда вызываешь?

С сервера или с клиента?

  

BubbleGumm

8 — 21.07.16 — 13:53

с сервера

  

BubbleGumm

9 — 21.07.16 — 13:54

хм, а на клиенте работает.

но надо на сервере

  

DrZombi

10 — 21.07.16 — 13:54

(8) А на сервере есть ИЕ?

А пользователь из под которого стартует сервер 1С, имеет право на запуск ИЕ?

  

BubbleGumm

11 — 21.07.16 — 13:55

я на сервере физическом пробую

пользователь — администратор

  

BubbleGumm

12 — 21.07.16 — 13:56

служба 1с от администратора тоже

  

DrZombi

13 — 21.07.16 — 13:57

(11) Сервер 1С не запущен ис под Администратора!

  

DrZombi

14 — 21.07.16 — 13:57

(12) Серьезно? Жесть

  

DrZombi

15 — 21.07.16 — 13:57

Поди сервер 1С х64?

  

DrZombi

16 — 21.07.16 — 14:00

  

DrZombi

17 — 21.07.16 — 14:07

  

BubbleGumm

18 — 21.07.16 — 14:08

у меня 1с 64 бита

запуситил службу 32, создаю объект, пишет класс не зарегистрирован.

екплорер вроде 64бита, лежит по крайней мере в programfiles (не х86)

  

DrZombi

19 — 21.07.16 — 14:09

(18) ИЕ по умолчанию стартует х32, смотри в (16)

  

DrZombi

20 — 21.07.16 — 14:10

Или наоборот, в общем разбирайся :)

  

DrZombi

21 — 21.07.16 — 14:11

>>> лежит по крайней мере в programfiles (не х86)

Так то он в обоих папочках лежит

  

DrZombi

22 — 21.07.16 — 14:12

Посмотри в настройках, какую версию стартует ком-ок :)

  

BubbleGumm

23 — 21.07.16 — 14:13

класс {0002DF01-0000-0000-C000-000000000046}

путь «%ProgramFiles%Internet Exploreriexplore.exe»

  

BubbleGumm

24 — 21.07.16 — 14:13

а в сом+ он установился как устаревший компонент

в обычных его нет

  

BubbleGumm

25 — 21.07.16 — 14:16

хотя в сом+ в свойствах компонента он реализован как локальный 32 разрядный сервер — «C:Program FilesInternet Exploreriexplore.exe»

  

BubbleGumm

26 — 21.07.16 — 14:19

сейчас и на 64 1с сервере пишет — класс не зарегистрирован

  

DrZombi

27 — 21.07.16 — 15:12

(26) Поиграйся, создай новый класс, для х64 :)

И потом для х32, если не получится :)

  

DrZombi

28 — 21.07.16 — 15:12

(23) %ProgramFiles% — что содержит?

  

BubbleGumm

29 — 21.07.16 — 15:16

На аналогичном сервере (оба виртуальные) все ОК

Пробую настроить СOM+, пишет не хватает памяти, черт.

  

DrZombi

30 — 21.07.16 — 15:17

(29) Может все же прав нет?

У Админа :)

  

BubbleGumm

31 — 21.07.16 — 15:19

да запускал 1с от администратора — нифига

  

Serginio1

32 — 21.07.16 — 15:29

  

DrZombi

33 — 21.07.16 — 15:31

  

DrZombi

34 — 21.07.16 — 15:31

(32) Спасибо :)

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

Константа Значение Описание
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 Ошибка при работе с объектом

Разбор полетов! Коды ошибок, их значения и способы устранения.

Разбор полетов! Коды ошибок, их значения и способы устранения.

Ввиду частых обращений ко мне, как специалисту в области программирования советников на мт4, с вопросами об ошибках, я попытаюсь Вам рассказать наиболее частые ошибки трейдера, и ошибки советников, способы их устранения и причины их возникновения.

Каждый советник имеет свой функциональный режим, но будем исходить из стандартного набора проблем и распространенных ошибок советников.

Итак начнем.

Краткая справка по ошибкам изложена в Коды Ошибок, а также в самом терминале MetaTrader4
Исходя из них — мы попробуем в стиле Руководства по ошибкам электронной техники описать проблему и способ ее решения.

Если Вашей ошибки нет в данной таблице, или способы решения не помогли, обратитесь к автору Вашего советника, но перед этим воспользуйтесь статьей Log файлы для детального рассмотрения проблемы с роботами* (Expforex Прибыльные советники — — Стратегии Форекс —)

ошибка 4, 146
Торговый сервер занят
1. Советник подал слишком много приказов одновременно
2. Не дождавшись ответа от сервера, при выполнении операции — советник пытается отправить новый приказ, Сервер перегружен

1. Перезагрузка терминала
2. Оптимизация кода советника с помощью функций обработки ошибок.

ошибка8, 141
Слишком частые запросы
1. Предыдущие причины ошибки, в сильно частом запросе.

ошибка129
Неправильная цена
1. Цена по которой Вы пытаетесь открыть позицию (BUY SELL)- неправильная

1. Золотое правило: BUY нужно открывать по Ask а закрывать по BID
SELL нужно открывать по BID а закрывать по ASK

ошибка130,145
Неправильные стопы
1. Стопы= Стоплосс, тейкпрофит или уровень открытия отложенника или лимитника.
2. Стопы расположены слишком близко к цене
3. Ваш счет открыт в группе ECN (ЕЦН) или NDD (НДД)
4. Ваш брокер использует Рыночное исполнение позиций

1. Проверьте значения Ваших стоплосс, тейпрофитов
2. Уточните минимальный стоп уровень по Вашему инструменту у брокера, при выставлении стопов — соблюдайте уровень минимальной дистанции
3. В хорошо написанном советнике должны быть функции работы на счетах ECN и NDD

ошибка131
Неправильный объем
1. Неправильный лот при открытии сделки
2. Лот, который вы пытаетесь открыть, меньше минимального
3. Лот, который вы пытаетесь открыть больше максимального
4. Разрядность лота отличается от разрядности брокера.
1. Проверьте правильность открытия лота, изучите спецификацию контракта и прочтите условия торговли в Вашем ДЦ
2.3. Проверьте, Минимальный и Максимальный лот в Вашем ДЦ и на Вашем счете. На некоторых типах счетов, минимальный лот может быть 0.01 а также 0.1 и даже 3. Максимальный лот может быть 5 лотов и 999 лотов и другие.
4. Уточните разрядность лотов на Вашем сервере. Если например разрядность лотов=1, то можно открыть лот 0.1 или 0.5 или 1.2 и так далее, с 1 знаком после запятой, если разрядность лота 2 знака, то исходя из минимального лота, лот может быть 0.01, 0.06, 0.17, 1.48. Также в некоторых ДЦ существует порядок степени лотов, например можно открыть 0.5 и 1 и 1.5 и так далее, а например 0.6 открыть нельзя. Уточните у своего брокера порядок установки лотов.

ошибка132
Рынок закрыт
1. Рынок закрыт в Выходные дни
1.Пробуйтесвязаться с рынком после выходных

ошибка133
Торговля запрещена
1. В данный момент торговля запрещена
2. По данной валютной паре запрещено торговать
1. Попробуйте торговать после выходных

ошибка134
Недостаточно денег для совершения операции
1. Лот, который Вы пытаетесь открыть, слишком большой, на него не хватает маржи
1. Проверьте уровень свободных средств, ирассчитайтесредства, которые Вам нужны, для открытия лота
2. Следите за уровнем Ваших свободных средств

ошибка135..138
Цена изменилась
1. Реквот
2. Слишком быстрый рынок
3. Брокер или ДЦ не дает Вам поставить позицию по заявленной цене
1. Не торгуйте в такие моменты
2. Увеличьте уровеньпроскальзывания, но помните что это влечет за собой открытие позиций не по заявленной Вами цене.
3. Сделайте в советнике функцию обработки ошибок и количество попыток открытия позиций

ошибка 147
Использование даты истечения ордера запрещено брокером
1. Ваш советник или Вы пытаетесь установить срок истечения отложенного ордера
1. В советнике, в функции OrderSend в параметре срок истечения поставьте=0
2. Не устанавливайте срок истечения ордера.

ошибка 148
Количество открытых и отложенных ордеров достигло предела, установленного брокером.
1. Максимальноеколичествооткрытых ордеров и позиций достигнут предела, установленного брокером.
1. Удалите или закройте часть позиций
2. Остановите процесс открытия новых позиций
3. Соблюдайте иерархию сделок, лучше открыть 1 позицию лото 0.1 одновременно, чем 10 позиций лотом 0.01 с потерей спреда.

ошибка 4012, 4013
zero devide

Остаток от деления на ноль

  • Вы пытаетесь поделить число на 0.
  • Проверьте Весь код советника на наличие такой грубой ошибки, или же проверьте все значения из MarketInfo функций на момент возвращения 0, иногда при MarketInfo(Symbol(),MODE_SPREAD) возвращается не спред а 0 (у брокеров с плавающим спредом)

ошибка 4017
Вызовы DLL не разрешены

  • В Вашем терминале запрещен вызов DLL
  • Разрешите вызов DLL через Меню – сервис – Настройки – Советник – Разрешить вызов DLL, но помните, разрешайте данную опцию только для советников, в которых Вы уверены, и уверены что в ДЛЛ не сидит какой-нибудь троян. Проверьте ДЛЛ на наличие троянов с помощью антивируса.

Ошибка 4018 , 4019
Невозможно загрузить библиотеку

  • Библиотека повреждена
  • Вызов библиотеки осуществляется с ошибкой
  • Проверьте библиотеку DLL
  • Обратитесь к разработчику данной библиотеки

Ошибка 4020
Вызовы внешних библиотечных функций не разрешены

  • В Вашем терминале запрещен вызов функций из внешних экспертов
  • Разрешите вызов функций через Меню – сервис – Настройки – Советник – Разрешить вызов внешних экспертов,

Ошибка 4103
Невозможно открыть файл

  • Данный файл не существует
  • Данный файл заблокирован
  • Проверьте наличие указанного файла в папке experts – files

Tester – files

  • Проверьте не заблокирован ли файл системой антивируса. Разрешен ли режим записичтения файла

Ошибка 4106
Неизвестный символ

  • Символа нет в обзоре рынка
  • В обзоре рынка – правой кнопкой мыши – показать все символы
  • Проверить названия символа в советнике и наличие его в обзоре рынка
  • Некоторые советники используют четкие названия без суфиксов, а брокеры намеренно ставят суфиксы, например EURUSDx где х – суфикс.

Ошибка 4108
Неверный номер тикета

  • Тикет ордера, который выбирает эксперт – не существует
  • Эксперт пытается выбрать тикет, но данный ордер был закрыт другим советником или руками.
  • При попытке осуществления приказа над ордером, тикет был исполнен и закрыт брокером.
  • Если данная ошибка появляется очень часто, 100-1000 раз за минуту, проверьте функции Вашего советника
  • Отключите другие советники, или настройте их так, чтобы они не конфликтовали, не закрывайте ордер руками, когда эксперт выполняет операцию

Ошибка 4109
Торговля не разрешена

  • Советнику запрещено торговать, на графике грустный смайл или крестик
  • Включите галочку «Разрешить советнику торговать» в вкладе при установке советника, либо в меню- сервис – настройки – советники.

Ошибка 4110, 4111
Длинные позиции не разрешены
Короткие позиции не разрешены

  • В настройках советника, в вкладке Общие не разрешен тип позиций
  • В Вкладке Общие, при установке советника есть выбор позиций:

Long Short – Разрешены BUY SELL
Only Long– Разрешен BUY
Only Short – Разрешен SELL

НЕ ЗАБЫВАЕМ ГОВОРИТЬ СПАСИБО И НАЖИМАТЬ КНОПКУ

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

Константа Значение Описание
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 Ошибка при работе с объектом

Разбор полетов! Коды ошибок, их значения и способы устранения.

Разбор полетов! Коды ошибок, их значения и способы устранения.

Ввиду частых обращений ко мне, как специалисту в области программирования советников на мт4, с вопросами об ошибках, я попытаюсь Вам рассказать наиболее частые ошибки трейдера, и ошибки советников, способы их устранения и причины их возникновения.

Каждый советник имеет свой функциональный режим, но будем исходить из стандартного набора проблем и распространенных ошибок советников.

Итак начнем.

Краткая справка по ошибкам изложена в Коды Ошибок, а также в самом терминале MetaTrader4
Исходя из них — мы попробуем в стиле Руководства по ошибкам электронной техники описать проблему и способ ее решения.

Если Вашей ошибки нет в данной таблице, или способы решения не помогли, обратитесь к автору Вашего советника, но перед этим воспользуйтесь статьей Log файлы для детального рассмотрения проблемы с роботами* (Expforex Прибыльные советники — — Стратегии Форекс —)

ошибка 4, 146
Торговый сервер занят
1. Советник подал слишком много приказов одновременно
2. Не дождавшись ответа от сервера, при выполнении операции — советник пытается отправить новый приказ, Сервер перегружен

1. Перезагрузка терминала
2. Оптимизация кода советника с помощью функций обработки ошибок.

ошибка8, 141
Слишком частые запросы
1. Предыдущие причины ошибки, в сильно частом запросе.

ошибка129
Неправильная цена
1. Цена по которой Вы пытаетесь открыть позицию (BUY SELL)- неправильная

1. Золотое правило: BUY нужно открывать по Ask а закрывать по BID
SELL нужно открывать по BID а закрывать по ASK

ошибка130,145
Неправильные стопы
1. Стопы= Стоплосс, тейкпрофит или уровень открытия отложенника или лимитника.
2. Стопы расположены слишком близко к цене
3. Ваш счет открыт в группе ECN (ЕЦН) или NDD (НДД)
4. Ваш брокер использует Рыночное исполнение позиций

1. Проверьте значения Ваших стоплосс, тейпрофитов
2. Уточните минимальный стоп уровень по Вашему инструменту у брокера, при выставлении стопов — соблюдайте уровень минимальной дистанции
3. В хорошо написанном советнике должны быть функции работы на счетах ECN и NDD

ошибка131
Неправильный объем
1. Неправильный лот при открытии сделки
2. Лот, который вы пытаетесь открыть, меньше минимального
3. Лот, который вы пытаетесь открыть больше максимального
4. Разрядность лота отличается от разрядности брокера.
1. Проверьте правильность открытия лота, изучите спецификацию контракта и прочтите условия торговли в Вашем ДЦ
2.3. Проверьте, Минимальный и Максимальный лот в Вашем ДЦ и на Вашем счете. На некоторых типах счетов, минимальный лот может быть 0.01 а также 0.1 и даже 3. Максимальный лот может быть 5 лотов и 999 лотов и другие.
4. Уточните разрядность лотов на Вашем сервере. Если например разрядность лотов=1, то можно открыть лот 0.1 или 0.5 или 1.2 и так далее, с 1 знаком после запятой, если разрядность лота 2 знака, то исходя из минимального лота, лот может быть 0.01, 0.06, 0.17, 1.48. Также в некоторых ДЦ существует порядок степени лотов, например можно открыть 0.5 и 1 и 1.5 и так далее, а например 0.6 открыть нельзя. Уточните у своего брокера порядок установки лотов.

ошибка132
Рынок закрыт
1. Рынок закрыт в Выходные дни
1.Пробуйтесвязаться с рынком после выходных

ошибка133
Торговля запрещена
1. В данный момент торговля запрещена
2. По данной валютной паре запрещено торговать
1. Попробуйте торговать после выходных

ошибка134
Недостаточно денег для совершения операции
1. Лот, который Вы пытаетесь открыть, слишком большой, на него не хватает маржи
1. Проверьте уровень свободных средств, ирассчитайтесредства, которые Вам нужны, для открытия лота
2. Следите за уровнем Ваших свободных средств

ошибка135..138
Цена изменилась
1. Реквот
2. Слишком быстрый рынок
3. Брокер или ДЦ не дает Вам поставить позицию по заявленной цене
1. Не торгуйте в такие моменты
2. Увеличьте уровеньпроскальзывания, но помните что это влечет за собой открытие позиций не по заявленной Вами цене.
3. Сделайте в советнике функцию обработки ошибок и количество попыток открытия позиций

ошибка 147
Использование даты истечения ордера запрещено брокером
1. Ваш советник или Вы пытаетесь установить срок истечения отложенного ордера
1. В советнике, в функции OrderSend в параметре срок истечения поставьте=0
2. Не устанавливайте срок истечения ордера.

ошибка 148
Количество открытых и отложенных ордеров достигло предела, установленного брокером.
1. Максимальноеколичествооткрытых ордеров и позиций достигнут предела, установленного брокером.
1. Удалите или закройте часть позиций
2. Остановите процесс открытия новых позиций
3. Соблюдайте иерархию сделок, лучше открыть 1 позицию лото 0.1 одновременно, чем 10 позиций лотом 0.01 с потерей спреда.

ошибка 4012, 4013
zero devide

Остаток от деления на ноль

  • Вы пытаетесь поделить число на 0.
  • Проверьте Весь код советника на наличие такой грубой ошибки, или же проверьте все значения из MarketInfo функций на момент возвращения 0, иногда при MarketInfo(Symbol(),MODE_SPREAD) возвращается не спред а 0 (у брокеров с плавающим спредом)

ошибка 4017
Вызовы DLL не разрешены

  • В Вашем терминале запрещен вызов DLL
  • Разрешите вызов DLL через Меню – сервис – Настройки – Советник – Разрешить вызов DLL, но помните, разрешайте данную опцию только для советников, в которых Вы уверены, и уверены что в ДЛЛ не сидит какой-нибудь троян. Проверьте ДЛЛ на наличие троянов с помощью антивируса.

Ошибка 4018 , 4019
Невозможно загрузить библиотеку

  • Библиотека повреждена
  • Вызов библиотеки осуществляется с ошибкой
  • Проверьте библиотеку DLL
  • Обратитесь к разработчику данной библиотеки

Ошибка 4020
Вызовы внешних библиотечных функций не разрешены

  • В Вашем терминале запрещен вызов функций из внешних экспертов
  • Разрешите вызов функций через Меню – сервис – Настройки – Советник – Разрешить вызов внешних экспертов,

Ошибка 4103
Невозможно открыть файл

  • Данный файл не существует
  • Данный файл заблокирован
  • Проверьте наличие указанного файла в папке experts – files

Tester – files

  • Проверьте не заблокирован ли файл системой антивируса. Разрешен ли режим записичтения файла

Ошибка 4106
Неизвестный символ

  • Символа нет в обзоре рынка
  • В обзоре рынка – правой кнопкой мыши – показать все символы
  • Проверить названия символа в советнике и наличие его в обзоре рынка
  • Некоторые советники используют четкие названия без суфиксов, а брокеры намеренно ставят суфиксы, например EURUSDx где х – суфикс.

Ошибка 4108
Неверный номер тикета

  • Тикет ордера, который выбирает эксперт – не существует
  • Эксперт пытается выбрать тикет, но данный ордер был закрыт другим советником или руками.
  • При попытке осуществления приказа над ордером, тикет был исполнен и закрыт брокером.
  • Если данная ошибка появляется очень часто, 100-1000 раз за минуту, проверьте функции Вашего советника
  • Отключите другие советники, или настройте их так, чтобы они не конфликтовали, не закрывайте ордер руками, когда эксперт выполняет операцию

Ошибка 4109
Торговля не разрешена

  • Советнику запрещено торговать, на графике грустный смайл или крестик
  • Включите галочку «Разрешить советнику торговать» в вкладе при установке советника, либо в меню- сервис – настройки – советники.

Ошибка 4110, 4111
Длинные позиции не разрешены
Короткие позиции не разрешены

  • В настройках советника, в вкладке Общие не разрешен тип позиций
  • В Вкладке Общие, при установке советника есть выбор позиций:

Long Short – Разрешены BUY SELL
Only Long– Разрешен BUY
Only Short – Разрешен SELL

НЕ ЗАБЫВАЕМ ГОВОРИТЬ СПАСИБО И НАЖИМАТЬ КНОПКУ

При работе торгового терминала MetaTrader 4 возникают различные ошибки при обмене информацией с торговым сервером, который в ответ на ошибочные запросы отсылает программе MetaTrader 4 не описание ошибки, а цифровой код ошибки — специальную комбинацию цифр, которая отображается во вкладках Эксперты и Журнал (примеры этих вкладок и описание типичной ситуации при возникновении ошибок можно найти в статье «Обзор торгового терминала MetaTrader 4»). Не все торговые терминалы MetaTrader 4 различных дилинговых центров дают расшифровку цифрового кода, а если она и есть, то — на английском языке. Чтобы понять, почему программа МетаТрейдер 4 работает неправильно, полезно знать расшифровку цифрового кода — какой комбинации цифр соответствует определенное описание ошибки. В некоторых случаях эта информация может сильно облегчить «жизнь» трейдеру и помочь быстрее справиться с возникшей проблемой.

Итак, предлагаем Вашему вниманию расшифровку кодов ошибок, которые можно встретить при работе с торговым терминалом MetaTrader 4:

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

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

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

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

Содержание

  • 1 Коды ошибок:
    • 1.1 Коды ошибок выполнения MQL4 программы:
    • 1.2 Похожие статьи:

Очень часто в торговом терминале возникают ошибки при тестировании или оптимизации советников форекс, все ошибки можно увидеть в лог-файлах МТ4, а вот что означают коды ошибок, мы рассмотрим в этой статье:

Список ошибок MetaTrader 4

Ниже представлена таблица кодов ошибок и их описание, поэтому просмотрев таблицу вы сразу поймете что не так с советником или его параметрами и на какой параметр нужно обратить внимание при тестировании, чтоб исправить ошибку.

Так, например, если при тесте возникает ошибка error 130, то становится понятно, что функция советника пытается изменить или установить стоп-лосс или тейк-профит слишком близко к текущей цене на рынке, ближе чем разрешает ваш БРОКЕР ФОРЕКС.

Коды ошибок:

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

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

Значение Описание
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 Ошибка при работе с объектом

Надеюсь данная таблица поможет вам побыстрее решить вопросы с ошибками в тестировании ПЛАТНЫХ и БЕСПЛАТНЫХ советников форекс!

Спасибо А. Парнюку за предоставление списка ошибок.

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

В исполняющей подсистеме клиентского терминала имеется возможность сохранения кода ошибки в случае ее возникновения при выполнении mql-программы. Для каждой исполняемой mql-программы предусмотрена своя собственная специальная переменная last_error. Перед запуском функции OnInit() переменная last_error обнуляется. В случае возникновения патовой ситуации во время вычислений или во время вызова встроенной функции переменная last_error принимает соответствующий код ошибки. Значение, сохраненное в этой переменной, можно получить при помощи функции GetLastError(). При этом переменная last_error обнуляется.

Существует ряд критических ошибок, при возникновении которых выполнение программы немедленно завершается:

Константа Значение Описание
ERR_WRONG_FUNCTION_POINTER 4001 При вызове внутренней функции обнаружен неправильный указатель вызываемой функции
ERR_NO_MEMORY_FOR_CALL_STACK 4003 При вызове внутренней функции невозможно перераспределить память для стека вызовов функции
ERR_RECURSIVE_STACK_OVERFLOW 4004 При рекурсивном вызове функции исчерпан стек данных
ERR_NO_MEMORY_FOR_PARAM_STRING 4006 При вызове внутренней функции невозможно распределить память для передачи строки в качестве параметра функции
ERR_NO_MEMORY_FOR_TEMP_STRING 4007 Невозможно распределить временный буфер для операций со строками
ERR_NO_MEMORY_FOR_ARRAYSTRING 4010 При присвоении невозможно перераспределить память для строки в массиве
ERR_TOO_LONG_STRING 4011 При присвоении слишком длинная результатная строка для помещения в служебный буфер (невозможно перераспределить память для служебного буфера)
ERR_REMAINDER_FROM_ZERO_DIVIDE 4012 Деление на 0 при взятии остатка от деления
ERR_ZERO_DIVIDE 4013 Деление на 0
ERR_UNKNOWN_COMMAND 4014 Неизвестная инструкция

Если выполнение программы было прервано из-за критической ошибки, то при следующем запуске функции OnTick или функции OnDeinit можно прочитать код этой ошибки, используя функцию GetLastError(). Перед выполнением функций OnTick и OnDeinit переменная last_error не сбрасывается.

Существует ряд критических ошибок, связанных с вызовом импортируемых функций, при возникновении которых выполнение эксперта или индикатора немедленно прерывается и функция OnTick не запускается до тех пор, пока не будет произведена переинициализация эксперта или индикатора.

Константа Значение Описание
ERR_CANNOT_LOAD_LIBRARY 4018 При вызове импортируемой функции произошла ошибка загрузки dll или ex4-библиотеки
ERR_CANNOT_CALL_FUNCTION 4019 При вызове импортируемой из функции выяснилось, что dll или ex4-библиотека не содержит эту функцию
ERR_DLL_CALLS_NOT_ALLOWED 4017 При вызове импортируемой из dll функции выяснилось, что установлен запрет на вызовы из dll
ERR_EXTERNAL_CALLS_NOT_ALLOWED 4020 При вызове импортируемой из ex4-библиотеки выяснилось, что установлен запрет на вызовы из ex4
ERR_FUNCTION_NOT_CONFIRMED 4060 Не подтвержден вызов импортируемой из dll функции. Если нажата кнопка «Нет», то выполнение программы не прерывается. Если нажата кнопка «Отмена», то выполнение программы немедленно прерывается

Остальные ошибки не прерывают работу программы.

Константа Значение Описание
ERR_ARRAY_INDEX_OUT_OF_RANGE 4002 Обращение к элементу массива, номер которого находится за пределами массива
ERR_NOT_INITIALIZED_STRING 4008 Неинициализированная строка; строке, участвующей в каком-либо выражении, не присвоено никакого значения
ERR_NOT_INITIALIZED_ARRAYSTRING 4009 Неинициализированная строка в массиве строк; строке, участвующей в каком-либо выражении, не присвоено никакого значения
ERR_NO_MEMORY_FOR_RETURNED_STR 4021 Невозможно перераспределить память для строки, возвращаемой из функции

Никогда не генерируется код ошибки ERR_NO_MQLERROR (4000).

Имеется ряд ошибок, которые случаются только в результате сбоя. При постоянном проявлении какой-либо из нижеуказанных ошибок следует связаться с разработчиками.

Константа Значение Описание
ERR_WRONG_FUNCTION_POINTER 4001 При вызове внутренней функции обнаружен неправильный указатель вызываемой функции
ERR_UNKNOWN_COMMAND 4014 Неизвестная инструкция
ERR_NOT_INITIALIZED_ARRAY 4016 Неинициализированный массив
ERR_INVALID_FUNCTION_PARAMSCNT 4050 Неверное количество параметров, передаваемых во встроенную функцию
ERR_STRING_FUNCTION_INTERNAL 4052 Ошибка при работе со строками
ERR_TRADE_ERROR 4067 Ошибка при выполнении торговой функции
ERR_SOME_OBJECT_ERROR 4207 Ошибка при работе с объектами

Существует несколько встроенных функций, которые всегда меняют значение переменной last_error.

Функция Коды ошибок
AccountFreeMarginCheck ERR_STRING_PARAMETER_EXPECTED (4062), ERR_INTEGER_PARAMETER_EXPECTED (4063), ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_UNKNOWN_SYMBOL (4106), ERR_NOT_ENOUGH_MONEY (134)
OrderSend ERR_CUSTOM_INDICATOR_ERROR (4055), ERR_STRING_PARAMETER_EXPECTED (4062), ERR_INTEGER_PARAMETER_EXPECTED (4063), ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_INVALID_PRICE_PARAM (4107), ERR_UNKNOWN_SYMBOL (4106), ERR_TRADE_NOT_ALLOWED (4109), ERR_LONGS_NOT_ALLOWED (4110), ERR_SHORTS_NOT_ALLOWED (4111), коды от торгового сервера
OrderClose ERR_CUSTOM_INDICATOR_ERROR (4055), ERR_INTEGER_PARAMETER_EXPECTED (4063), ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_INVALID_PRICE_PARAM (4107), ERR_INVALID_TICKET (4108), ERR_UNKNOWN_SYMBOL (4106), ERR_TRADE_NOT_ALLOWED (4109), коды от торгового сервера
OrderCloseBy ERR_CUSTOM_INDICATOR_ERROR (4055), ERR_INTEGER_PARAMETER_EXPECTED (4063), ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_INVALID_TICKET (4108), ERR_UNKNOWN_SYMBOL (4106), ERR_TRADE_NOT_ALLOWED (4109), коды от торгового сервера
OrderDelete ERR_CUSTOM_INDICATOR_ERROR (4055), ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_INVALID_TICKET (4108), ERR_UNKNOWN_SYMBOL (4106), ERR_TRADE_NOT_ALLOWED (4109), коды от торгового сервера
OrderModify ERR_CUSTOM_INDICATOR_ERROR (4055), ERR_INTEGER_PARAMETER_EXPECTED (4063), ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_INVALID_PRICE_PARAM (4107), ERR_INVALID_TICKET (4108), ERR_UNKNOWN_SYMBOL (4106), ERR_TRADE_NOT_ALLOWED (4109), коды от торгового сервера
GetLastError ERR_NO_ERROR (0)

Некоторые функции меняют значение переменной last_error только в случае возникновения какой-либо ошибки.

Функция Коды ошибок
ArrayBsearch ERR_ARRAY_AS_PARAMETER_EXPECTED (4065), ERR_SOME_ARRAY_ERROR (4053), ERR_INVALID_FUNCTION_PARAMVALUE (4051)
ArrayCopy ERR_ARRAY_AS_PARAMETER_EXPECTED (4065), ERR_SOME_ARRAY_ERROR (4053), ERR_INCOMPATIBLE_ARRAYS (4056), ERR_INVALID_FUNCTION_PARAMVALUE (4051)
ArrayCopyRates ERR_ARRAY_AS_PARAMETER_EXPECTED (4065), ERR_SOME_ARRAY_ERROR (4053), ERR_INCOMPATIBLE_ARRAYS (4056), ERR_STRING_PARAMETER_EXPECTED (4062),
ArrayCopySeries ERR_ARRAY_AS_PARAMETER_EXPECTED (4065), ERR_SOME_ARRAY_ERROR (4053), ERR_INCORRECT_SERIESARRAY_USING (4054), ERR_INCOMPATIBLE_ARRAYS (4056), ERR_STRING_PARAMETER_EXPECTED (4062), ERR_HISTORY_WILL_UPDATED (4066), ERR_INVALID_FUNCTION_PARAMVALUE (4051)
ArrayDimension ERR_ARRAY_AS_PARAMETER_EXPECTED (4065), ERR_SOME_ARRAY_ERROR (4053)
ArrayGetAsSeries ERR_ARRAY_AS_PARAMETER_EXPECTED (4065), ERR_SOME_ARRAY_ERROR (4053)
ArrayInitialize ERR_ARRAY_AS_PARAMETER_EXPECTED (4065), ERR_SOME_ARRAY_ERROR (4053), ERR_INVALID_FUNCTION_PARAMVALUE (4051)
ArrayIsSeries ERR_ARRAY_AS_PARAMETER_EXPECTED (4065), ERR_SOME_ARRAY_ERROR (4053)
ArrayMaximum ERR_ARRAY_AS_PARAMETER_EXPECTED (4065), ERR_SOME_ARRAY_ERROR (4053), ERR_INVALID_FUNCTION_PARAMVALUE (4051)
ArrayMinimum ERR_ARRAY_AS_PARAMETER_EXPECTED (4065), ERR_SOME_ARRAY_ERROR (4053), ERR_INVALID_FUNCTION_PARAMVALUE (4051)
ArrayRange ERR_ARRAY_AS_PARAMETER_EXPECTED (4065), ERR_SOME_ARRAY_ERROR (4053), ERR_INTEGER_PARAMETER_EXPECTED (4063), ERR_INVALID_FUNCTION_PARAMVALUE (4051)
ArrayResize ERR_ARRAY_AS_PARAMETER_EXPECTED (4065), ERR_SOME_ARRAY_ERROR (4053), ERR_INVALID_FUNCTION_PARAMVALUE (4051)
ArraySetAsSeries ERR_ARRAY_AS_PARAMETER_EXPECTED (4065), ERR_SOME_ARRAY_ERROR (4053)
ArraySize ERR_ARRAY_AS_PARAMETER_EXPECTED (4065), ERR_SOME_ARRAY_ERROR (4053)
ArraySort ERR_ARRAY_AS_PARAMETER_EXPECTED (4065), ERR_SOME_ARRAY_ERROR (4053), ERR_INCORRECT_SERIESARRAY_USING (4054), ERR_INVALID_FUNCTION_PARAMVALUE (4051)
FileClose ERR_INVALID_FUNCTION_PARAMVALUE (4051)
FileDelete ERR_WRONG_FILE_NAME (4101), ERR_SOME_FILE_ERROR (4100)
FileFlush ERR_INVALID_FUNCTION_PARAMVALUE (4051)
FileIsEnding ERR_INVALID_FUNCTION_PARAMVALUE (4051)
FileIsLineEnding ERR_INVALID_FUNCTION_PARAMVALUE (4051)
FileOpen ERR_TOO_MANY_OPENED_FILES (4102), ERR_WRONG_FILE_NAME (4101), ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_SOME_FILE_ERROR (4100), ERR_CANNOT_OPEN_FILE (4103)
FileOpenHistory ERR_TOO_MANY_OPENED_FILES (4102), ERR_WRONG_FILE_NAME (4101), ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_SOME_FILE_ERROR (4100), ERR_CANNOT_OPEN_FILE (4103)
FileReadArray ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_INCOMPATIBLE_FILEACCESS (4104), ERR_SOME_ARRAY_ERROR (4053), ERR_SOME_FILE_ERROR (4100), ERR_END_OF_FILE (4099)
FileReadDouble ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_INCOMPATIBLE_FILEACCESS (4104), ERR_END_OF_FILE (4099)
FileReadInteger ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_INCOMPATIBLE_FILEACCESS (4104), ERR_END_OF_FILE (4099)
FileReadNumber ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_INCOMPATIBLE_FILEACCESS (4104), ERR_SOME_FILE_ERROR (4100), ERR_END_OF_FILE (4099)
FileReadString ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_INCOMPATIBLE_FILEACCESS (4104), ERR_SOME_FILE_ERROR (4100), ERR_TOO_LONG_STRING (4011), ERR_END_OF_FILE (4099)
FileSeek ERR_INVALID_FUNCTION_PARAMVALUE (4051)
FileSize ERR_INVALID_FUNCTION_PARAMVALUE (4051)
FileTell ERR_INVALID_FUNCTION_PARAMVALUE (4051)
FileWrite ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_SOME_FILE_ERROR (4100)
FileWriteDouble ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_INCOMPATIBLE_FILEACCESS (4104), ERR_SOME_FILE_ERROR (4100)
FileWriteInteger ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_INCOMPATIBLE_FILEACCESS (4104), ERR_SOME_FILE_ERROR (4100)
FileWriteString ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_INCOMPATIBLE_FILEACCESS (4104), ERR_SOME_FILE_ERROR (4100), ERR_STRING_PARAMETER_EXPECTED (4062)
FileWriteArray ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_INCOMPATIBLE_FILEACCESS (4104), ERR_SOME_FILE_ERROR (4100),
GlobalVariableCheck ERR_STRING_PARAMETER_EXPECTED (4062)
GlobalVariableDel ERR_STRING_PARAMETER_EXPECTED (4062), ERR_GLOBAL_VARIABLES_PROCESSING (4057)
GlobalVariableGet ERR_STRING_PARAMETER_EXPECTED (4062), ERR_GLOBAL_VARIABLE_NOT_FOUND (4058)
GlobalVariablesDeleteAll ERR_STRING_PARAMETER_EXPECTED (4062), ERR_GLOBAL_VARIABLES_PROCESSING (4057)
GlobalVariableSet ERR_STRING_PARAMETER_EXPECTED (4062), ERR_GLOBAL_VARIABLES_PROCESSING (4057)
GlobalVariableSetOnCondition ERR_STRING_PARAMETER_EXPECTED (4062), ERR_GLOBAL_VARIABLE_NOT_FOUND (4058)
iCustom ERR_STRING_PARAMETER_EXPECTED (4062), ERR_INVALID_FUNCTION_PARAMVALUE (4051)
технические индикаторы, функции доступа к таймсериям ERR_HISTORY_WILL_UPDATED (4066)
технические индикаторы OnArray ERR_ARRAY_AS_PARAMETER_EXPECTED (4065), ERR_SOME_ARRAY_ERROR (4053)
IndicatorBuffers ERR_INVALID_FUNCTION_PARAMVALUE (4051)
IndicatorDigits ERR_INVALID_FUNCTION_PARAMVALUE (4051)
IndicatorShortName ERR_STRING_PARAMETER_EXPECTED (4062), ERR_INVALID_FUNCTION_PARAMVALUE (4051)
MarketInfo ERR_STRING_PARAMETER_EXPECTED (4062), ERR_FUNC_NOT_ALLOWED_IN_TESTING (4059), ERR_UNKNOWN_SYMBOL (4106), ERR_INVALID_FUNCTION_PARAMVALUE (4051)
MathArccos ERR_INVALID_FUNCTION_PARAMVALUE (4051)
MathArcsin ERR_INVALID_FUNCTION_PARAMVALUE (4051)
MathMod ERR_ZERO_DIVIDE (4013)
MathSqrt ERR_INVALID_FUNCTION_PARAMVALUE (4051)
MessageBox ERR_FUNC_NOT_ALLOWED_IN_TESTING (4059), ERR_CUSTOM_INDICATOR_ERROR (4055), ERR_STRING_PARAMETER_EXPECTED (4062)
ObjectCreate ERR_STRING_PARAMETER_EXPECTED (4062), ERR_NO_OBJECT_NAME (4204), ERR_UNKNOWN_OBJECT_TYPE (4203), ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_OBJECT_ALREADY_EXISTS (4200), ERR_NO_SPECIFIED_SUBWINDOW (4206)
ObjectDelete ERR_STRING_PARAMETER_EXPECTED (4062), ERR_NO_OBJECT_NAME (4204), ERR_OBJECT_DOES_NOT_EXIST (4202)
ObjectDescription ERR_STRING_PARAMETER_EXPECTED (4062), ERR_NO_OBJECT_NAME (4204), ERR_OBJECT_DOES_NOT_EXIST (4202)
ObjectFind ERR_STRING_PARAMETER_EXPECTED (4062), ERR_NO_OBJECT_NAME (4204)
ObjectGet ERR_STRING_PARAMETER_EXPECTED (4062), ERR_NO_OBJECT_NAME (4204), ERR_OBJECT_DOES_NOT_EXIST (4202), ERR_UNKNOWN_OBJECT_PROPERTY (4201)
ObjectGetFiboDescription ERR_STRING_PARAMETER_EXPECTED (4062), ERR_NO_OBJECT_NAME (4204), ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_OBJECT_DOES_NOT_EXIST (4202), ERR_UNKNOWN_OBJECT_TYPE (4203), ERR_UNKNOWN_OBJECT_PROPERTY (4201)
ObjectGetShiftByValue ERR_STRING_PARAMETER_EXPECTED (4062), ERR_NO_OBJECT_NAME (4204), ERR_OBJECT_DOES_NOT_EXIST (4202), ERR_OBJECT_COORDINATES_ERROR (4205)
ObjectGetValueByShift ERR_STRING_PARAMETER_EXPECTED (4062), ERR_NO_OBJECT_NAME (4204), ERR_OBJECT_DOES_NOT_EXIST (4202), ERR_OBJECT_COORDINATES_ERROR (4205)
ObjectMove ERR_STRING_PARAMETER_EXPECTED (4062), ERR_NO_OBJECT_NAME (4204), ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_OBJECT_DOES_NOT_EXIST (4202)
ObjectName ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_ARRAY_INDEX_OUT_OF_RANGE (4002)
ObjectSet ERR_STRING_PARAMETER_EXPECTED (4062), ERR_NO_OBJECT_NAME (4204), ERR_OBJECT_DOES_NOT_EXIST (4202), ERR_UNKNOWN_OBJECT_PROPERTY (4201)
ObjectSetText ERR_STRING_PARAMETER_EXPECTED (4062), ERR_NO_OBJECT_NAME (4204), ERR_OBJECT_DOES_NOT_EXIST (4202)
ObjectSetFiboDescription ERR_STRING_PARAMETER_EXPECTED (4062), ERR_NO_OBJECT_NAME (4204), ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_STRING_PARAMETER_EXPECTED (4062), ERR_OBJECT_DOES_NOT_EXIST (4202), ERR_UNKNOWN_OBJECT_TYPE (4203), ERR_UNKNOWN_OBJECT_PROPERTY (4201)
ObjectType ERR_STRING_PARAMETER_EXPECTED (4062), ERR_NO_OBJECT_NAME (4204), ERR_OBJECT_DOES_NOT_EXIST (4202)
OrderClosePrice ERR_NO_ORDER_SELECTED (4105)
OrderCloseTime ERR_NO_ORDER_SELECTED (4105)
OrderComment ERR_NO_ORDER_SELECTED (4105)
OrderCommission ERR_NO_ORDER_SELECTED (4105)
OrderExpiration ERR_NO_ORDER_SELECTED (4105)
OrderLots ERR_NO_ORDER_SELECTED (4105)
OrderMagicNumber ERR_NO_ORDER_SELECTED (4105)
OrderOpenPrice ERR_NO_ORDER_SELECTED (4105)
OrderOpenTime ERR_NO_ORDER_SELECTED (4105)
OrderPrint ERR_NO_ORDER_SELECTED (4105)
OrderProfit ERR_NO_ORDER_SELECTED (4105)
OrderStopLoss ERR_NO_ORDER_SELECTED (4105)
OrderSwap ERR_NO_ORDER_SELECTED (4105)
OrderSymbol ERR_NO_ORDER_SELECTED (4105)
OrderTakeProfit ERR_NO_ORDER_SELECTED (4105)
OrderTicket ERR_NO_ORDER_SELECTED (4105)
OrderType ERR_NO_ORDER_SELECTED (4105)
PlaySound ERR_WRONG_FILE_NAME (4101)
SendFTP ERR_FUNC_NOT_ALLOWED_IN_TESTING (4059), ERR_CUSTOM_INDICATOR_ERROR (4055), ERR_STRING_PARAMETER_EXPECTED (4062)
SendMail ERR_FUNC_NOT_ALLOWED_IN_TESTING (4059), ERR_STRING_PARAMETER_EXPECTED (4062), ERR_FUNCTION_NOT_CONFIRMED (4060), ERR_SEND_MAIL_ERROR (4061)
SetIndexArrow ERR_INVALID_FUNCTION_PARAMVALUE (4051)
SetIndexBuffer ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_INCORRECT_SERIESARRAY_USING (4054), ERR_INCOMPATIBLE_ARRAYS (4056)
SetIndexDrawBegin ERR_INVALID_FUNCTION_PARAMVALUE (4051)
SetIndexEmptyValue ERR_INVALID_FUNCTION_PARAMVALUE (4051)
SetIndexLabel ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_STRING_PARAMETER_EXPECTED (4062)
SetIndexShift ERR_INVALID_FUNCTION_PARAMVALUE (4051)
SetIndexStyle ERR_INVALID_FUNCTION_PARAMVALUE (4051)
SetLevelValue ERR_INVALID_FUNCTION_PARAMVALUE (4051)
Sleep ERR_CUSTOM_INDICATOR_ERROR (4055)
StringFind ERR_STRING_PARAMETER_EXPECTED (4062)
StringGetChar ERR_STRING_PARAMETER_EXPECTED (4062), ERR_NOT_INITIALIZED_STRING (4008), ERR_ARRAY_INDEX_OUT_OF_RANGE (4002)
StringLen ERR_STRING_PARAMETER_EXPECTED (4062)
StringSetChar ERR_STRING_PARAMETER_EXPECTED (4062), ERR_INVALID_FUNCTION_PARAMVALUE (4051), ERR_NOT_INITIALIZED_STRING (4008), ERR_TOO_LONG_STRING (4011), ERR_ARRAY_INDEX_OUT_OF_RANGE (4002)
StringSubstr ERR_STRING_PARAMETER_EXPECTED (4062), ERR_TOO_LONG_STRING (4011)
StringTrimLeft ERR_STRING_PARAMETER_EXPECTED (4062)
StringTrimRight ERR_STRING_PARAMETER_EXPECTED (4062)
WindowIsVisible ERR_FUNC_NOT_ALLOWED_IN_TESTING (4059)
WindowFind ERR_FUNC_NOT_ALLOWED_IN_TESTING (4059), ERR_STRING_PARAMETER_EXPECTED (4062), ERR_NOT_INITIALIZED_STRING (4008)
WindowHandle ERR_FUNC_NOT_ALLOWED_IN_TESTING (4059), ERR_STRING_PARAMETER_EXPECTED (4062), ERR_NOT_INITIALIZED_STRING (4008)
WindowScreenShot ERR_WRONG_FILE_NAME (4101), ERR_INVALID_FUNCTION_PARAMVALUE (4051)

Следующие функции не меняют значение переменной last_error ни при каких условиях:
AccountBalance, AccountCompany, AccountCredit, AccountCurrency, AccountEquity, AccountFreeMargin, AccountLeverage, AccountMargin, AccountName, AccountNumber, AccountProfit, AccountServer, Alert, CharToStr, Comment, Day, DayOfWeek, DayOfYear, DoubleToStr, GetTickCount, HideTestIndicators, Hour, IndicatorCounted, IsConnected, IsDemo, IsDllsAllowed, IsExpertEnabled, IsLibrariesAllowed, IsOptimization, IsStopped, IsTesting, IsTradeAllowed, IsTradeContextBusy, IsVisualMode, MathAbs, MathArctan, MathCeil, MathCos, MathExp, MathFloor, MathLog, MathMax, MathMin, MathPow, MathRand, MathRound, MathSin, MathSrand, MathTan, Minute, Month, NormalizeDouble, ObjectsDeleteAll, ObjectsTotal, OrderSelect, OrdersHistoryTotal, Period, Print, RefreshRates, Seconds, SetLevelStyle, StringConcatenate, StrToTime, StrToDouble, Symbol, TerminalCompany, TerminalName, TerminalPath, TimeCurrent, TimeDay, TimeDayOfWeek, TimeDayOfYear, TimeHour, TimeLocal, TimeMinute, TimeMonth, TimeSeconds, TimeToStr, TimeYear, UninitializeReason, WindowBarsPerChart, WindowFirstVisibleBar, WindowPriceOnDropped, WindowTimeOnDropped, WindowsTotal, WindowOnDropped, WindowRedraw, WindowXOnDropped, WindowYOnDropped, Year.

При работе торгового терминала MetaTrader 4 возникают различные ошибки при обмене информацией с торговым сервером, который в ответ на ошибочные запросы отсылает программе MetaTrader 4 не описание ошибки, а цифровой код ошибки — специальную комбинацию цифр, которая отображается во вкладках Эксперты и Журнал (примеры этих вкладок и описание типичной ситуации при возникновении ошибок можно найти в статье «Обзор торгового терминала MetaTrader 4»). Не все торговые терминалы MetaTrader 4 различных дилинговых центров дают расшифровку цифрового кода, а если она и есть, то — на английском языке. Чтобы понять, почему программа МетаТрейдер 4 работает неправильно, полезно знать расшифровку цифрового кода — какой комбинации цифр соответствует определенное описание ошибки. В некоторых случаях эта информация может сильно облегчить «жизнь» трейдеру и помочь быстрее справиться с возникшей проблемой.

Итак, предлагаем Вашему вниманию расшифровку кодов ошибок, которые можно встретить при работе с торговым терминалом MetaTrader 4:

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

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

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

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

Коды ошибок в MetaTrader 4

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

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 Количество открытых и отложенных ордеров достигло предела, установленного брокером

Коды ошибок выполнения (генерируемые клиентским терминалом MT4) при выполнении советника:

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 Ошибка при работе с объектом

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

ERR_NO_ERROR 0 Торговая операция прошла успешно.

ERR_NO_RESULT 1 OrderModify пытается изменить уже установленные значения такими же значениями. Необходимо изменить одно или несколько значений и повторить попытку.

ERR_COMMON_ERROR 2 Общая ошибка. Прекратить все попытки торговых операций до выяснения обстоятельств. Возможно, перезагрузить операционную систему и клиентский терминал.

ERR_INVALID_TRADE_PARAMETERS 3 В торговую функцию переданы неправильные параметры, например, неправильный символ, неопознанная торговая операция, отрицательное допустимое отклонение цены, несуществующий номер тикета и т.п. Необходимо изменить логику программы.

ERR_SERVER_BUSY 4 Торговый сервер занят. Можно повторить попытку через достаточно большой промежуток времени (от нескольких минут).

ERR_OLD_VERSION 5 Старая версия клиентского терминала. Необходимо установить последнюю версию клиентского терминала.

ERR_NO_CONNECTION 6 Нет связи с торговым сервером. Необходимо убедиться, что связь не нарушена (например, при помощи функции IsConnected) и через небольшой промежуток времени (от 5 секунд) повторить попытку.

ERR_TOO_FREQUENT_REQUESTS 8 Слишком частые запросы. Необходимо уменьшить частоту запросов, изменить логику программы.

ERR_ACCOUNT_DISABLED 64 Счет заблокирован. Необходимо прекратить все попытки торговых операций.

ERR_INVALID_ACCOUNT 65 Неправильный номер счета. Необходимо прекратить все попытки торговых операций.

ERR_TRADE_TIMEOUT 128 Истек срок ожидания совершения сделки. Прежде, чем производить повторную попытку (не менее, чем через 1 минуту), необходимо убедиться, что торговая операция действительно не прошла (новая позиция не была открыта, либо существующий ордер не был изменён или удалён, либо существующая позиция не была закрыта)

ERR_INVALID_PRICE 129 Неправильная цена bid или ask, возможно, ненормализованная цена. Необходимо после задержки от 5 секунд обновить данные при помощи функции RefreshRates и повторить попытку. Если ошибка не исчезает, необходимо прекратить все попытки торговых операций и изменить логику программы.

ERR_INVALID_STOPS 130 Слишком близкие стопы или неправильно рассчитанные или ненормализованные цены в стопах (или в цене открытия отложенного ордера). Попытку можно повторять только в том случае, если ошибка произошла из-за устаревания цены. Необходимо после задержки от 5 секунд обновить данные при помощи функции RefreshRates и повторить попытку. Если ошибка не исчезает, необходимо прекратить все попытки торговых операций и изменить логику программы.

ERR_INVALID_TRADE_VOLUME 131 Неправильный объем, ошибка в грануляции объема. Необходимо прекратить все попытки торговых операций и изменить логику программы.

ERR_MARKET_CLOSED 132 Рынок закрыт. Можно повторить попытку через достаточно большой промежуток времени (от нескольких минут).

ERR_TRADE_DISABLED 133 Торговля запрещена. Необходимо прекратить все попытки торговых операций.

ERR_NOT_ENOUGH_MONEY 134 Недостаточно денег для совершения операции. Повторять сделку с теми же параметрами нельзя. Попытку можно повторить после задержки от 5 секунд, уменьшив объем, но надо быть уверенным в достаточности средств для совершения операции.

ERR_PRICE_CHANGED 135 Цена изменилась. Можно без задержки обновить данные при помощи функции RefreshRates и повторить попытку.

ERR_OFF_QUOTES 136 Нет цен. Брокер по какой-то причине (например, в начале сессии цен нет, неподтвержденные цены, быстрый рынок) не дал цен или отказал. Необходимо после задержки от 5 секунд обновить данные при помощи функции RefreshRates и повторить попытку.

ERR_REQUOTE 138 Запрошенная цена устарела, либо перепутаны bid и ask. Можно без задержки обновить данные при помощи функции RefreshRates и повторить попытку. Если ошибка не исчезает, необходимо прекратить все попытки торговых операций и изменить логику программы.

ERR_ORDER_LOCKED 139 Ордер заблокирован и уже обрабатывается. Необходимо прекратить все попытки торговых операций и изменить логику программы.

ERR_LONG_POSITIONS_ONLY_ALLOWED 140 Разрешена только покупка. Повторять операцию SELL нельзя.

ERR_TOO_MANY_REQUESTS 141 Слишком много запросов. Необходимо уменьшить частоту запросов, изменить логику программы.

142 Ордер поставлен в очередь. Это не ошибка, а один из кодов взаимодействия между клиентским терминалом и торговым сервером. Этот код может быть получен в редком случае, когда во время выполнения торговой операции произошёл обрыв и последующее восстановление связи. Необходимо обрабатывать так же как и ошибку 128.

143 Ордер принят дилером к исполнению. Один из кодов взаимодействия между клиентским терминалом и торговым сервером. Может возникнуть по той же причине, что и код 142. Необходимо обрабатывать так же как и ошибку 128.

144 Ордер аннулирован самим клиентом при ручном подтверждении сделки. Один из кодов взаимодействия между клиентским терминалом и торговым сервером.

ERR_TRADE_MODIFY_DENIED 145 Модификация запрещена, так как ордер слишком близок к рынку и заблокирован из-за возможного скорого исполнения. Можно не ранее, чем через 15 секунд, обновить данные при помощи функции RefreshRates и повторить попытку.

ERR_TRADE_CONTEXT_BUSY 146 Подсистема торговли занята. Повторить попытку только после того, как функция IsTradeContextBusy вернет FALSE.

ERR_TRADE_EXPIRATION_DENIED 147 Использование даты истечения ордера запрещено брокером. Операцию можно повторить только в том случае, если обнулить параметр expiration.

ERR_TRADE_TOO_MANY_ORDERS 148 Количество открытых и отложенных ордеров достигло предела, установленного брокером. Новые открытые позиции и отложенные ордера возможны только после закрытия или удаления существующих позиций или ордеров.

ERR_TRADE_HEDGE_PROHIBITED 149 Попытка открыть противоположную позицию к уже существующей в случае, если хеджирование запрещено. Сначала необходимо закрыть существующую противоположную позицию, либо отказаться от всех попыток таких торговых операций, либо изменить логику программы.

ERR_TRADE_PROHIBITED_BY_FIFO 150 Попытка закрыть позицию по инструменту в противоречии с правилом FIFO


Изменено 31 мая, 2017 пользователем Pavel888

Разбор полетов! Коды ошибок, их значения и способы устранения.

Разбор полетов! Коды ошибок, их значения и способы устранения.

Ввиду частых обращений ко мне, как специалисту в области программирования советников на мт4, с вопросами об ошибках, я попытаюсь Вам рассказать наиболее частые ошибки трейдера, и ошибки советников, способы их устранения и причины их возникновения.

Каждый советник имеет свой функциональный режим, но будем исходить из стандартного набора проблем и распространенных ошибок советников.

Итак начнем.

Краткая справка по ошибкам изложена в Коды Ошибок, а также в самом терминале MetaTrader4
Исходя из них — мы попробуем в стиле Руководства по ошибкам электронной техники описать проблему и способ ее решения.

Если Вашей ошибки нет в данной таблице, или способы решения не помогли, обратитесь к автору Вашего советника, но перед этим воспользуйтесь статьей Log файлы для детального рассмотрения проблемы с роботами* (Expforex Прибыльные советники — — Стратегии Форекс —)

ошибка 4, 146
Торговый сервер занят
1. Советник подал слишком много приказов одновременно
2. Не дождавшись ответа от сервера, при выполнении операции — советник пытается отправить новый приказ, Сервер перегружен

1. Перезагрузка терминала
2. Оптимизация кода советника с помощью функций обработки ошибок.

ошибка8, 141
Слишком частые запросы
1. Предыдущие причины ошибки, в сильно частом запросе.

ошибка129
Неправильная цена
1. Цена по которой Вы пытаетесь открыть позицию (BUY SELL)- неправильная

1. Золотое правило: BUY нужно открывать по Ask а закрывать по BID
SELL нужно открывать по BID а закрывать по ASK

ошибка130,145
Неправильные стопы
1. Стопы= Стоплосс, тейкпрофит или уровень открытия отложенника или лимитника.
2. Стопы расположены слишком близко к цене
3. Ваш счет открыт в группе ECN (ЕЦН) или NDD (НДД)
4. Ваш брокер использует Рыночное исполнение позиций

1. Проверьте значения Ваших стоплосс, тейпрофитов
2. Уточните минимальный стоп уровень по Вашему инструменту у брокера, при выставлении стопов — соблюдайте уровень минимальной дистанции
3. В хорошо написанном советнике должны быть функции работы на счетах ECN и NDD

ошибка131
Неправильный объем
1. Неправильный лот при открытии сделки
2. Лот, который вы пытаетесь открыть, меньше минимального
3. Лот, который вы пытаетесь открыть больше максимального
4. Разрядность лота отличается от разрядности брокера.
1. Проверьте правильность открытия лота, изучите спецификацию контракта и прочтите условия торговли в Вашем ДЦ
2.3. Проверьте, Минимальный и Максимальный лот в Вашем ДЦ и на Вашем счете. На некоторых типах счетов, минимальный лот может быть 0.01 а также 0.1 и даже 3. Максимальный лот может быть 5 лотов и 999 лотов и другие.
4. Уточните разрядность лотов на Вашем сервере. Если например разрядность лотов=1, то можно открыть лот 0.1 или 0.5 или 1.2 и так далее, с 1 знаком после запятой, если разрядность лота 2 знака, то исходя из минимального лота, лот может быть 0.01, 0.06, 0.17, 1.48. Также в некоторых ДЦ существует порядок степени лотов, например можно открыть 0.5 и 1 и 1.5 и так далее, а например 0.6 открыть нельзя. Уточните у своего брокера порядок установки лотов.

ошибка132
Рынок закрыт
1. Рынок закрыт в Выходные дни
1.Пробуйтесвязаться с рынком после выходных

ошибка133
Торговля запрещена
1. В данный момент торговля запрещена
2. По данной валютной паре запрещено торговать
1. Попробуйте торговать после выходных

ошибка134
Недостаточно денег для совершения операции
1. Лот, который Вы пытаетесь открыть, слишком большой, на него не хватает маржи
1. Проверьте уровень свободных средств, ирассчитайтесредства, которые Вам нужны, для открытия лота
2. Следите за уровнем Ваших свободных средств

ошибка135..138
Цена изменилась
1. Реквот
2. Слишком быстрый рынок
3. Брокер или ДЦ не дает Вам поставить позицию по заявленной цене
1. Не торгуйте в такие моменты
2. Увеличьте уровеньпроскальзывания, но помните что это влечет за собой открытие позиций не по заявленной Вами цене.
3. Сделайте в советнике функцию обработки ошибок и количество попыток открытия позиций

ошибка 147
Использование даты истечения ордера запрещено брокером
1. Ваш советник или Вы пытаетесь установить срок истечения отложенного ордера
1. В советнике, в функции OrderSend в параметре срок истечения поставьте=0
2. Не устанавливайте срок истечения ордера.

ошибка 148
Количество открытых и отложенных ордеров достигло предела, установленного брокером.
1. Максимальноеколичествооткрытых ордеров и позиций достигнут предела, установленного брокером.
1. Удалите или закройте часть позиций
2. Остановите процесс открытия новых позиций
3. Соблюдайте иерархию сделок, лучше открыть 1 позицию лото 0.1 одновременно, чем 10 позиций лотом 0.01 с потерей спреда.

ошибка 4012, 4013
zero devide

Остаток от деления на ноль

  • Вы пытаетесь поделить число на 0.
  • Проверьте Весь код советника на наличие такой грубой ошибки, или же проверьте все значения из MarketInfo функций на момент возвращения 0, иногда при MarketInfo(Symbol(),MODE_SPREAD) возвращается не спред а 0 (у брокеров с плавающим спредом)

ошибка 4017
Вызовы DLL не разрешены

  • В Вашем терминале запрещен вызов DLL
  • Разрешите вызов DLL через Меню – сервис – Настройки – Советник – Разрешить вызов DLL, но помните, разрешайте данную опцию только для советников, в которых Вы уверены, и уверены что в ДЛЛ не сидит какой-нибудь троян. Проверьте ДЛЛ на наличие троянов с помощью антивируса.

Ошибка 4018 , 4019
Невозможно загрузить библиотеку

  • Библиотека повреждена
  • Вызов библиотеки осуществляется с ошибкой
  • Проверьте библиотеку DLL
  • Обратитесь к разработчику данной библиотеки

Ошибка 4020
Вызовы внешних библиотечных функций не разрешены

  • В Вашем терминале запрещен вызов функций из внешних экспертов
  • Разрешите вызов функций через Меню – сервис – Настройки – Советник – Разрешить вызов внешних экспертов,

Ошибка 4103
Невозможно открыть файл

  • Данный файл не существует
  • Данный файл заблокирован
  • Проверьте наличие указанного файла в папке experts – files

Tester – files

  • Проверьте не заблокирован ли файл системой антивируса. Разрешен ли режим записичтения файла

Ошибка 4106
Неизвестный символ

  • Символа нет в обзоре рынка
  • В обзоре рынка – правой кнопкой мыши – показать все символы
  • Проверить названия символа в советнике и наличие его в обзоре рынка
  • Некоторые советники используют четкие названия без суфиксов, а брокеры намеренно ставят суфиксы, например EURUSDx где х – суфикс.

Ошибка 4108
Неверный номер тикета

  • Тикет ордера, который выбирает эксперт – не существует
  • Эксперт пытается выбрать тикет, но данный ордер был закрыт другим советником или руками.
  • При попытке осуществления приказа над ордером, тикет был исполнен и закрыт брокером.
  • Если данная ошибка появляется очень часто, 100-1000 раз за минуту, проверьте функции Вашего советника
  • Отключите другие советники, или настройте их так, чтобы они не конфликтовали, не закрывайте ордер руками, когда эксперт выполняет операцию

Ошибка 4109
Торговля не разрешена

  • Советнику запрещено торговать, на графике грустный смайл или крестик
  • Включите галочку «Разрешить советнику торговать» в вкладе при установке советника, либо в меню- сервис – настройки – советники.

Ошибка 4110, 4111
Длинные позиции не разрешены
Короткие позиции не разрешены

  • В настройках советника, в вкладке Общие не разрешен тип позиций
  • В Вкладке Общие, при установке советника есть выбор позиций:

Long Short – Разрешены BUY SELL
Only Long– Разрешен BUY
Only Short – Разрешен SELL

НЕ ЗАБЫВАЕМ ГОВОРИТЬ СПАСИБО И НАЖИМАТЬ КНОПКУ

При работе торгового терминала MetaTrader 4 возникают различные ошибки при обмене информацией с торговым сервером, который в ответ на ошибочные запросы отсылает программе MetaTrader 4 не описание ошибки, а цифровой код ошибки — специальную комбинацию цифр, которая отображается во вкладках Эксперты и Журнал (примеры этих вкладок и описание типичной ситуации при возникновении ошибок можно найти в статье «Обзор торгового терминала MetaTrader 4»). Не все торговые терминалы MetaTrader 4 различных дилинговых центров дают расшифровку цифрового кода, а если она и есть, то — на английском языке. Чтобы понять, почему программа МетаТрейдер 4 работает неправильно, полезно знать расшифровку цифрового кода — какой комбинации цифр соответствует определенное описание ошибки. В некоторых случаях эта информация может сильно облегчить «жизнь» трейдеру и помочь быстрее справиться с возникшей проблемой.

Итак, предлагаем Вашему вниманию расшифровку кодов ошибок, которые можно встретить при работе с торговым терминалом MetaTrader 4:

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

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

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

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

  • Ошибка сокета 10049 citrix
  • Ошибка создания обращения 403 ок утм
  • Ошибка создания электронной подписи на вайлдберриз
  • Ошибка создания обращения 403 ok егаис
  • Ошибка создания экземпляра процессора таможня