0
ERR_NO_ERROR
Нет ошибки
1
ERR_NO_RESULT
Нет ошибки, но результат неизвестен
2
ERR_COMMON_ERROR
Общая ошибка
3
ERR_INVALID_TRADE_PARAMETERS
Неправильные параметры
4
ERR_SERVER_BUSY
Торговый сервер занят
5
ERR_OLD_VERSION
Старая версия клиентского терминала
6
ERR_NO_CONNECTION
Нет связи с торговым сервером
7
ERR_NOT_ENOUGH_RIGHTS
Недостаточно прав
8
ERR_TOO_FREQUENT_REQUESTS
Слишком частые запросы
9
ERR_MALFUNCTIONAL_TRADE
Недопустимая операция, нарушающая функционирование сервера
64
ERR_ACCOUNT_DISABLED
Счет заблокирован
65
ERR_INVALID_ACCOUNT
Неправильный номер счета
128
ERR_TRADE_TIMEOUT
Истек срок ожидания совершения сделки
129
ERR_INVALID_PRICE
Неправильная цена
130
ERR_INVALID_STOPS
Неправильные стопы
131
ERR_INVALID_TRADE_VOLUME
Неправильный объем
132
ERR_MARKET_CLOSED
Рынок закрыт
133
ERR_TRADE_DISABLED
Торговля запрещена
134
ERR_NOT_ENOUGH_MONEY
Недостаточно денег для совершения операции
135
ERR_PRICE_CHANGED
Цена изменилась
136
ERR_OFF_QUOTES
Нет цен
137
ERR_BROKER_BUSY
Брокер занят
138
ERR_REQUOTE
Новые цены
139
ERR_ORDER_LOCKED
Ордер заблокирован и уже обрабатывается
140
ERR_LONG_POSITIONS_ONLY_ALLOWED
Разрешена только покупка
141
ERR_TOO_MANY_REQUESTS
Слишком много запросов
145
ERR_TRADE_MODIFY_DENIED
Модификация запрещена, так как ордер слишком близок к рынку
146
ERR_TRADE_CONTEXT_BUSY
Подсистема торговли занята
147
ERR_TRADE_EXPIRATION_DENIED
Использование даты истечения ордера запрещено брокером
148
ERR_TRADE_TOO_MANY_ORDERS
Количество открытых и отложенных ордеров достигло предела, установленного брокером
149
ERR_TRADE_HEDGE_PROHIBITED
Попытка открыть противоположный ордер в случае, если хеджирование запрещено
150
ERR_TRADE_PROHIBITED_BY_FIFO
Попытка закрыть позицию по инструменту в противоречии с правилом FIFO
4000
ERR_NO_MQLERROR
Нет ошибки
4001
ERR_WRONG_FUNCTION_POINTER
Неправильный указатель функции
4002
ERR_ARRAY_INDEX_OUT_OF_RANGE
Индекс массива — вне диапазона
4003
ERR_NO_MEMORY_FOR_CALL_STACK
Нет памяти для стека функций
4004
ERR_RECURSIVE_STACK_OVERFLOW
Переполнение стека после рекурсивного вызова
4005
ERR_NOT_ENOUGH_STACK_FOR_PARAM
На стеке нет памяти для передачи параметров
4006
ERR_NO_MEMORY_FOR_PARAM_STRING
Нет памяти для строкового параметра
4007
ERR_NO_MEMORY_FOR_TEMP_STRING
Нет памяти для временной строки
4008
ERR_NOT_INITIALIZED_STRING
Неинициализированная строка
4009
ERR_NOT_INITIALIZED_ARRAYSTRING
Неинициализированная строка в массиве
4010
ERR_NO_MEMORY_FOR_ARRAYSTRING
Нет памяти для строкового массива
4011
ERR_TOO_LONG_STRING
Слишком длинная строка
4012
ERR_REMAINDER_FROM_ZERO_DIVIDE
Остаток от деления на ноль
4013
ERR_ZERO_DIVIDE
Деление на ноль
4014
ERR_UNKNOWN_COMMAND
Неизвестная команда
4015
ERR_WRONG_JUMP
Неправильный переход
4016
ERR_NOT_INITIALIZED_ARRAY
Неинициализированный массив
4017
ERR_DLL_CALLS_NOT_ALLOWED
Вызовы DLL не разрешены
4018
ERR_CANNOT_LOAD_LIBRARY
Невозможно загрузить библиотеку
4019
ERR_CANNOT_CALL_FUNCTION
Невозможно вызвать функцию
4020
ERR_EXTERNAL_CALLS_NOT_ALLOWED
Вызовы внешних библиотечных функций не разрешены
4021
ERR_NO_MEMORY_FOR_RETURNED_STR
Недостаточно памяти для строки, возвращаемой из функции
4022
ERR_SYSTEM_BUSY
Система занята
4023
ERR_DLLFUNC_CRITICALERROR
Критическая ошибка вызова DLL-функции
4024
ERR_INTERNAL_ERROR
Внутренняя ошибка
4025
ERR_OUT_OF_MEMORY
Нет памяти
4026
ERR_INVALID_POINTER
Неверный указатель
4027
ERR_FORMAT_TOO_MANY_FORMATTERS
Слишком много параметров форматирования строки
4028
ERR_FORMAT_TOO_MANY_PARAMETERS
Число параметров превышает число параметров форматирования строки
4029
ERR_ARRAY_INVALID
Неверный массив
4030
ERR_CHART_NOREPLY
График не отвечает
4050
ERR_INVALID_FUNCTION_PARAMSCNT
Неправильное количество параметров функции
4051
ERR_INVALID_FUNCTION_PARAMVALUE
Недопустимое значение параметра функции
4052
ERR_STRING_FUNCTION_INTERNAL
Внутренняя ошибка строковой функции
4053
ERR_SOME_ARRAY_ERROR
Ошибка массива
4054
ERR_INCORRECT_SERIESARRAY_USING
Неправильное использование массива-таймсерии
4055
ERR_CUSTOM_INDICATOR_ERROR
Ошибка пользовательского индикатора
4056
ERR_INCOMPATIBLE_ARRAYS
Массивы несовместимы
4057
ERR_GLOBAL_VARIABLES_PROCESSING
Ошибка обработки глобальных переменных
4058
ERR_GLOBAL_VARIABLE_NOT_FOUND
Глобальная переменная не обнаружена
4059
ERR_FUNC_NOT_ALLOWED_IN_TESTING
Функция не разрешена в тестовом режиме
4060
ERR_FUNCTION_NOT_CONFIRMED
Функция не разрешена
4061
ERR_SEND_MAIL_ERROR
Ошибка отправки почты
4062
ERR_STRING_PARAMETER_EXPECTED
Ожидается параметр типа string
4063
ERR_INTEGER_PARAMETER_EXPECTED
Ожидается параметр типа integer
4064
ERR_DOUBLE_PARAMETER_EXPECTED
Ожидается параметр типа double
4065
ERR_ARRAY_AS_PARAMETER_EXPECTED
В качестве параметра ожидается массив
4066
ERR_HISTORY_WILL_UPDATED
Запрошенные исторические данные в состоянии обновления
4067
ERR_TRADE_ERROR
Ошибка при выполнении торговой операции
4068
ERR_RESOURCE_NOT_FOUND
Ресурс не найден
4069
ERR_RESOURCE_NOT_SUPPORTED
Ресурс не поддерживается
4070
ERR_RESOURCE_DUPLICATED
Дубликат ресурса
4071
ERR_INDICATOR_CANNOT_INIT
Ошибка инициализации пользовательского индикатора
4072
ERR_INDICATOR_CANNOT_LOAD
Ошибка загрузки пользовательского индикатора
4073
ERR_NO_HISTORY_DATA
Нет исторических данных
4074
ERR_NO_MEMORY_FOR_HISTORY
Не хватает памяти для исторических данных
4075
ERR_NO_MEMORY_FOR_INDICATOR
Не хватает памяти для расчёта индикатора
4099
ERR_END_OF_FILE
Конец файла
4100
ERR_SOME_FILE_ERROR
Ошибка при работе с файлом
4101
ERR_WRONG_FILE_NAME
Неправильное имя файла
4102
ERR_TOO_MANY_OPENED_FILES
Слишком много открытых файлов
4103
ERR_CANNOT_OPEN_FILE
Невозможно открыть файл
4104
ERR_INCOMPATIBLE_FILEACCESS
Несовместимый режим доступа к файлу
4105
ERR_NO_ORDER_SELECTED
Ни один ордер не выбран
4106
ERR_UNKNOWN_SYMBOL
Неизвестный символ
4107
ERR_INVALID_PRICE_PARAM
Неправильный параметр цены для торговой функции
4108
ERR_INVALID_TICKET
Неверный номер тикета
4109
ERR_TRADE_NOT_ALLOWED
Торговля не разрешена. Необходимо включить опцию «Разрешить советнику торговать» в свойствах эксперта
4110
ERR_LONGS_NOT_ALLOWED
Ордера на покупку не разрешены. Необходимо проверить свойства эксперта
4111
ERR_SHORTS_NOT_ALLOWED
Ордера на продажу не разрешены. Необходимо проверить свойства эксперта
4112
ERR_TRADE_EXPERT_DISABLED_BY_SERVER
Автоматическая торговля с помощью экспертов/скриптов запрещена на стороне сервера
4200
ERR_OBJECT_ALREADY_EXISTS
Объект уже существует
4201
ERR_UNKNOWN_OBJECT_PROPERTY
Запрошено неизвестное свойство объекта
4202
ERR_OBJECT_DOES_NOT_EXIST
Объект не существует
4203
ERR_UNKNOWN_OBJECT_TYPE
Неизвестный тип объекта
4204
ERR_NO_OBJECT_NAME
Нет имени объекта
4205
ERR_OBJECT_COORDINATES_ERROR
Ошибка координат объекта
4206
ERR_NO_SPECIFIED_SUBWINDOW
Не найдено указанное подокно
4207
ERR_SOME_OBJECT_ERROR
Ошибка при работе с объектом
4210
ERR_CHART_PROP_INVALID
Неизвестное свойство графика
4211
ERR_CHART_NOT_FOUND
График не найден
4212
ERR_CHARTWINDOW_NOT_FOUND
Не найдено подокно графика
4213
ERR_CHARTINDICATOR_NOT_FOUND
Индикатор не найден
4220
ERR_SYMBOL_SELECT
Ошибка выбора инструмента
4250
ERR_NOTIFICATION_ERROR
Ошибка отправки push-уведомления
4251
ERR_NOTIFICATION_PARAMETER
Ошибка параметров push-уведомления
4252
ERR_NOTIFICATION_SETTINGS
Уведомления запрещены
4253
ERR_NOTIFICATION_TOO_FREQUENT
Слишком частые запросы отсылки push-уведомлений
4260
ERR_FTP_NOSERVER
Не указан FTP сервер
4261
ERR_FTP_NOLOGIN
Не указан FTP логин
4262
ERR_FTP_CONNECT_FAILED
Ошибка при подключении к FTP серверу
4263
ERR_FTP_CLOSED
Подключение к FTP серверу закрыто
4264
ERR_FTP_CHANGEDIR
На FTP сервере не найдена директория для выгрузки файла
4265
ERR_FTP_FILE_ERROR
Не найден файл в директории MQL4Files для отправки на FTP сервер
4266
ERR_FTP_ERROR
Ошибка при передаче файла на FTP сервер
5001
ERR_FILE_TOO_MANY_OPENED
Слишком много открытых файлов
5002
ERR_FILE_WRONG_FILENAME
Неверное имя файла
5003
ERR_FILE_TOO_LONG_FILENAME
Слишком длинное имя файла
5004
ERR_FILE_CANNOT_OPEN
Ошибка открытия файла
5005
ERR_FILE_BUFFER_ALLOCATION_ERROR
Ошибка размещения буфера текстового файла
5006
ERR_FILE_CANNOT_DELETE
Ошибка удаления файла
5007
ERR_FILE_INVALID_HANDLE
Неверный хендл файла (файл закрыт или не был открыт)
5008
ERR_FILE_WRONG_HANDLE
Неверный хендл файла (индекс хендла отсутствует в таблице)
5009
ERR_FILE_NOT_TOWRITE
Файл должен быть открыт с флагом FILE_WRITE
5010
ERR_FILE_NOT_TOREAD
Файл должен быть открыт с флагом FILE_READ
5011
ERR_FILE_NOT_BIN
Файл должен быть открыт с флагом FILE_BIN
5012
ERR_FILE_NOT_TXT
Файл должен быть открыт с флагом FILE_TXT
5013
ERR_FILE_NOT_TXTORCSV
Файл должен быть открыт с флагом FILE_TXT или FILE_CSV
5014
ERR_FILE_NOT_CSV
Файл должен быть открыт с флагом FILE_CSV
5015
ERR_FILE_READ_ERROR
Ошибка чтения файла
5016
ERR_FILE_WRITE_ERROR
Ошибка записи файла
5017
ERR_FILE_BIN_STRINGSIZE
Размер строки должен быть указан для двоичных файлов
5018
ERR_FILE_INCOMPATIBLE
Неверный тип файла (для строковых массивов-TXT, для всех других-BIN)
5019
ERR_FILE_IS_DIRECTORY
Файл является директорией
5020
ERR_FILE_NOT_EXIST
Файл не существует
5021
ERR_FILE_CANNOT_REWRITE
Файл не может быть перезаписан
5022
ERR_FILE_WRONG_DIRECTORYNAME
Неверное имя директории
5023
ERR_FILE_DIRECTORY_NOT_EXIST
Директория не существует
5024
ERR_FILE_NOT_DIRECTORY
Указанный файл не является директорией
5025
ERR_FILE_CANNOT_DELETE_DIRECTORY
Ошибка удаления директории
5026
ERR_FILE_CANNOT_CLEAN_DIRECTORY
Ошибка очистки директории
5027
ERR_FILE_ARRAYRESIZE_ERROR
Ошибка изменения размера массива
5028
ERR_FILE_STRINGRESIZE_ERROR
Ошибка изменения размера строки
5029
ERR_FILE_STRUCT_WITH_OBJECTS
Структура содержит строки или динамические массивы
5200
ERR_WEBREQUEST_INVALID_ADDRESS
URL не прошел проверку
5201
ERR_WEBREQUEST_CONNECT_FAILED
Не удалось подключиться к указанному URL
5202
ERR_WEBREQUEST_TIMEOUT
Превышен таймаут получения данных
5203
ERR_WEBREQUEST_REQUEST_FAILED
Ошибка в результате выполнения HTTP запроса
Пользовательские ошибки
65536
ERR_USER_ERROR_FIRST
С этого кода начинаются ошибки, задаваемые пользователем
Всем привет.
Столкнулся с проблемами на новом билде, проблема с CSV файлами а именно их чтение.!
Проблема заключается в том, что советник не может прочитать файл с расширением CSV а тот же файл но в расширении TXT работает отлично
В коде есть функция чтения с CSV файла
extern string FileName=»4.csv»;
double Lottr[1]; int CloseMin[1]; string Symbolf[1]; string date[1]; string time[1]; int startReadOpen(string File_Name2="") { string stringToGraph="nnnn"; //--------------------------------------------------------------- 2 -- int Handle; string File_Name=File_Name2; //--------------------------------------------------------------- 3 -- Handle=FileOpen(File_Name,FILE_CSV|FILE_READ|FILE_SHARE_READ|FILE_WRITE|FILE_SHARE_WRITE,";"); if(Handle==INVALID_HANDLE) { Print(" Неизвестная ошибка",File_Name,GetLastError()," "); if(GetLastError()==4103) Print(" Ошибка откртия файла ",File_Name); else Print(" Неизвестная ошибка",File_Name,GetLastError()," "); } //--------------------------------------------------------------- 4 -- int time2=1; FileReadString(Handle); FileReadString(Handle); FileReadString(Handle); FileReadString(Handle); FileReadString(Handle); //--------------------------------------------------------- 5 -- for(int i=0;i<100;i++) { date[i]=FileReadString(Handle); time[i]=FileReadString(Handle); Symbolf[i]=FileReadString(Handle); CloseMin[i]=StrToInteger(FileReadString(Handle)); Lottr[i]=StrToDouble(FileReadString(Handle)); time2++; ArrayResize(date,time2); ArrayResize(time,time2); ArrayResize(Symbolf,time2); ArrayResize(CloseMin,time2); ArrayResize(Lottr,time2); if(FileIsEnding(Handle)) break; } //--------------------------------------------------------------- 8 -- FileClose(Handle); return(time2); }
так не читает,
а все то же самое но
extern string FileName=»4.txt»;
читает без проблем.
Запустить можно в режиме визуализации на тестере, кто нибудь сталкивался?
I’m coding in MQL4 to read a file. When I just define the filename and put the file in specified place it shown error 5004. But when I define the path it shown 5002. I’ve been to MetaTrader forum and found this (https://www.mql5.com/en/forum/7049) thread. But still not solve. Did I miss something here?
string filename = TerminalInfoString(TERMINAL_DATA_PATH)+"\MQL4\Files\output.txt";
Print(filename);
ResetLastError();
int file_handle=FileOpen("out.txt", FILE_READ|FILE_TXT);
//int file_handle=FileOpen(filename, FILE_TXT|FILE_READ);
//Print(file_handle);
string up, down, sideway;
up = down = sideway = 0;
if (file_handle!=INVALID_HANDLE){
Print("read");
up=FileReadString(file_handle);
down = FileReadString(file_handle);
sideway = FileReadString(file_handle);
} else{
Print("file open error: ", GetLastError());
} FileClose(file_handle);
asked Sep 25, 2018 at 7:13
int file_handle=FileOpen("out.txt", FILE_READ|FILE_TXT); means that you have your file «out.txt» in your folder, e.g. C:UsersUser1AppDataRoamingMetaQuotesTerminal999999DEA9630EA94D0715D755974F1DMQL4Filesout.txt. If you try in tester, the path is
C:UsersUser1AppDataRoamingMetaQuotesTerminal999999DEA9630EA94D0715D755974F1Dtesterfilesout.txt Make sure you have the file there to solve the 5002 error.
It might happen that you successfully opened the file once but failed to close when wrote the code. and you cannot open it now. One way is to close MT4 (and it will close all open files), another way is to open files in SHARE mode.
int file_handle=FileOpen("out.txt", FILE_READ|FILE_SHARE_READ|FILE_TXT);
answered Sep 25, 2018 at 8:53
![]()
Daniel KniazDaniel Kniaz
4,5232 gold badges13 silver badges20 bronze badges
Разбор полетов! Коды ошибок, их значения и способы устранения.
Разбор полетов! Коды ошибок, их значения и способы устранения.
Ввиду частых обращений ко мне, как специалисту в области программирования советников на мт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
НЕ ЗАБЫВАЕМ ГОВОРИТЬ СПАСИБО И НАЖИМАТЬ КНОПКУ
Я кодирую MQL4 для чтения файла. Когда я просто определяю имя файла и помещаю файл в указанное место, отображается ошибка 5004. Но когда я определяю путь, он показывает 5002. Я был на форуме MetaTrader и нашел это (https://www.mql5.com/en/forum/7049). Но все равно не решить. Я что-то здесь пропустил?
string filename = TerminalInfoString(TERMINAL_DATA_PATH)+"\MQL4\Files\output.txt";
Print(filename);
ResetLastError();
int file_handle=FileOpen("out.txt", FILE_READ|FILE_TXT);
//int file_handle=FileOpen(filename, FILE_TXT|FILE_READ);
//Print(file_handle);
string up, down, sideway;
up = down = sideway = 0;
if (file_handle!=INVALID_HANDLE){
Print("read");
up=FileReadString(file_handle);
down = FileReadString(file_handle);
sideway = FileReadString(file_handle);
} else{
Print("file open error: ", GetLastError());
} FileClose(file_handle);
1 ответ
Лучший ответ
int file_handle=FileOpen("out.txt", FILE_READ|FILE_TXT); означает, что у вас в папке есть файл «out.txt», например C: Users User1 AppData Roaming MetaQuotes Terminal 999999DEA9630EA94D0715D755974F1D MQL4 Files out.txt. Если вы попробуете в тестере, путь будет C: Users User1 AppData Roaming MetaQuotes Terminal 999999DEA9630EA94D0715D755974F1D tester files out.txt Убедитесь, что у вас есть файл для устранения ошибки 5002. Может случиться так, что вы успешно открыли файл один раз, но не смогли закрыть при написании кода. и вы не можете открыть его сейчас. Один из способов — закрыть MT4 (и он закроет все открытые файлы), другой — открыть файлы в режиме SHARE. int file_handle=FileOpen("out.txt", FILE_READ|FILE_SHARE_READ|FILE_TXT);
3
Daniel Kniaz
25 Сен 2018 в 11:53
GetLastError() – функция, возвращающая код последней ошибки, которая хранится в предопределенной переменной _LastError. Значение этой переменной можно сбросить в ноль функцией ResetLastError().
|
0 |
ERR_NO_ERROR |
Нет ошибки |
|
1 |
ERR_NO_RESULT |
Нет ошибки, но результат неизвестен |
|
2 |
ERR_COMMON_ERROR |
Общая ошибка |
|
3 |
ERR_INVALID_TRADE_PARAMETERS |
Неправильные параметры |
|
4 |
ERR_SERVER_BUSY |
Торговый сервер занят |
|
5 |
ERR_OLD_VERSION |
Старая версия клиентского терминала |
|
6 |
ERR_NO_CONNECTION |
Нет связи с торговым сервером |
|
7 |
ERR_NOT_ENOUGH_RIGHTS |
Недостаточно прав |
|
8 |
ERR_TOO_FREQUENT_REQUESTS |
Слишком частые запросы |
|
9 |
ERR_MALFUNCTIONAL_TRADE |
Недопустимая операция, нарушающая функционирование сервера |
|
64 |
ERR_ACCOUNT_DISABLED |
Счет заблокирован |
|
65 |
ERR_INVALID_ACCOUNT |
Неправильный номер счета |
|
128 |
ERR_TRADE_TIMEOUT |
Истек срок ожидания совершения сделки |
|
129 |
ERR_INVALID_PRICE |
Неправильная цена |
|
130 |
ERR_INVALID_STOPS |
Неправильные стопы |
|
131 |
ERR_INVALID_TRADE_VOLUME |
Неправильный объем |
|
132 |
ERR_MARKET_CLOSED |
Рынок закрыт |
|
133 |
ERR_TRADE_DISABLED |
Торговля запрещена |
|
134 |
ERR_NOT_ENOUGH_MONEY |
Недостаточно денег для совершения операции |
|
135 |
ERR_PRICE_CHANGED |
Цена изменилась |
|
136 |
ERR_OFF_QUOTES |
Нет цен |
|
137 |
ERR_BROKER_BUSY |
Брокер занят |
|
138 |
ERR_REQUOTE |
Новые цены |
|
139 |
ERR_ORDER_LOCKED |
Ордер заблокирован и уже обрабатывается |
|
140 |
ERR_LONG_POSITIONS_ONLY_ALLOWED |
Разрешена только покупка |
|
141 |
ERR_TOO_MANY_REQUESTS |
Слишком много запросов |
|
145 |
ERR_TRADE_MODIFY_DENIED |
Модификация запрещена, так как ордер слишком близок к рынку |
|
146 |
ERR_TRADE_CONTEXT_BUSY |
Подсистема торговли занята |
|
147 |
ERR_TRADE_EXPIRATION_DENIED |
Использование даты истечения ордера запрещено брокером |
|
148 |
ERR_TRADE_TOO_MANY_ORDERS |
Количество открытых и отложенных ордеров достигло предела, установленного брокером |
|
149 |
ERR_TRADE_HEDGE_PROHIBITED |
Попытка открыть противоположный ордер в случае, если хеджирование запрещено |
|
150 |
ERR_TRADE_PROHIBITED_BY_FIFO |
Попытка закрыть позицию по инструменту в противоречии с правилом FIFO |
|
4000 |
ERR_NO_MQLERROR |
Нет ошибки |
|
4001 |
ERR_WRONG_FUNCTION_POINTER |
Неправильный указатель функции |
|
4002 |
ERR_ARRAY_INDEX_OUT_OF_RANGE |
Индекс массива — вне диапазона |
|
4003 |
ERR_NO_MEMORY_FOR_CALL_STACK |
Нет памяти для стека функций |
|
4004 |
ERR_RECURSIVE_STACK_OVERFLOW |
Переполнение стека после рекурсивного вызова |
|
4005 |
ERR_NOT_ENOUGH_STACK_FOR_PARAM |
На стеке нет памяти для передачи параметров |
|
4006 |
ERR_NO_MEMORY_FOR_PARAM_STRING |
Нет памяти для строкового параметра |
|
4007 |
ERR_NO_MEMORY_FOR_TEMP_STRING |
Нет памяти для временной строки |
|
4008 |
ERR_NOT_INITIALIZED_STRING |
Неинициализированная строка |
|
4009 |
ERR_NOT_INITIALIZED_ARRAYSTRING |
Неинициализированная строка в массиве |
|
4010 |
ERR_NO_MEMORY_FOR_ARRAYSTRING |
Нет памяти для строкового массива |
|
4011 |
ERR_TOO_LONG_STRING |
Слишком длинная строка |
|
4012 |
ERR_REMAINDER_FROM_ZERO_DIVIDE |
Остаток от деления на ноль |
|
4013 |
ERR_ZERO_DIVIDE |
Деление на ноль |
|
4014 |
ERR_UNKNOWN_COMMAND |
Неизвестная команда |
|
4015 |
ERR_WRONG_JUMP |
Неправильный переход |
|
4016 |
ERR_NOT_INITIALIZED_ARRAY |
Неинициализированный массив |
|
4017 |
ERR_DLL_CALLS_NOT_ALLOWED |
Вызовы DLL не разрешены |
|
4018 |
ERR_CANNOT_LOAD_LIBRARY |
Невозможно загрузить библиотеку |
|
4019 |
ERR_CANNOT_CALL_FUNCTION |
Невозможно вызвать функцию |
|
4020 |
ERR_EXTERNAL_CALLS_NOT_ALLOWED |
Вызовы внешних библиотечных функций не разрешены |
|
4021 |
ERR_NO_MEMORY_FOR_RETURNED_STR |
Недостаточно памяти для строки, возвращаемой из функции |
|
4022 |
ERR_SYSTEM_BUSY |
Система занята |
|
4023 |
ERR_DLLFUNC_CRITICALERROR |
Критическая ошибка вызова DLL-функции |
|
4024 |
ERR_INTERNAL_ERROR |
Внутренняя ошибка |
|
4025 |
ERR_OUT_OF_MEMORY |
Нет памяти |
|
4026 |
ERR_INVALID_POINTER |
Неверный указатель |
|
4027 |
ERR_FORMAT_TOO_MANY_FORMATTERS |
Слишком много параметров форматирования строки |
|
4028 |
ERR_FORMAT_TOO_MANY_PARAMETERS |
Число параметров превышает число параметров форматирования строки |
|
4029 |
ERR_ARRAY_INVALID |
Неверный массив |
|
4030 |
ERR_CHART_NOREPLY |
График не отвечает |
|
4050 |
ERR_INVALID_FUNCTION_PARAMSCNT |
Неправильное количество параметров функции |
|
4051 |
ERR_INVALID_FUNCTION_PARAMVALUE |
Недопустимое значение параметра функции |
|
4052 |
ERR_STRING_FUNCTION_INTERNAL |
Внутренняя ошибка строковой функции |
|
4053 |
ERR_SOME_ARRAY_ERROR |
Ошибка массива |
|
4054 |
ERR_INCORRECT_SERIESARRAY_USING |
Неправильное использование массива-таймсерии |
|
4055 |
ERR_CUSTOM_INDICATOR_ERROR |
Ошибка пользовательского индикатора |
|
4056 |
ERR_INCOMPATIBLE_ARRAYS |
Массивы несовместимы |
|
4057 |
ERR_GLOBAL_VARIABLES_PROCESSING |
Ошибка обработки глобальных переменных |
|
4058 |
ERR_GLOBAL_VARIABLE_NOT_FOUND |
Глобальная переменная не обнаружена |
|
4059 |
ERR_FUNC_NOT_ALLOWED_IN_TESTING |
Функция не разрешена в тестовом режиме |
|
4060 |
ERR_FUNCTION_NOT_CONFIRMED |
Функция не разрешена |
|
4061 |
ERR_SEND_MAIL_ERROR |
Ошибка отправки почты |
|
4062 |
ERR_STRING_PARAMETER_EXPECTED |
Ожидается параметр типа string |
|
4063 |
ERR_INTEGER_PARAMETER_EXPECTED |
Ожидается параметр типа integer |
|
4064 |
ERR_DOUBLE_PARAMETER_EXPECTED |
Ожидается параметр типа double |
|
4065 |
ERR_ARRAY_AS_PARAMETER_EXPECTED |
В качестве параметра ожидается массив |
|
4066 |
ERR_HISTORY_WILL_UPDATED |
Запрошенные исторические данные в состоянии обновления |
|
4067 |
ERR_TRADE_ERROR |
Ошибка при выполнении торговой операции |
|
4068 |
ERR_RESOURCE_NOT_FOUND |
Ресурс не найден |
|
4069 |
ERR_RESOURCE_NOT_SUPPORTED |
Ресурс не поддерживается |
|
4070 |
ERR_RESOURCE_DUPLICATED |
Дубликат ресурса |
|
4071 |
ERR_INDICATOR_CANNOT_INIT |
Ошибка инициализации пользовательского индикатора |
|
4072 |
ERR_INDICATOR_CANNOT_LOAD |
Ошибка загрузки пользовательского индикатора |
|
4073 |
ERR_NO_HISTORY_DATA |
Нет исторических данных |
|
4074 |
ERR_NO_MEMORY_FOR_HISTORY |
Не хватает памяти для исторических данных |
|
4075 |
ERR_NO_MEMORY_FOR_INDICATOR |
Не хватает памяти для расчёта индикатора |
|
4099 |
ERR_END_OF_FILE |
Конец файла |
|
4100 |
ERR_SOME_FILE_ERROR |
Ошибка при работе с файлом |
|
4101 |
ERR_WRONG_FILE_NAME |
Неправильное имя файла |
|
4102 |
ERR_TOO_MANY_OPENED_FILES |
Слишком много открытых файлов |
|
4103 |
ERR_CANNOT_OPEN_FILE |
Невозможно открыть файл |
|
4104 |
ERR_INCOMPATIBLE_FILEACCESS |
Несовместимый режим доступа к файлу |
|
4105 |
ERR_NO_ORDER_SELECTED |
Ни один ордер не выбран |
|
4106 |
ERR_UNKNOWN_SYMBOL |
Неизвестный символ |
|
4107 |
ERR_INVALID_PRICE_PARAM |
Неправильный параметр цены для торговой функции |
|
4108 |
ERR_INVALID_TICKET |
Неверный номер тикета |
|
4109 |
ERR_TRADE_NOT_ALLOWED |
Торговля не разрешена. Необходимо включить опцию «Разрешить советнику торговать» в свойствах эксперта |
|
4110 |
ERR_LONGS_NOT_ALLOWED |
Ордера на покупку не разрешены. Необходимо проверить свойства эксперта |
|
4111 |
ERR_SHORTS_NOT_ALLOWED |
Ордера на продажу не разрешены. Необходимо проверить свойства эксперта |
|
4112 |
ERR_TRADE_EXPERT_DISABLED_BY_SERVER |
Автоматическая торговля с помощью экспертов/скриптов запрещена на стороне сервера |
|
4200 |
ERR_OBJECT_ALREADY_EXISTS |
Объект уже существует |
|
4201 |
ERR_UNKNOWN_OBJECT_PROPERTY |
Запрошено неизвестное свойство объекта |
|
4202 |
ERR_OBJECT_DOES_NOT_EXIST |
Объект не существует |
|
4203 |
ERR_UNKNOWN_OBJECT_TYPE |
Неизвестный тип объекта |
|
4204 |
ERR_NO_OBJECT_NAME |
Нет имени объекта |
|
4205 |
ERR_OBJECT_COORDINATES_ERROR |
Ошибка координат объекта |
|
4206 |
ERR_NO_SPECIFIED_SUBWINDOW |
Не найдено указанное подокно |
|
4207 |
ERR_SOME_OBJECT_ERROR |
Ошибка при работе с объектом |
|
4210 |
ERR_CHART_PROP_INVALID |
Неизвестное свойство графика |
|
4211 |
ERR_CHART_NOT_FOUND |
График не найден |
|
4212 |
ERR_CHARTWINDOW_NOT_FOUND |
Не найдено подокно графика |
|
4213 |
ERR_CHARTINDICATOR_NOT_FOUND |
Индикатор не найден |
|
4220 |
ERR_SYMBOL_SELECT |
Ошибка выбора инструмента |
|
4250 |
ERR_NOTIFICATION_ERROR |
Ошибка отправки push-уведомления |
|
4251 |
ERR_NOTIFICATION_PARAMETER |
Ошибка параметров push-уведомления |
|
4252 |
ERR_NOTIFICATION_SETTINGS |
Уведомления запрещены |
|
4253 |
ERR_NOTIFICATION_TOO_FREQUENT |
Слишком частые запросы отсылки push-уведомлений |
|
4260 |
ERR_FTP_NOSERVER |
Не указан FTP сервер |
|
4261 |
ERR_FTP_NOLOGIN |
Не указан FTP логин |
|
4262 |
ERR_FTP_CONNECT_FAILED |
Ошибка при подключении к FTP серверу |
|
4263 |
ERR_FTP_CLOSED |
Подключение к FTP серверу закрыто |
|
4264 |
ERR_FTP_CHANGEDIR |
На FTP сервере не найдена директория для выгрузки файла |
|
4265 |
ERR_FTP_FILE_ERROR |
Не найден файл в директории MQL4Files для отправки на FTP сервер |
|
4266 |
ERR_FTP_ERROR |
Ошибка при передаче файла на FTP сервер |
|
5001 |
ERR_FILE_TOO_MANY_OPENED |
Слишком много открытых файлов |
|
5002 |
ERR_FILE_WRONG_FILENAME |
Неверное имя файла |
|
5003 |
ERR_FILE_TOO_LONG_FILENAME |
Слишком длинное имя файла |
|
5004 |
ERR_FILE_CANNOT_OPEN |
Ошибка открытия файла |
|
5005 |
ERR_FILE_BUFFER_ALLOCATION_ERROR |
Ошибка размещения буфера текстового файла |
|
5006 |
ERR_FILE_CANNOT_DELETE |
Ошибка удаления файла |
|
5007 |
ERR_FILE_INVALID_HANDLE |
Неверный хендл файла (файл закрыт или не был открыт) |
|
5008 |
ERR_FILE_WRONG_HANDLE |
Неверный хендл файла (индекс хендла отсутствует в таблице) |
|
5009 |
ERR_FILE_NOT_TOWRITE |
Файл должен быть открыт с флагом FILE_WRITE |
|
5010 |
ERR_FILE_NOT_TOREAD |
Файл должен быть открыт с флагом FILE_READ |
|
5011 |
ERR_FILE_NOT_BIN |
Файл должен быть открыт с флагом FILE_BIN |
|
5012 |
ERR_FILE_NOT_TXT |
Файл должен быть открыт с флагом FILE_TXT |
|
5013 |
ERR_FILE_NOT_TXTORCSV |
Файл должен быть открыт с флагом FILE_TXT или FILE_CSV |
|
5014 |
ERR_FILE_NOT_CSV |
Файл должен быть открыт с флагом FILE_CSV |
|
5015 |
ERR_FILE_READ_ERROR |
Ошибка чтения файла |
|
5016 |
ERR_FILE_WRITE_ERROR |
Ошибка записи файла |
|
5017 |
ERR_FILE_BIN_STRINGSIZE |
Размер строки должен быть указан для двоичных файлов |
|
5018 |
ERR_FILE_INCOMPATIBLE |
Неверный тип файла (для строковых массивов-TXT, для всех других-BIN) |
|
5019 |
ERR_FILE_IS_DIRECTORY |
Файл является директорией |
|
5020 |
ERR_FILE_NOT_EXIST |
Файл не существует |
|
5021 |
ERR_FILE_CANNOT_REWRITE |
Файл не может быть перезаписан |
|
5022 |
ERR_FILE_WRONG_DIRECTORYNAME |
Неверное имя директории |
|
5023 |
ERR_FILE_DIRECTORY_NOT_EXIST |
Директория не существует |
|
5024 |
ERR_FILE_NOT_DIRECTORY |
Указанный файл не является директорией |
|
5025 |
ERR_FILE_CANNOT_DELETE_DIRECTORY |
Ошибка удаления директории |
|
5026 |
ERR_FILE_CANNOT_CLEAN_DIRECTORY |
Ошибка очистки директории |
|
5027 |
ERR_FILE_ARRAYRESIZE_ERROR |
Ошибка изменения размера массива |
|
5028 |
ERR_FILE_STRINGRESIZE_ERROR |
Ошибка изменения размера строки |
|
5029 |
ERR_FILE_STRUCT_WITH_OBJECTS |
Структура содержит строки или динамические массивы |
|
5200 |
ERR_WEBREQUEST_INVALID_ADDRESS |
URL не прошел проверку |
|
5201 |
ERR_WEBREQUEST_CONNECT_FAILED |
Не удалось подключиться к указанному URL |
|
5202 |
ERR_WEBREQUEST_TIMEOUT |
Превышен таймаут получения данных |
|
5203 |
ERR_WEBREQUEST_REQUEST_FAILED |
Ошибка в результате выполнения HTTP запроса |
|
Пользовательские ошибки |
||
|
65536 |
ERR_USER_ERROR_FIRST |
С этого кода начинаются ошибки, задаваемые пользователем |
Все приказы на совершение торговых операций отправляются в виде структуры торгового запроса MqlTradeRequest с помощью функции OrderSend(). Результат выполнения этой функции помещается в структуру MqlTradeResult, поле retcode которой содержит код возврата торгового сервера.
|
10004 |
TRADE_RETCODE_REQUOTE |
Реквота |
|
10006 |
TRADE_RETCODE_REJECT |
Запрос отклонен |
|
10007 |
TRADE_RETCODE_CANCEL |
Запрос отменен трейдером |
|
10008 |
TRADE_RETCODE_PLACED |
Ордер размещен |
|
10009 |
TRADE_RETCODE_DONE |
Заявка выполнена |
|
10010 |
TRADE_RETCODE_DONE_PARTIAL |
Заявка выполнена частично |
|
10011 |
TRADE_RETCODE_ERROR |
Ошибка обработки запроса |
|
10012 |
TRADE_RETCODE_TIMEOUT |
Запрос отменен по истечению времени |
|
10013 |
TRADE_RETCODE_INVALID |
Неправильный запрос |
|
10014 |
TRADE_RETCODE_INVALID_VOLUME |
Неправильный объем в запросе |
|
10015 |
TRADE_RETCODE_INVALID_PRICE |
Неправильная цена в запросе |
|
10016 |
TRADE_RETCODE_INVALID_STOPS |
Неправильные стопы в запросе |
|
10017 |
TRADE_RETCODE_TRADE_DISABLED |
Торговля запрещена |
|
10018 |
TRADE_RETCODE_MARKET_CLOSED |
Рынок закрыт |
|
10019 |
TRADE_RETCODE_NO_MONEY |
Нет достаточных денежных средств для выполнения запроса |
|
10020 |
TRADE_RETCODE_PRICE_CHANGED |
Цены изменились |
|
10021 |
TRADE_RETCODE_PRICE_OFF |
Отсутствуют котировки для обработки запроса |
|
10022 |
TRADE_RETCODE_INVALID_EXPIRATION |
Неверная дата истечения ордера в запросе |
|
10023 |
TRADE_RETCODE_ORDER_CHANGED |
Состояние ордера изменилось |
|
10024 |
TRADE_RETCODE_TOO_MANY_REQUESTS |
Слишком частые запросы |
|
10025 |
TRADE_RETCODE_NO_CHANGES |
В запросе нет изменений |
|
10026 |
TRADE_RETCODE_SERVER_DISABLES_AT |
Автотрейдинг запрещен сервером |
|
10027 |
TRADE_RETCODE_CLIENT_DISABLES_AT |
Автотрейдинг запрещен клиентским терминалом |
|
10028 |
TRADE_RETCODE_LOCKED |
Запрос заблокирован для обработки |
|
10029 |
TRADE_RETCODE_FROZEN |
Ордер или позиция заморожены |
|
10030 |
TRADE_RETCODE_INVALID_FILL |
Указан неподдерживаемый тип исполнения ордера по остатку |
|
10031 |
TRADE_RETCODE_CONNECTION |
Нет соединения с торговым сервером |
|
10032 |
TRADE_RETCODE_ONLY_REAL |
Операция разрешена только для реальных счетов |
|
10033 |
TRADE_RETCODE_LIMIT_ORDERS |
Достигнут лимит на количество отложенных ордеров |
|
10034 |
TRADE_RETCODE_LIMIT_VOLUME |
Достигнут лимит на объем ордеров и позиций для данного символа |
|
10035 |
TRADE_RETCODE_INVALID_ORDER |
Неверный или запрещённый тип ордера |
|
10036 |
TRADE_RETCODE_POSITION_CLOSED |
Позиция с указанным POSITION_IDENTIFIER уже закрыта |
|
10038 |
TRADE_RETCODE_INVALID_CLOSE_VOLUME |
Закрываемый объем превышает текущий объем позиции |
|
10039 |
TRADE_RETCODE_CLOSE_ORDER_EXIST |
Для указанной позиции уже есть ордер на закрытие. Может возникнуть при работе в системе хеджинга:
|
|
10040 |
TRADE_RETCODE_LIMIT_POSITIONS |
Количество открытых позиций, которое можно одновременно иметь на счете, может быть ограничено настройками сервера. При достижении лимита в ответ на выставление ордера сервер вернет ошибку TRADE_RETCODE_LIMIT_POSITIONS. Ограничение работает по-разному в зависимости от типа учета позиций на счете:
|
|
10041 |
TRADE_RETCODE_REJECT_CANCEL |
Запрос на активацию отложенного ордера отклонен, а сам ордер отменен |
|
10042 |
TRADE_RETCODE_LONG_ONLY |
Запрос отклонен, так как на символе установлено правило «Разрешены только длинные позиции» (POSITION_TYPE_BUY) |
|
10043 |
TRADE_RETCODE_SHORT_ONLY |
Запрос отклонен, так как на символе установлено правило «Разрешены только короткие позиции» (POSITION_TYPE_SELL) |
|
10044 |
TRADE_RETCODE_CLOSE_ONLY |
Запрос отклонен, так как на символе установлено правило «Разрешено только закрывать существующие позиции« |
Предупреждения компилятора носят информационный характер и не являются сообщениями об ошибках.
|
21 |
Неполная запись даты в строке datetime |
|
22 |
Ошибочные числа в строке datetime для даты, требования: год 1970<=X<=3000 месяц 0<X<=12 день 0<X<= 31/30/28(29)…. |
|
23 |
Ошибочные числа в строке datetime для времени, требования: час 0<=X<24 минута 0<=X<60 |
|
24 |
Некорректный цвет в формате RGB: одна из компонент RGB меньше 0 или больше 255 |
|
25 |
Неизвестный символ эскейп последовательности. Известные: n r t \ » ’ X x |
|
26 |
Слишком большой объем локальных переменных (>512кб) функции, уменьшите их количество |
|
29 |
Перечисление уже определено (дублирование) – члены будут добавлены к первому определению |
|
30 |
Переопределение макроса |
|
31 |
Переменная объявлена, но нигде не используется |
|
32 |
Конструктор должен иметь тип void |
|
33 |
Деструктор должен иметь тип void |
|
34 |
Константа не вмещается в диапазон целых (X>_UI64_MAX || X<_I64_MIN) и будет преобразована в тип double |
|
35 |
Слишком длинный HEX больше 16 значащих символов (обрезаются старшие полубайты) |
|
36 |
Нет ни одного полубайта в HEX строке «0x» |
|
37 |
Нет ни одной функции — нечего будет выполнять |
|
38 |
Используется неинициализированная переменная |
|
41 |
Функция не имеет тела, но и не вызывается |
|
43 |
Возможны потери данных при преобразовании типа. Пример: int x=(double)z; |
|
44 |
Потеря точности(данных) при преобразовании константы. Пример: int x=M_PI |
|
45 |
Несовпадение знаков операндов в операциях сравнения. Пример: (char)c1>(uchar)c2 |
|
46 |
Проблемы с импортом функций – требуется объявление #import либо импорт функций уже закрыт |
|
47 |
Описание слишком большое – лишние символы не будут включены в исполняемый файл |
|
48 |
Количество индикаторных буферов объявлено меньше, чем требуется |
|
49 |
Не указан цвет для отрисовки графической серии в индикаторе |
|
50 |
Нет ни одной графической серии для отображения индикатора |
|
51 |
Не обнаружена функция-обработчик ‘OnStart» в скрипте |
|
52 |
Функция-обработчик ‘OnStart» определена с неверными параметрами |
|
53 |
Функция ‘OnStart’ может быть определена только в скрипте |
|
54 |
Функция ‘OnInit’ определена с неверными параметрами |
|
55 |
Функция ‘OnInit’ не используется в скриптах |
|
56 |
Функция ‘OnDeinit’ определена с неверными параметрами |
|
57 |
Функция ‘OnDeinit’ не используется в скриптах |
|
58 |
Определены две функции ‘OnCalculate’. Будет использована OnCalculate() на одном ценовом массиве |
|
59 |
Обнаружено переполнение при вычислении сложной целочисленной константы |
|
60 |
Возможно, переменная неинициализирована. |
|
61 |
Данное объявление делает недоступным обращение к локальной переменной, объявленной на указанной строке |
|
62 |
Данное объявление делает недоступным обращение к глобальной переменной, объявленной на указанной строке |
|
63 |
Не может быть использовано для статических массивов |
|
64 |
Данное объявление делает недоступным обращение к предопределенной переменной |
|
65 |
Значение выражения всегда true/false |
|
66 |
Использование переменной или выражения типа bool в математических операциях является небезопасным |
|
67 |
Результат применения оператора унарного минуса к беззнаковому типу ulong неопределен |
|
68 |
Версия, указанная в свойстве #property version, недопустима для размещения в разделе Маркет, правильный формат #property version «XXX.YYY» |
|
69 |
Отсутствует выражение для выполнения по условию |
|
70 |
Неверный возвращаемый тип функции или некорректные параметры при объявлении функции-обработчика события |
|
71 |
Требуется явное приведение структур к одному типу |
|
72 |
Данное объявление делает недоступным прямое обращение к члену класса, объявленному на указанной строке. Доступ будет возможен только с помощью операции разрешения контекста :: |
|
73 |
Константа в двоичной записи слишком велика, старшие разряды будут отброшены |
|
74 |
Параметр в методе наследуемого класса отличается модификатором const, дочерняя функция перегрузила функцию родителя |
|
75 |
Отрицательное или слишком большое значения смещения в битовой операции сдвига, результат выполнения неопределён |
|
76 |
Функция должна вернуть значение |
|
77 |
Функция типа void не должна возвращать значение |
|
78 |
Не все варианты выполнения возвращают значение |
|
79 |
Выражения на глобальном уровне не разрешены |
|
80 |
Возможна ошибка в последовательности выполнения операций, используйте скобки для явного указания порядка |
|
81 |
Найдено два вида вызова OnCalCulate(). Вызываться будет вариант с использованием таймсерий OHLC |
|
82 |
Структура не содержит членов, размер будет приравнен 1 байту |
|
83 |
Нет обработки результата выполнения функции |
|
84 |
Индикатор, включаемый как ресурс, скомпилирован в режиме отладки. Это снижает его производительность. Для повышения скорости работы его нужно перекомпилировать |
|
85 |
Слишком большой код символа в строке, должен быть в диапазоне от 0 до 65535 |
|
86 |
Нераспознанный служебный символ в строке |
|
87 |
Не указано свойство индикатора, задающее вывод в главное окно или в отдельное подокно. Будет применено свойство #property indicator_chart_window |
MetaEdtior 5, редактор mql5-программ, выдает сообщения об ошибках программы, обнаруженных встроенным компилятором на стадии компиляции. Список этих ошибок приведен ниже в таблице. Для компиляции исходного кода в исполняемый нажмите F7. Программы с ошибками не могут быть скомпилированы, пока ошибки, указанные компилятором, не будут устранены.
|
100 |
Ошибка чтения файла |
|
101 |
Ошибка открытия *.EX5 файла для записи |
|
103 |
Недостаточно свободной памяти для завершения компиляции |
|
104 |
Нераспознанная компилятором пустая синтаксическая единица |
|
105 |
Некорректное имя файла в #include |
|
106 |
Ошибка доступа к файлу в #include (возможно файл не существует) |
|
108 |
Неподходящее имя для #define |
|
109 |
Неизвестная команда препроцессора (допустимы #include,#define,#property,#import) |
|
110 |
Неизвестный для компилятора символ |
|
111 |
Функция не реализована (описание есть, тела нет) |
|
112 |
Пропущена двойная кавычка («) |
|
113 |
Пропущена открывающая угловая скобка (<) или двойная кавычка («) |
|
114 |
Пропущена одинарная кавычка (‘) |
|
115 |
Пропущена закрывающая угловая скобка «>» |
|
116 |
Не указан тип в объявлении |
|
117 |
Нет оператора возврата return или имеется не во всех ветках выполнения |
|
118 |
Ожидалась открывающая скобка параметров вызова |
|
119 |
Ошибка записи EX5 |
|
120 |
Некорректный доступ к элементу массива |
|
121 |
Функция не имеет тип void и оператор return должен вернуть значение |
|
122 |
Некорректное объявление деструктора |
|
123 |
Отсутствует двоеточие «:» |
|
124 |
Переменная уже объявлена |
|
125 |
Переменная с таким идентификатором уже объявлена |
|
126 |
Имя переменной слишком длинное (>250 символов) |
|
127 |
Структура с таким идентификатором уже определена |
|
128 |
Структура не определена |
|
129 |
Член структуры с таким именем уже определен |
|
130 |
Нет такого члена структуры |
|
131 |
Нарушена парность квадратных скобок |
|
132 |
Ожидается открывающая круглая скобка «(« |
|
133 |
Несбалансированные фигурные скобки ( отсутствует «}» ) |
|
134 |
Сложно для компиляции (слишком большое ветвление, внутренний стек уровней переполнен) |
|
135 |
Ошибка открытия файла на чтение |
|
136 |
Недостаточно памяти для загрузки исходного файла в память |
|
137 |
Ожидается переменная |
|
138 |
Ссылка не может быть инициализирована |
|
140 |
Ожидалось присваивание (возникает при объявлении) |
|
141 |
Ожидается открывающая фигурная скобка «{« |
|
142 |
Параметр может быть только динамическим массивом |
|
143 |
Использование типа «void» недопустимо |
|
144 |
Нет пары для «)» или «]», т.е. отсутствует «(» или «[« |
|
145 |
Нет пары для «(» или «[«, т.е. отсутствует «)» или «]» |
|
146 |
Некорректная размерность массива |
|
147 |
Слишком много параметров (>64) |
|
149 |
Этот токен тут не ожидается |
|
150 |
Недопустимое использование операции (неправильные операнды) |
|
151 |
Выражение типа void недопустимо |
|
152 |
Ожидается оператор |
|
153 |
Неправильное использование break |
|
154 |
Ожидается точка с запятой «;» |
|
155 |
Ожидается запятая «,» |
|
156 |
Тип должен быть определен как класс, а не как структура |
|
157 |
Ожидалось выражение |
|
158 |
В HEX встречается «не HEX символ» или слишком длинное число (количество цифр > 511) |
|
159 |
Строка-константа имеет более 65534 символов |
|
160 |
Определение функции здесь недопустимо |
|
161 |
Неожиданный конец программы |
|
162 |
Форвардная декларация для структур запрещена |
|
163 |
Функция с таким именем уже определена и имеет иной тип возвращаемого значения |
|
164 |
Функция с таким именем уже определена и имеет иной набор параметров |
|
165 |
Функция с таким именем уже определена и реализована |
|
166 |
Перегрузка функции для данного вызова не найдена |
|
167 |
Функция с возвращаемым значением типа void не может возвращать значение |
|
168 |
Функция не определена |
|
170 |
Ожидается значение |
|
171 |
В выражении case допустимы только целочисленные константы |
|
172 |
Значение для case в этом switch уже использовано |
|
173 |
Ожидается целочисленное значение |
|
174 |
В выражении #import ожидается имя файла |
|
175 |
Выражения на глобальном уровне не допустимы |
|
176 |
Пропущена круглая скобка «)» перед «;» |
|
177 |
Слева от знака равенства предполагается переменная |
|
178 |
Результат выражения не используется |
|
179 |
Объявление переменных в case недопустимо |
|
180 |
Неявное преобразование из строки в число |
|
181 |
Неявное преобразование числа в строку |
|
182 |
Неоднозначный вызов перегруженной функции (подходят несколько перегрузок) |
|
183 |
Недопустимый else без соответствующего if |
|
184 |
Недопустимый case или default без соответствующего switch |
|
185 |
Недопустимое использование эллипсиса |
|
186 |
Инициализирующая последовательность имеет большее количество элементов чем инициализируемая переменная |
|
187 |
Ожидается константа для case |
|
188 |
Требуется константное выражение |
|
189 |
Константная переменная не может быть изменена |
|
190 |
Ожидается закрывающая скобка или запятая (объявление члена массива) |
|
191 |
Идентификатор перечисления уже используется |
|
192 |
Перечисление не может иметь модификаторов доступа (const, extern, static) |
|
193 |
Член перечисления уже объявлен с другим значением |
|
194 |
Существует переменная, определенная с таким же именем |
|
195 |
Существует структура, определенная с таким же именем |
|
196 |
Ожидается имя члена перечисления |
|
197 |
Ожидается целочисленное выражение |
|
198 |
Деление на ноль в константном выражении |
|
199 |
Неверное количество параметров в функции |
|
200 |
Параметром по ссылке должна быть переменная |
|
201 |
Ожидается переменная такого же типа для передачи по ссылке |
|
202 |
Константная переменная не может быть передана по неконстантной ссылке |
|
203 |
Требуется целочисленная положительная константа |
|
204 |
Ошибка доступа к защищенному члену класса |
|
205 |
Импорт уже определен по другому пути |
|
208 |
Исполняемый файл не создан |
|
209 |
Для индикатора не найдена точка входа ‘OnCalculate’ |
|
210 |
Оператор continue может быть использован только внутри цикла |
|
211 |
Ошибка доступа к private(закрытому) члену класса |
|
213 |
Метод структуры или класса не объявлен |
|
214 |
Ошибка доступа к private(закрытому) методу класса |
|
216 |
Копирование структур с объектами недопустимо |
|
218 |
Выход индекса за границы массива |
|
219 |
Недопустима инициализация массивов в объявлении структуры или класса |
|
220 |
Конструктор класса не может иметь параметров |
|
221 |
Деструктор класса не может иметь параметров |
|
222 |
Метод класса или структуры с таким именем и параметрами уже объявлен |
|
223 |
Ожидается операнд |
|
224 |
Метод класса или структуры с таким именем есть, но с другими параметрами (объявление!=реализация) |
|
225 |
Импортируемая функция не описана |
|
226 |
Функция ZeroMemory() не применима для классов с защищенными членами или наследованием |
|
227 |
Неоднозначный вызов перегруженной функции (точное совпадение параметров для нескольких перегрузок) |
|
228 |
Ожидается имя переменной |
|
229 |
Ссылку нельзя объявить в этом месте |
|
230 |
Уже используется в качестве имени перечисления |
|
232 |
Ожидается класс или структура |
|
235 |
Нельзя вызывать delete для удаления массива |
|
236 |
Ожидается оператор ‘ while ‘ |
|
237 |
В delete должен быть указатель |
|
238 |
default для этого switch уже есть |
|
239 |
Синтаксическая ошибка |
|
240 |
Escape-последовательность может встретиться только в строках ( начинается с ‘’ ) |
|
241 |
Требуется массив – квадратная скобка ‘[‘ не относится к массиву либо в качестве параметра-массива подают не массив |
|
242 |
Не может быть инициализировано посредством инициализирующей последовательности |
|
243 |
Импорт не определен |
|
244 |
Ошибка оптимизатора на синтаксическом дереве |
|
245 |
Объявлено слишком много структур (упростите программу) |
|
246 |
Преобразование параметра недопустимо |
|
247 |
Некорректное использование оператора delete |
|
248 |
Нельзя объявить указатель на ссылку |
|
249 |
Нельзя объявить ссылку на ссылку |
|
250 |
Нельзя объявить указатель на указатель |
|
251 |
Недопустимо объявление структуры в списке параметров |
|
252 |
Недопустимая операция приведения типов |
|
253 |
Указатель можно объявить только для класса или структуры |
|
256 |
Необъявленный идентификатор |
|
257 |
Ошибка оптимизатора исполняемого кода |
|
258 |
Ошибка генерации исполняемого кода |
|
260 |
Недопустимое выражение для оператора switch |
|
261 |
Переполнение пула строковых констант, упростите программу |
|
262 |
Невозможно преобразовать к перечислению |
|
263 |
Нельзя использовать virtual для данных (членов класса или структуры) |
|
264 |
Нельзя вызвать защищенный метод класса |
|
265 |
Переопределяемая виртуальная функция возвращает другой тип |
|
266 |
Класс нельзя наследовать от структуры |
|
267 |
Структуру нельзя наследовать от класса |
|
268 |
Конструктор не может быть виртуальным (спецификатор virtual недопустим) |
|
269 |
Структура не может иметь виртуальных методов |
|
270 |
Функция должна иметь тело |
|
271 |
Перегрузка системных функций (функций терминала) запрещена |
|
272 |
Спецификатор const недопустим для функций, не являющихся членом класса или структуры |
|
274 |
Нельзя менять члены класса в константном методе |
|
276 |
Неподходящая инициализирующая последовательность |
|
277 |
Пропущено значение по умолчанию для параметра (специфика объявления параметров по умолчанию) |
|
278 |
Переопределение параметра по умолчанию (в объявлении и реализации разные значения) |
|
279 |
Нельзя вызвать неконстантный метод для константного объекта |
|
280 |
Для доступа к членам требуется объект (поставлена точка для не класса/структуры) |
|
281 |
Имя уже объявленной структуры нельзя использовать при объявлении |
|
284 |
Неразрешенное преобразование (при закрытом наследовании) |
|
285 |
Структуры и массивы не могут быть использованы в качестве input-переменных |
|
286 |
Спецификатор const недопустим для конструктора/деструктора |
|
287 |
Неправильное строковое выражение для типа datetime |
|
288 |
Неизвестное свойство (#property) |
|
289 |
Некорректное значение для свойства |
|
290 |
Некорректный индекс для свойства в #property |
|
291 |
Пропущен параметр вызова – < func(x,) > |
|
293 |
Объект должен быть передан по ссылке |
|
294 |
Массив должен быть передан по ссылке |
|
295 |
Функция была декларирована как экспортируемая |
|
296 |
Функция не была декларирована как экспортируемая |
|
297 |
Экспортировать импортируемую функцию нельзя |
|
298 |
Импортируемая функция не может иметь такого параметра (нельзя передавать указатель, класс или структуру, содержащую динамический массив, указатель, класс и т.д.) |
|
299 |
Должен быть класс |
|
300 |
Секция #import не закрыта |
|
302 |
Несоответствие типов |
|
303 |
extern-переменная уже инициализирована |
|
304 |
Не найдено ни одной экспортируемой функции или стандартной точки входа |
|
305 |
Явный вызов конструктора запрещен |
|
306 |
Метод был объявлен константным |
|
307 |
Метод не был объявлен константным |
|
308 |
Некорректный размер ресурсного файла |
|
309 |
Некорректное имя ресурса |
|
310 |
Ошибка открытия файла ресурса |
|
311 |
Ошибка чтения файла ресурса |
|
312 |
Неизвестный тип ресурса |
|
313 |
Некорректный путь к файлу ресурса |
|
314 |
Указанное имя ресурса уже используется |
|
315 |
Ожидались параметры макроса |
|
316 |
После имени макроса должен быть пробел |
|
317 |
Ошибка в описании параметров макроса |
|
318 |
Неверное число параметров при использовании макроса |
|
319 |
Превышение максимального количества(16) параметров для макроса |
|
320 |
Макрос слишком сложный, требуется упрощение |
|
321 |
Параметром EnumToString() может быть только перечисление |
|
322 |
Имя ресурса слишком длинное |
|
323 |
Неподдерживаемый формат изображения (допустим только BMP-формат с глубиной цвета 24 или 32 бита) |
|
324 |
Объявление массива внутри оператора запрещено |
|
325 |
Функцию можно определить только на глобальном уровне |
|
326 |
Данное объявление недопустимо для текущей области видимости (области определения) |
|
327 |
Инициализация статичных переменных значениями локальных недопустима |
|
328 |
Недопустимое объявление массива объектов, не имеющих конструктора по умолчанию |
|
329 |
Список инициализации разрешен только для конструкторов |
|
330 |
Отсутствует определение функции после списка инициализации |
|
331 |
Список инициализации пуст |
|
332 |
Инициализация массива в конструкторе запрещена |
|
333 |
В списке инициализации запрещено инициализировать члены родительского класса |
|
334 |
Ожидалось выражение целого типа |
|
335 |
Требуемый объем памяти для массива превышает максимально допустимое значение |
|
336 |
Требуемый объем памяти для структуры превышает максимально допустимое значение |
|
337 |
Требуемый объем памяти для переменных, объявленных на глобальном уровне, превышает максимально допустимое значение |
|
338 |
Требуемый объем памяти для локальных переменных превышает максимально допустимое значение |
|
339 |
Конструктор не определен |
|
340 |
Недопустимое имя для файла иконки |
|
341 |
Не удалось открыть файла иконки по указанному пути |
|
342 |
Файл иконки некорректен и не соответствует формату ICO |
|
343 |
Повторная инициализация члена в конструкторе класса/структуры с помощью списка инициализации |
|
344 |
Инициализация статических членов в списке инициализации конструктора не допускается |
|
345 |
Инициализация нестатического члена класса/структуры на глобальном уровне запрещена |
|
346 |
Имя метода класса/структуры совпадает с ранее объявленным именем члена |
|
347 |
Имя члена класса/структуры совпадает с ранее объявленным именем метода |
|
348 |
Виртуальная функция не может быть объявлена как static |
|
349 |
Модификатор const недопустим для статической функции |
|
350 |
Конструктор или деструктор не могут быть статическими |
|
351 |
Нельзя обращаться к нестатическому члену/методу класса или структуры из статической функции |
|
352 |
После ключевого слова operator ожидается перегружаемая операция (+,-,[],++,— и т.д.) |
|
353 |
Не все операции можно перегружать в MQL5 |
|
354 |
Определение не соответствует объявлению |
|
355 |
Указано неверное количество параметров для оператора |
|
356 |
Не обнаружено ни одной функции-обработчика события |
|
357 |
Методы не могут быть экспортируемыми |
|
358 |
Нельзя приводить указатель на константный объект к указателю на неконстантный объект |
|
359 |
Шаблоны классов пока не поддерживаются |
|
360 |
Перегрузка шаблонов функций пока не поддерживается |
|
361 |
Невозможно применить шаблон функции |
|
362 |
Неоднозначный параметр в шаблоне функции (подходят несколько типов параметра) |
|
363 |
Невозможно определить к какому типу параметра приводить аргумент шаблона функции |
|
364 |
Неверное количество параметров в шаблоне функции |
|
365 |
Шаблон функции не может быть виртуальным |
|
366 |
Шаблоны функций не могут быть экспортированы |
|
367 |
Нельзя импортировать шаблоны функций |
|
368 |
Структуры, содержащие объекты, недопустимы |
|
369 |
Массивы строк и структуры, содержащие объекты, недопустимы |
|
370 |
Статический член класса/структуры должен быть явно инициализирован |
|
371 |
Ограничение компилятора: строка не может содержать более 65 535 символов |
|
372 |
Несогласованные #ifdef/#endif |
|
373 |
Результатом выполнения функции не может быть объект класса, так как отсутствует конструктор копирования |
|
374 |
Нельзя использовать нестатические члены и/или методы при инициализации статической переменной |
|
375 |
OnTesterInit() нельзя использовать без объявления обработчика OnTesterDeinit() |
|
376 |
Имя локальной переменной совпадает с именем одного из параметров функции |
|
377 |
Нельзя использовать макросы __FUNCSIG__ и __FUNCTION__ вне тела функции |
|
378 |
Недопустимый возвращаемый тип. Например, такая ошибка будет выдана для функций, импортированных из DLL, которые возвращают структуру или указатель в качестве результата |
|
379 |
Ошибка при использовании шаблона |
|
380 |
Не используется |
|
381 |
Недопустимый синтаксис при объявлении чисто виртуальной функции, разрешено «=NULL» или «=0» |
|
382 |
Только виртуальные функции могут быть объявлены со спецификатором чисто виртуальной функции («=NULL» или «=0») |
|
383 |
Нельзя создать экземпляр абстрактного класса |
|
384 |
Для динамического приведения с помощью оператора dynamic_cast типом назначения должен быть указатель на пользовательский тип |
|
385 |
Ожидается тип «указатель на функцию» |
|
386 |
Указатели на методы не поддерживаются |
|
387 |
Ошибка – невозможно определить тип указателя на функцию |
|
388 |
Приведение типа недоступно из-за закрытого наследования |
|
389 |
Переменная с модификатором const должна быть проинициализирована при объявлении |
|
393 |
В интерфейсе могут быть объявлены только методы с публичным доступом |
|
394 |
Недопустимое вложение интерфейса в другой интерфейс |
|
395 |
Интерфейс может наследоваться только от другого интерфейса |
|
396 |
Ожидается интерфейс |
|
397 |
Интерфейсы поддерживают только публичное наследование |
|
398 |
Интерфейс не может содержать члены |
|
399 |
Нельзя создавать объекты интерфейса напрямую, только через наследование |
GetLastError() – функция, возвращающая код последней ошибки, которая хранится в предопределенной переменной _LastError. Значение этой переменной можно сбросить в ноль функцией ResetLastError().
|
ERR_SUCCESS |
0 |
Операция выполнена успешно |
|
ERR_INTERNAL_ERROR |
4001 |
Неожиданная внутренняя ошибка |
|
ERR_WRONG_INTERNAL_PARAMETER |
4002 |
Ошибочный параметр при внутреннем вызове функции клиентского терминала |
|
ERR_INVALID_PARAMETER |
4003 |
Ошибочный параметр при вызове системной функции |
|
ERR_NOT_ENOUGH_MEMORY |
4004 |
Недостаточно памяти для выполнения системной функции |
|
ERR_STRUCT_WITHOBJECTS_ORCLASS |
4005 |
Структура содержит объекты строк и/или динамических массивов и/или структуры с такими объектами и/или классы |
|
ERR_INVALID_ARRAY |
4006 |
Массив неподходящего типа, неподходящего размера или испорченный объект динамического массива |
|
ERR_ARRAY_RESIZE_ERROR |
4007 |
Недостаточно памяти для перераспределения массива либо попытка изменения размера статического массива |
|
ERR_STRING_RESIZE_ERROR |
4008 |
Недостаточно памяти для перераспределения строки |
|
ERR_NOTINITIALIZED_STRING |
4009 |
Неинициализированная строка |
|
ERR_INVALID_DATETIME |
4010 |
Неправильное значение даты и/или времени |
|
ERR_ARRAY_BAD_SIZE |
4011 |
Запрашиваемый размер массива превышает 2 гигабайта |
|
ERR_INVALID_POINTER |
4012 |
Ошибочный указатель |
|
ERR_INVALID_POINTER_TYPE |
4013 |
Ошибочный тип указателя |
|
ERR_FUNCTION_NOT_ALLOWED |
4014 |
Системная функция не разрешена для вызова |
|
ERR_RESOURCE_NAME_DUPLICATED |
4015 |
Совпадении имени динамического и статического ресурсов |
|
ERR_RESOURCE_NOT_FOUND |
4016 |
Ресурс с таким именем в EX5 не найден |
|
ERR_RESOURCE_UNSUPPOTED_TYPE |
4017 |
Неподдерживаемый тип ресурса или размер более 16 MB |
|
ERR_RESOURCE_NAME_IS_TOO_LONG |
4018 |
Имя ресурса превышает 63 символа |
|
ERR_MATH_OVERFLOW |
4019 |
При вычислении математической функции произошло переполнение |
|
Графики |
||
|
ERR_CHART_WRONG_ID |
4101 |
Ошибочный идентификатор графика |
|
ERR_CHART_NO_REPLY |
4102 |
График не отвечает |
|
ERR_CHART_NOT_FOUND |
4103 |
График не найден |
|
ERR_CHART_NO_EXPERT |
4104 |
У графика нет эксперта, который мог бы обработать событие |
|
ERR_CHART_CANNOT_OPEN |
4105 |
Ошибка открытия графика |
|
ERR_CHART_CANNOT_CHANGE |
4106 |
Ошибка при изменении для графика символа и периода |
|
ERR_CHART_WRONG_PARAMETER |
4107 |
Ошибочное значение параметра для функции по работе с графиком |
|
ERR_CHART_CANNOT_CREATE_TIMER |
4108 |
Ошибка при создании таймера |
|
ERR_CHART_WRONG_PROPERTY |
4109 |
Ошибочный идентификатор свойства графика |
|
ERR_CHART_SCREENSHOT_FAILED |
4110 |
Ошибка при создании скриншота |
|
ERR_CHART_NAVIGATE_FAILED |
4111 |
Ошибка навигации по графику |
|
ERR_CHART_TEMPLATE_FAILED |
4112 |
Ошибка при применении шаблона |
|
ERR_CHART_WINDOW_NOT_FOUND |
4113 |
Подокно, содержащее указанный индикатор, не найдено |
|
ERR_CHART_INDICATOR_CANNOT_ADD |
4114 |
Ошибка при добавлении индикатора на график |
|
ERR_CHART_INDICATOR_CANNOT_DEL |
4115 |
Ошибка при удалении индикатора с графика |
|
ERR_CHART_INDICATOR_NOT_FOUND |
4116 |
Индикатор не найден на указанном графике |
|
Графические объекты |
||
|
ERR_OBJECT_ERROR |
4201 |
Ошибка при работе с графическим объектом |
|
ERR_OBJECT_NOT_FOUND |
4202 |
Графический объект не найден |
|
ERR_OBJECT_WRONG_PROPERTY |
4203 |
Ошибочный идентификатор свойства графического объекта |
|
ERR_OBJECT_GETDATE_FAILED |
4204 |
Невозможно получить дату, соответствующую значению |
|
ERR_OBJECT_GETVALUE_FAILED |
4205 |
Невозможно получить значение, соответствующее дате |
|
MarketInfo |
||
|
ERR_MARKET_UNKNOWN_SYMBOL |
4301 |
Неизвестный символ |
|
ERR_MARKET_NOT_SELECTED |
4302 |
Символ не выбран в MarketWatch |
|
ERR_MARKET_WRONG_PROPERTY |
4303 |
Ошибочный идентификатор свойства символа |
|
ERR_MARKET_LASTTIME_UNKNOWN |
4304 |
Время последнего тика неизвестно (тиков не было) |
|
ERR_MARKET_SELECT_ERROR |
4305 |
Ошибка добавления или удаления символа в MarketWatch |
|
Доступ к истории |
||
|
ERR_HISTORY_NOT_FOUND |
4401 |
Запрашиваемая история не найдена |
|
ERR_HISTORY_WRONG_PROPERTY |
4402 |
Ошибочный идентификатор свойства истории |
|
ERR_HISTORY_TIMEOUT |
4403 |
Превышен таймаут при запросе истории |
|
ERR_HISTORY_BARS_LIMIT |
4404 |
Количество запрашиваемых баров ограничено настройками терминала |
|
ERR_HISTORY_LOAD_ERRORS |
4405 |
Множество ошибок при загрузке истории |
|
ERR_HISTORY_SMALL_BUFFER |
4407 |
Принимающий массив слишком мал чтобы вместить все запрошенные данные |
|
Global_Variables |
||
|
ERR_GLOBALVARIABLE_NOT_FOUND |
4501 |
Глобальная переменная клиентского терминала не найдена |
|
ERR_GLOBALVARIABLE_EXISTS |
4502 |
Глобальная переменная клиентского терминала с таким именем уже существует |
|
ERR_GLOBALVARIABLE_NOT_MODIFIED |
4503 |
Не было модификаций глобальных переменных |
|
ERR_GLOBALVARIABLE_CANNOTREAD |
4504 |
Не удалось открыть и прочитать файл со значениями глобальных переменных |
|
ERR_GLOBALVARIABLE_CANNOTWRITE |
4505 |
Не удалось записать файл со значениями глобальных переменных |
|
ERR_MAIL_SEND_FAILED |
4510 |
Не удалось отправить письмо |
|
ERR_PLAY_SOUND_FAILED |
4511 |
Не удалось воспроизвести звук |
|
ERR_MQL5_WRONG_PROPERTY |
4512 |
Ошибочный идентификатор свойства программы |
|
ERR_TERMINAL_WRONG_PROPERTY |
4513 |
Ошибочный идентификатор свойства терминала |
|
ERR_FTP_SEND_FAILED |
4514 |
Не удалось отправить файл по ftp |
|
ERR_NOTIFICATION_SEND_FAILED |
4515 |
Не удалось отправить уведомление |
|
ERR_NOTIFICATION_WRONG_PARAMETER |
4516 |
Неверный параметр для отправки уведомления – в функцию SendNotification() передали пустую строку или NULL |
|
ERR_NOTIFICATION_WRONG_SETTINGS |
4517 |
Неверные настройки уведомлений в терминале (не указан ID или не выставлено разрешение) |
|
ERR_NOTIFICATION_TOO_FREQUENT |
4518 |
Слишком частая отправка уведомлений |
|
ERR_FTP_NOSERVER |
4519 |
Не указан FTP сервер |
|
ERR_FTP_NOLOGIN |
4520 |
Не указан FTP логин |
|
ERR_FTP_FILE_ERROR |
4521 |
Не найден файл в директории MQL5Files для отправки на FTP сервер |
|
ERR_FTP_CONNECT_FAILED |
4522 |
Ошибка при подключении к FTP серверу |
|
ERR_FTP_CHANGEDIR |
4523 |
На FTP сервере не найдена директория для выгрузки файла |
|
ERR_FTP_CLOSED |
4524 |
Подключение к FTP серверу закрыто |
|
Буферы пользовательских индикаторов |
||
|
ERR_BUFFERS_NO_MEMORY |
4601 |
Недостаточно памяти для распределения индикаторных буферов |
|
ERR_BUFFERS_WRONG_INDEX |
4602 |
Ошибочный индекс своего индикаторного буфера |
|
Свойства пользовательских индикаторов |
||
|
ERR_CUSTOM_WRONG_PROPERTY |
4603 |
Ошибочный идентификатор свойства пользовательского индикатора |
|
Account |
||
|
ERR_ACCOUNT_WRONG_PROPERTY |
4701 |
Ошибочный идентификатор свойства счета |
|
ERR_TRADE_WRONG_PROPERTY |
4751 |
Ошибочный идентификатор свойства торговли |
|
ERR_TRADE_DISABLED |
4752 |
Торговля для эксперта запрещена |
|
ERR_TRADE_POSITION_NOT_FOUND |
4753 |
Позиция не найдена |
|
ERR_TRADE_ORDER_NOT_FOUND |
4754 |
Ордер не найден |
|
ERR_TRADE_DEAL_NOT_FOUND |
4755 |
Сделка не найдена |
|
ERR_TRADE_SEND_FAILED |
4756 |
Не удалось отправить торговый запрос |
|
ERR_TRADE_CALC_FAILED |
4758 |
Не удалось вычислить значение прибыли или маржи |
|
Индикаторы |
||
|
ERR_INDICATOR_UNKNOWN_SYMBOL |
4801 |
Неизвестный символ |
|
ERR_INDICATOR_CANNOT_CREATE |
4802 |
Индикатор не может быть создан |
|
ERR_INDICATOR_NO_MEMORY |
4803 |
Недостаточно памяти для добавления индикатора |
|
ERR_INDICATOR_CANNOT_APPLY |
4804 |
Индикатор не может быть применен к другому индикатору |
|
ERR_INDICATOR_CANNOT_ADD |
4805 |
Ошибка при добавлении индикатора |
|
ERR_INDICATOR_DATA_NOT_FOUND |
4806 |
Запрошенные данные не найдены |
|
ERR_INDICATOR_WRONG_HANDLE |
4807 |
Ошибочный хэндл индикатора |
|
ERR_INDICATOR_WRONG_PARAMETERS |
4808 |
Неправильное количество параметров при создании индикатора |
|
ERR_INDICATOR_PARAMETERS_MISSING |
4809 |
Отсутствуют параметры при создании индикатора |
|
ERR_INDICATOR_CUSTOM_NAME |
4810 |
Первым параметром в массиве должно быть имя пользовательского индикатора |
|
ERR_INDICATOR_PARAMETER_TYPE |
4811 |
Неправильный тип параметра в массиве при создании индикатора |
|
ERR_INDICATOR_WRONG_INDEX |
4812 |
Ошибочный индекс запрашиваемого индикаторного буфера |
|
Стакан цен |
||
|
ERR_BOOKS_CANNOT_ADD |
4901 |
Стакан цен не может быть добавлен |
|
ERR_BOOKS_CANNOT_DELETE |
4902 |
Стакан цен не может быть удален |
|
ERR_BOOKS_CANNOT_GET |
4903 |
Данные стакана цен не могут быть получены |
|
ERR_BOOKS_CANNOT_SUBSCRIBE |
4904 |
Ошибка при подписке на получение новых данных стакана цен |
|
Файловые операции |
||
|
ERR_TOO_MANY_FILES |
5001 |
Не может быть открыто одновременно более 64 файлов |
|
ERR_WRONG_FILENAME |
5002 |
Недопустимое имя файла |
|
ERR_TOO_LONG_FILENAME |
5003 |
Слишком длинное имя файла |
|
ERR_CANNOT_OPEN_FILE |
5004 |
Ошибка открытия файла |
|
ERR_FILE_CACHEBUFFER_ERROR |
5005 |
Недостаточно памяти для кеша чтения |
|
ERR_CANNOT_DELETE_FILE |
5006 |
Ошибка удаления файла |
|
ERR_INVALID_FILEHANDLE |
5007 |
Файл с таким хэндлом уже был закрыт, либо не открывался вообще |
|
ERR_WRONG_FILEHANDLE |
5008 |
Ошибочный хэндл файла |
|
ERR_FILE_NOTTOWRITE |
5009 |
Файл должен быть открыт для записи |
|
ERR_FILE_NOTTOREAD |
5010 |
Файл должен быть открыт для чтения |
|
ERR_FILE_NOTBIN |
5011 |
Файл должен быть открыт как бинарный |
|
ERR_FILE_NOTTXT |
5012 |
Файл должен быть открыт как текстовый |
|
ERR_FILE_NOTTXTORCSV |
5013 |
Файл должен быть открыт как текстовый или CSV |
|
ERR_FILE_NOTCSV |
5014 |
Файл должен быть открыт как CSV |
|
ERR_FILE_READERROR |
5015 |
Ошибка чтения файла |
|
ERR_FILE_BINSTRINGSIZE |
5016 |
Должен быть указан размер строки, так как файл открыт как бинарный |
|
ERR_INCOMPATIBLE_FILE |
5017 |
Для строковых массивов должен быть текстовый файл, для остальных – бинарный |
|
ERR_FILE_IS_DIRECTORY |
5018 |
Это не файл, а директория |
|
ERR_FILE_NOT_EXIST |
5019 |
Файл не существует |
|
ERR_FILE_CANNOT_REWRITE |
5020 |
Файл не может быть переписан |
|
ERR_WRONG_DIRECTORYNAME |
5021 |
Ошибочное имя директории |
|
ERR_DIRECTORY_NOT_EXIST |
5022 |
Директория не существует |
|
ERR_FILE_ISNOT_DIRECTORY |
5023 |
Это файл, а не директория |
|
ERR_CANNOT_DELETE_DIRECTORY |
5024 |
Директория не может быть удалена |
|
ERR_CANNOT_CLEAN_DIRECTORY |
5025 |
Не удалось очистить директорию (возможно, один или несколько файлов заблокированы и операция удаления не удалась) |
|
ERR_FILE_WRITEERROR |
5026 |
Не удалось записать ресурс в файл |
|
ERR_FILE_ENDOFFILE |
5027 |
Не удалось прочитать следующую порцию данных из CSV-файла (FileReadString, FileReadNumber, FileReadDatetime, FileReadBool), так как достигнут конец файла |
|
Преобразование строк |
||
|
ERR_NO_STRING_DATE |
5030 |
В строке нет даты |
|
ERR_WRONG_STRING_DATE |
5031 |
В строке ошибочная дата |
|
ERR_WRONG_STRING_TIME |
5032 |
В строке ошибочное время |
|
ERR_STRING_TIME_ERROR |
5033 |
Ошибка преобразования строки в дату |
|
ERR_STRING_OUT_OF_MEMORY |
5034 |
Недостаточно памяти для строки |
|
ERR_STRING_SMALL_LEN |
5035 |
Длина строки меньше, чем ожидалось |
|
ERR_STRING_TOO_BIGNUMBER |
5036 |
Слишком большое число, больше, чем ULONG_MAX |
|
ERR_WRONG_FORMATSTRING |
5037 |
Ошибочная форматная строка |
|
ERR_TOO_MANY_FORMATTERS |
5038 |
Форматных спецификаторов больше, чем параметров |
|
ERR_TOO_MANY_PARAMETERS |
5039 |
Параметров больше, чем форматных спецификаторов |
|
ERR_WRONG_STRING_PARAMETER |
5040 |
Испорченный параметр типа string |
|
ERR_STRINGPOS_OUTOFRANGE |
5041 |
Позиция за пределами строки |
|
ERR_STRING_ZEROADDED |
5042 |
К концу строки добавлен 0, бесполезная операция |
|
ERR_STRING_UNKNOWNTYPE |
5043 |
Неизвестный тип данных при конвертации в строку |
|
ERR_WRONG_STRING_OBJECT |
5044 |
Испорченный объект строки |
|
Работа с массивами |
||
|
ERR_INCOMPATIBLE_ARRAYS |
5050 |
Копирование несовместимых массивов. Строковый массив может быть скопирован только в строковый, а числовой массив – в числовой |
|
ERR_SMALL_ASSERIES_ARRAY |
5051 |
Приемный массив объявлен как AS_SERIES, и он недостаточного размера |
|
ERR_SMALL_ARRAY |
5052 |
Слишком маленький массив, стартовая позиция за пределами массива |
|
ERR_ZEROSIZE_ARRAY |
5053 |
Массив нулевой длины |
|
ERR_NUMBER_ARRAYS_ONLY |
5054 |
Должен быть числовой массив |
|
ERR_ONEDIM_ARRAYS_ONLY |
5055 |
Должен быть одномерный массив |
|
ERR_SERIES_ARRAY |
5056 |
Таймсерия не может быть использована |
|
ERR_DOUBLE_ARRAY_ONLY |
5057 |
Должен быть массив типа double |
|
ERR_FLOAT_ARRAY_ONLY |
5058 |
Должен быть массив типа float |
|
ERR_LONG_ARRAY_ONLY |
5059 |
Должен быть массив типа long |
|
ERR_INT_ARRAY_ONLY |
5060 |
Должен быть массив типа int |
|
ERR_SHORT_ARRAY_ONLY |
5061 |
Должен быть массив типа short |
|
ERR_CHAR_ARRAY_ONLY |
5062 |
Должен быть массив типа char |
|
ERR_STRING_ARRAY_ONLY |
5063 |
Должен быть массив типа string |
|
Работа с OpenCL |
||
|
ERR_OPENCL_NOT_SUPPORTED |
5100 |
Функции OpenCL на данном компьютере не поддерживаются |
|
ERR_OPENCL_INTERNAL |
5101 |
Внутренняя ошибка при выполнении OpenCL |
|
ERR_OPENCL_INVALID_HANDLE |
5102 |
Неправильный хэндл OpenCL |
|
ERR_OPENCL_CONTEXT_CREATE |
5103 |
Ошибка при создании контекста OpenCL |
|
ERR_OPENCL_QUEUE_CREATE |
5104 |
Ошибка создания очереди выполнения в OpenCL |
|
ERR_OPENCL_PROGRAM_CREATE |
5105 |
Ошибка при компиляции программы OpenCL |
|
ERR_OPENCL_TOO_LONG_KERNEL_NAME |
5106 |
Слишком длинное имя точки входа (кернел OpenCL) |
|
ERR_OPENCL_KERNEL_CREATE |
5107 |
Ошибка создания кернел — точки входа OpenCL |
|
ERR_OPENCL_SET_KERNEL_PARAMETER |
5108 |
Ошибка при установке параметров для кернел OpenCL (точки входа в программу OpenCL) |
|
ERR_OPENCL_EXECUTE |
5109 |
Ошибка выполнения программы OpenCL |
|
ERR_OPENCL_WRONG_BUFFER_SIZE |
5110 |
Неверный размер буфера OpenCL |
|
ERR_OPENCL_WRONG_BUFFER_OFFSET |
5111 |
Неверное смещение в буфере OpenCL |
|
ERR_OPENCL_BUFFER_CREATE |
5112 |
Ошибка создания буфера OpenCL |
|
ERR_OPENCL_TOO_MANY_OBJECTS |
5113 |
Превышено максимальное число OpenCL объектов |
|
ERR_OPENCL_SELECTDEVICE |
5114 |
Ошибка выбора OpenCL устройства |
|
Работа с WebRequest |
||
|
ERR_WEBREQUEST_INVALID_ADDRESS |
5200 |
URL не прошел проверку |
|
ERR_WEBREQUEST_CONNECT_FAILED |
5201 |
Не удалось подключиться к указанному URL |
|
ERR_WEBREQUEST_TIMEOUT |
5202 |
Превышен таймаут получения данных |
|
ERR_WEBREQUEST_REQUEST_FAILED |
5203 |
Ошибка в результате выполнения HTTP запроса |
|
Пользовательские символы |
||
|
ERR_NOT_CUSTOM_SYMBOL |
5300 |
Должен быть указан пользовательский символ |
|
ERR_CUSTOM_SYMBOL_WRONG_NAME |
5301 |
Некорректное имя пользовательского символа. В имени символа можно использовать только латинские буквы без знаков препинания, пробелов и спецсимволов (допускаются «.», «_», «&» и «#»). Не рекомендуется использовать символы <, >, :, «, /,, |, ?, *. |
|
ERR_CUSTOM_SYMBOL_NAME_LONG |
5302 |
Слишком длинное имя для пользовательского символа. Длина имени символа не должна превышать 32 знака с учётом завершающего 0 |
|
ERR_CUSTOM_SYMBOL_PATH_LONG |
5303 |
Слишком длинный путь для пользовательского символа. Длина пути не более 128 знаков с учётом «Custom\», имени символа, разделителей групп и завершающего 0 |
|
ERR_CUSTOM_SYMBOL_EXIST |
5304 |
Пользовательский символ с таким именем уже существует |
|
ERR_CUSTOM_SYMBOL_ERROR |
5305 |
Ошибка при создании, удалении или изменении пользовательского символа |
|
ERR_CUSTOM_SYMBOL_SELECTED |
5306 |
Попытка удалить пользовательский символ, выбранный в обзоре рынка (Market Watch) |
|
ERR_CUSTOM_SYMBOL_PROPERTY_WRONG |
5307 |
Неправильное свойство пользовательского символа |
|
ERR_CUSTOM_SYMBOL_PARAMETER_ERROR |
5308 |
Ошибочный параметр при установке свойства пользовательского символа |
|
ERR_CUSTOM_SYMBOL_PARAMETER_LONG |
5309 |
Слишком длинный строковый параметр при установке свойства пользовательского символа |
|
ERR_CUSTOM_TICKS_WRONG_ORDER |
5310 |
Не упорядоченный по времени массив тиков |
|
Пользовательские ошибки |
||
|
ERR_USER_ERROR_FIRST |
65536 |
С этого кода начинаются ошибки, задаваемые пользователем |
При работе торгового терминала 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 — Ошибка при работе с объектом.