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
Общее число элементов в массиве не может превышать 2147483647
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_UNSUPPORTED_TYPE
4017
Неподдерживаемый тип ресурса или размер более 16 MB
ERR_RESOURCE_NAME_IS_TOO_LONG
4018
Имя ресурса превышает 63 символа
ERR_MATH_OVERFLOW
4019
При вычислении математической функции произошло переполнение
ERR_SLEEP_ERROR
4020
Выход за дату окончания тестирования после вызова Sleep()
ERR_PROGRAM_STOPPED
4022
Тестирование было прекращено принудительно извне. Например, прервана оптимизацию, или закрыто окно визуального тестирования, или остановлен агент тестирования
ERR_INVALID_TYPE
4023
Неподходящий тип
ERR_INVALID_HANDLE
4024
Невалидный хендл
ERR_TOO_MANY_OBJECTS
4025
Пул объектов заполнен
Графики
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
Принимающий массив слишком мал чтобы вместить все запрошенные данные
Глобальные переменные терминала
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
Не найден файл в директории MQL5\Files для отправки на FTP сервер
ERR_FTP_CONNECT_FAILED
4522
Ошибка при подключении к FTP серверу
ERR_FTP_CHANGEDIR
4523
На 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 устройства
Работа с базами данных
ERR_DATABASE_INTERNAL
5120
Внутренняя ошибка базы данных
ERR_DATABASE_INVALID_HANDLE
5121
Невалидный хендл базы данных
ERR_DATABASE_TOO_MANY_OBJECTS
5122
Превышено максимально допустимое количество объектов Database
ERR_DATABASE_CONNECT
5123
Ошибка подключения к базе данных
ERR_DATABASE_EXECUTE
5124
Ошибка выполнения запроса
ERR_DATABASE_PREPARE
5125
Ошибка создания запроса
ERR_DATABASE_NO_MORE_DATA
5126
Данных для чтения больше нет
ERR_DATABASE_STEP
5127
Ошибка перехода к следующей записи запроса
ERR_DATABASE_NOT_READY
5128
Данные для чтения результатов запроса еще не готовы
ERR_DATABASE_BIND_PARAMETERS
5129
Ошибка автоподстановки параметров в SQL-запрос
ERR_DATABASE_QUERY_NOT_READONLY
5130
Работа с WebRequest()
ERR_WEBREQUEST_INVALID_ADDRESS
5200
URL не прошел проверку
ERR_WEBREQUEST_CONNECT_FAILED
5201
Не удалось подключиться к указанному URL
ERR_WEBREQUEST_TIMEOUT
5202
Превышен таймаут получения данных
ERR_WEBREQUEST_REQUEST_FAILED
5203
Ошибка в результате выполнения HTTP запроса
Работа с сетью (сокетами)
ERR_NETSOCKET_INVALIDHANDLE
5270
В функцию передан неверный хэндл сокета
ERR_NETSOCKET_TOO_MANY_OPENED
5271
Открыто слишком много сокетов (максимум 128)
ERR_NETSOCKET_CANNOT_CONNECT
5272
Ошибка соединения с удаленным хостом
ERR_NETSOCKET_IO_ERROR
5273
Ошибка отправки/получения данных из сокета
ERR_NETSOCKET_HANDSHAKE_FAILED
5274
Ошибка установления защищенного соединения (TLS Handshake)
ERR_NETSOCKET_NO_CERTIFICATE
5275
Отсутствуют данные о сертификате, которым защищено подключение
Пользовательские символы
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_CALENDAR_MORE_DATA
5400
Размер массива недостаточен для получения описаний всех значений
ERR_CALENDAR_TIMEOUT
5401
Превышен лимит запроса по времени
ERR_CALENDAR_NO_DATA
5402
Страна не найдена
Работа с базами данных
ERR_DATABASE_ERROR
5601
Общая ошибка
ERR_DATABASE_LOGIC
5602
Внутренняя логическая ошибка в SQLite
ERR_DATABASE_PERM
5603
Отказано в доступе
ERR_DATABASE_ABORT
5604
Процедура обратного вызова запросила прерывание
ERR_DATABASE_BUSY
5605
Файл базы данных заблокирован
ERR_DATABASE_LOCKED
5606
Таблица в базе данных заблокирована
ERR_DATABASE_NOMEM
5607
Сбой malloc ()
ERR_DATABASE_READONLY
5608
Попытка записи в базу данных, доступной только для чтения
ERR_DATABASE_INTERRUPT
5609
Операция прекращена с помощью sqlite3_interrupt ()
ERR_DATABASE_IOERR
5610
Ошибка дискового ввода-вывода
ERR_DATABASE_CORRUPT
5611
Образ диска базы данных испорчен
ERR_DATABASE_NOTFOUND
5612
Неизвестный код операции в sqlite3_file_control ()
ERR_DATABASE_FULL
5613
Ошибка вставки, так как база данных заполнена
ERR_DATABASE_CANTOPEN
5614
Невозможно открыть файл базы данных
ERR_DATABASE_PROTOCOL
5615
Ошибка протокола блокировки базы данных
ERR_DATABASE_EMPTY
5616
Только для внутреннего использования
ERR_DATABASE_SCHEMA
5617
Схема базы данных изменена
ERR_DATABASE_TOOBIG
5618
Строка или BLOB превышает ограничение по размеру
ERR_DATABASE_CONSTRAINT
5619
Прервано из-за нарушения ограничения
ERR_DATABASE_MISMATCH
5620
Несоответствие типов данных
ERR_DATABASE_MISUSE
5621
Ошибка неправильного использования библиотеки
ERR_DATABASE_NOLFS
5622
Использование функций операционной системы, не поддерживаемых на хосте
ERR_DATABASE_AUTH
5623
Отказано в авторизации
ERR_DATABASE_FORMAT
5624
Не используется
ERR_DATABASE_RANGE
5625
2-й параметр для sqlite3_bind находится вне диапазона
ERR_DATABASE_NOTADB
5626
Открытый файл не является файлом базы данных
Методы матриц и векторов
ERR_MATRIX_INTERNAL
5700
Внутренняя ошибка исполняющей подсистемы матриц/векторов
ERR_MATRIX_NOT_INITIALIZED
5701
Матрица/вектор не инициализирован
ERR_MATRIX_INCONSISTENT
5702
Несогласованный размер матриц/векторов в операции
ERR_MATRIX_INVALID_SIZE
5703
Некорректный размер матрицы/вектора
ERR_MATRIX_INVALID_TYPE
5704
Некорректный тип матрицы/вектора
ERR_MATRIX_FUNC_NOT_ALLOWED
5705
Функция недоступна для данной матрицы/вектора
ERR_MATRIX_CONTAINS_NAN
5706
Матрица/вектор содержит нечисла (Nan/Inf)
ONNX модели
ERR_ONNX_INTERNAL
5800
Внутренняя ошибка ONNX стандарта
ERR_ONNX_NOT_INITIALIZED
5801
Ошибка инициализации ONNX Runtime API
ERR_ONNX_NOT_SUPPORTED
5802
Свойство или значение неподдерживаются языком MQL5
ERR_ONNX_RUN_FAILED
5803
Ошибка запуска ONNX runtime API
ERR_ONNX_INVALID_PARAMETERS_COUNT
5804
В OnnxRun передано неверное количество параметров
ERR_ONNX_INVALID_PARAMETER
5805
Некорректное значение параметра
ERR_ONNX_INVALID_PARAMETER_TYPE
5806
Некорректный тип параметра
ERR_ONNX_INVALID_PARAMETER_SIZE
5807
Некорректный размер параметра
ERR_ONNX_WRONG_DIMENSION
5808
Размерность тензора не задана или указана неверно
Пользовательские ошибки
ERR_USER_ERROR_FIRST
65536
С этого кода начинаются ошибки, задаваемые пользователем
Hi
Trying to use copybuffer for some indicators, but it is returning error 4807 when running. I tried it for stochastics and Adaptive Moving Average, with the same error. Could only make it work for the Simple Move Average.
Thank you
input int Kperiod=5; input int Dperiod=3; input int slowing=3; input ENUM_MA_METHOD ma_method=MODE_SMA; input ENUM_STO_PRICE price_field=STO_LOWHIGH; input string symbol=" "; input ENUM_TIMEFRAMES period=PERIOD_CURRENT; int handle; string name=symbol; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- MqlParam pars[5]; //--- o período K para cálculos pars[0].type=TYPE_INT; pars[0].integer_value=Kperiod; //--- o período D para suavização primária pars[1].type=TYPE_INT; pars[1].integer_value=Dperiod; //--- o período K final para suavização pars[2].type=TYPE_INT; pars[2].integer_value=slowing; //--- tipo de suavização pars[3].type=TYPE_INT; pars[3].integer_value=ma_method; //--- método de cálculo do Estocástico pars[4].type=TYPE_INT; pars[4].integer_value=price_field; handle=IndicatorCreate(name,period,IND_STOCHASTIC,5,pars); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- double _stoch[]; ArraySetAsSeries(_stoch, true); if (CopyBuffer(handle,0,0,20,_stoch) < 0){Print("stoch error =",GetLastError());} } //+------------------------------------------------------------------+
Все приказы на совершение торговых операций отправляются в виде структуры торгового запроса 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 |
С этого кода начинаются ошибки, задаваемые пользователем |
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
Общее число элементов в массиве не может превышать 2147483647
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_UNSUPPORTED_TYPE
4017
Неподдерживаемый тип ресурса или размер более 16 MB
ERR_RESOURCE_NAME_IS_TOO_LONG
4018
Имя ресурса превышает 63 символа
ERR_MATH_OVERFLOW
4019
При вычислении математической функции произошло переполнение
ERR_SLEEP_ERROR
4020
Выход за дату окончания тестирования после вызова Sleep()
ERR_PROGRAM_STOPPED
4022
Тестирование было прекращено принудительно извне. Например, прервана оптимизацию, или закрыто окно визуального тестирования, или остановлен агент тестирования
ERR_INVALID_TYPE
4023
Неподходящий тип
ERR_INVALID_HANDLE
4024
Невалидный хендл
ERR_TOO_MANY_OBJECTS
4025
Пул объектов заполнен
Графики
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
Принимающий массив слишком мал чтобы вместить все запрошенные данные
Глобальные переменные терминала
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_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 устройства
Работа с базами данных
ERR_DATABASE_INTERNAL
5120
Внутренняя ошибка базы данных
ERR_DATABASE_INVALID_HANDLE
5121
Невалидный хендл базы данных
ERR_DATABASE_TOO_MANY_OBJECTS
5122
Превышено максимально допустимое количество объектов Database
ERR_DATABASE_CONNECT
5123
Ошибка подключения к базе данных
ERR_DATABASE_EXECUTE
5124
Ошибка выполнения запроса
ERR_DATABASE_PREPARE
5125
Ошибка создания запроса
ERR_DATABASE_NO_MORE_DATA
5126
Данных для чтения больше нет
ERR_DATABASE_STEP
5127
Ошибка перехода к следующей записи запроса
ERR_DATABASE_NOT_READY
5128
Данные для чтения результатов запроса еще не готовы
ERR_DATABASE_BIND_PARAMETERS
5129
Ошибка автоподстановки параметров в SQL-запрос
ERR_DATABASE_QUERY_NOT_READONLY
5130
Работа с WebRequest()
ERR_WEBREQUEST_INVALID_ADDRESS
5200
URL не прошел проверку
ERR_WEBREQUEST_CONNECT_FAILED
5201
Не удалось подключиться к указанному URL
ERR_WEBREQUEST_TIMEOUT
5202
Превышен таймаут получения данных
ERR_WEBREQUEST_REQUEST_FAILED
5203
Ошибка в результате выполнения HTTP запроса
Работа с сетью (сокетами)
ERR_NETSOCKET_INVALIDHANDLE
5270
В функцию передан неверный хэндл сокета
ERR_NETSOCKET_TOO_MANY_OPENED
5271
Открыто слишком много сокетов (максимум 128)
ERR_NETSOCKET_CANNOT_CONNECT
5272
Ошибка соединения с удаленным хостом
ERR_NETSOCKET_IO_ERROR
5273
Ошибка отправки/получения данных из сокета
ERR_NETSOCKET_HANDSHAKE_FAILED
5274
Ошибка установления защищенного соединения (TLS Handshake)
ERR_NETSOCKET_NO_CERTIFICATE
5275
Отсутствуют данные о сертификате, которым защищено подключение
Пользовательские символы
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_CALENDAR_MORE_DATA
5400
Размер массива недостаточен для получения описаний всех значений
ERR_CALENDAR_TIMEOUT
5401
Превышен лимит запроса по времени
ERR_CALENDAR_NO_DATA
5402
Страна не найдена
Работа с базами данных
ERR_DATABASE_ERROR
5601
Общая ошибка
ERR_DATABASE_LOGIC
5602
Внутренняя логическая ошибка в SQLite
ERR_DATABASE_PERM
5603
Отказано в доступе
ERR_DATABASE_ABORT
5604
Процедура обратного вызова запросила прерывание
ERR_DATABASE_BUSY
5605
Файл базы данных заблокирован
ERR_DATABASE_LOCKED
5606
Таблица в базе данных заблокирована
ERR_DATABASE_NOMEM
5607
Сбой malloc ()
ERR_DATABASE_READONLY
5608
Попытка записи в базу данных, доступной только для чтения
ERR_DATABASE_INTERRUPT
5609
Операция прекращена с помощью sqlite3_interrupt ()
ERR_DATABASE_IOERR
5610
Ошибка дискового ввода-вывода
ERR_DATABASE_CORRUPT
5611
Образ диска базы данных испорчен
ERR_DATABASE_NOTFOUND
5612
Неизвестный код операции в sqlite3_file_control ()
ERR_DATABASE_FULL
5613
Ошибка вставки, так как база данных заполнена
ERR_DATABASE_CANTOPEN
5614
Невозможно открыть файл базы данных
ERR_DATABASE_PROTOCOL
5615
Ошибка протокола блокировки базы данных
ERR_DATABASE_EMPTY
5616
Только для внутреннего использования
ERR_DATABASE_SCHEMA
5617
Схема базы данных изменена
ERR_DATABASE_TOOBIG
5618
Строка или BLOB превышает ограничение по размеру
ERR_DATABASE_CONSTRAINT
5619
Прервано из-за нарушения ограничения
ERR_DATABASE_MISMATCH
5620
Несоответствие типов данных
ERR_DATABASE_MISUSE
5621
Ошибка неправильного использования библиотеки
ERR_DATABASE_NOLFS
5622
Использование функций операционной системы, не поддерживаемых на хосте
ERR_DATABASE_AUTH
5623
Отказано в авторизации
ERR_DATABASE_FORMAT
5624
Не используется
ERR_DATABASE_RANGE
5625
2-й параметр для sqlite3_bind находится вне диапазона
ERR_DATABASE_NOTADB
5626
Открытый файл не является файлом базы данных
Методы матриц и векторов
ERR_MATRIX_INTERNAL
5700
Внутренняя ошибка исполняющей подсистемы матриц/векторов
ERR_MATRIX_NOT_INITIALIZED
5701
Матрица/вектор не инициализирован
ERR_MATRIX_INCONSISTENT
5702
Несогласованный размер матриц/векторов в операции
ERR_MATRIX_INVALID_SIZE
5703
Некорректный размер матрицы/вектора
ERR_MATRIX_INVALID_TYPE
5704
Некорректный тип матрицы/вектора
ERR_MATRIX_FUNC_NOT_ALLOWED
5705
Функция недоступна для данной матрицы/вектора
ERR_MATRIX_CONTAINS_NAN
5706
Матрица/вектор содержит нечисла (Nan/Inf)
ONNX модели
ERR_ONNX_INTERNAL
5800
Внутренняя ошибка ONNX стандарта
ERR_ONNX_NOT_INITIALIZED
5801
Ошибка инициализации ONNX Runtime API
ERR_ONNX_NOT_SUPPORTED
5802
Свойство или значение неподдерживаются языком MQL5
ERR_ONNX_RUN_FAILED
5803
Ошибка запуска ONNX runtime API
ERR_ONNX_INVALID_PARAMETERS_COUNT
5804
В OnnxRun передано неверное количество параметров
ERR_ONNX_INVALID_PARAMETER
5805
Некорректное значение параметра
ERR_ONNX_INVALID_PARAMETER_TYPE
5806
Некорректный тип параметра
ERR_ONNX_INVALID_PARAMETER_SIZE
5807
Некорректный размер параметра
ERR_ONNX_WRONG_DIMENSION
5808
Размерность тензора не задана или указана неверно
Пользовательские ошибки
ERR_USER_ERROR_FIRST
65536
С этого кода начинаются ошибки, задаваемые пользователем
Все приказы на совершение торговых операций отправляются в виде структуры торгового запроса 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 |
С этого кода начинаются ошибки, задаваемые пользователем |
In advisor used 3 Moving Average and each MA has its own buffer, but CopyBuffer
never returns requested bars counter for a second MA. Only first MA ExtFastBuffer
got buffer values, everything else stays empty and theirs CopyBuffer
return error 4806. What is my mistake?
#property indicator_buffers 3
input ENUM_TIMEFRAMES ma_fast_timeframe = PERIOD_M1;
input int ma_fast_period = 2;
input ENUM_APPLIED_PRICE ma_fast_price_type = PRICE_MEDIAN;
input ENUM_TIMEFRAMES ma_middle_timeframe = PERIOD_M1;
input int ma_middle_period = 15;
input ENUM_APPLIED_PRICE ma_middle_price_type = PRICE_MEDIAN;
input ENUM_TIMEFRAMES ma_slow_timeframe = PERIOD_M1;
input int ma_slow_period = 30;
input ENUM_APPLIED_PRICE ma_slow_price_type = PRICE_MEDIAN;
int ExtFastHandle;
int ExtMiddleHandle;
int ExtSlowHandle;
double ExtFastBuffer[];
double ExtMiddleBuffer[];
double ExtSlowBuffer[];
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int OnInit()
{
SetIndexBuffer(0, ExtFastBuffer, INDICATOR_CALCULATIONS);
SetIndexBuffer(1, ExtMiddleBuffer, INDICATOR_CALCULATIONS);
SetIndexBuffer(2, ExtSlowBuffer, INDICATOR_CALCULATIONS);
IndicatorSetInteger(INDICATOR_DIGITS,_Digits+1);
ExtFastHandle = iMA(NULL, ma_fast_timeframe, ma_fast_period, 0, MODE_SMA, ma_fast_price_type);
ExtMiddleHandle = iMA(NULL, ma_middle_timeframe, ma_middle_period, 0, MODE_SMA, ma_middle_price_type);
ExtSlowHandle = iMA(NULL, ma_slow_timeframe, ma_slow_period, 0, MODE_SMA, ma_slow_price_type);
if(ExtFastHandle == INVALID_HANDLE || ExtMiddleHandle == INVALID_HANDLE || ExtSlowHandle == INVALID_HANDLE)
{
Print("Error creating MA indicator-----------------------------------------------------------------------");
return(INIT_FAILED);
}
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void OnTick()
{
int startFromIndex = 0;
int bufferSize = 2;
//---------------- Fast MA
if(CopyBuffer(ExtFastHandle, 0, startFromIndex, bufferSize, ExtFastBuffer) < 2)
{
Print("Loading ExtFastHandle failed ", GetLastError());
}
ENUM_ORDER_TYPE fastDir = ExtFastBuffer[0] == ExtFastBuffer[1] ? NULL : (ExtFastBuffer[0] < ExtFastBuffer[1] ? ORDER_TYPE_BUY : ORDER_TYPE_SELL);
//---------------- Middle MA
if(CopyBuffer(ExtMiddleHandle, 1, startFromIndex, bufferSize, ExtMiddleBuffer) < 2)
{
Print("Loading ExtMiddleHandle failed ", GetLastError());
}
ENUM_ORDER_TYPE middleDir = ExtMiddleBuffer[0] == ExtMiddleBuffer[1] ? NULL : (ExtMiddleBuffer[0] < ExtMiddleBuffer[1] ? ORDER_TYPE_BUY : ORDER_TYPE_SELL);
//---------------- Slow MA
if(CopyBuffer(ExtSlowHandle, 2, startFromIndex, bufferSize, ExtSlowBuffer) < 2)
{
Print("Loading ExtSlowHandle failed ", GetLastError());
}
ENUM_ORDER_TYPE slowDir = ExtSlowBuffer[0] == ExtSlowBuffer[1] ? NULL : (ExtSlowBuffer[0] < ExtSlowBuffer[1] ? ORDER_TYPE_BUY : ORDER_TYPE_SELL);
string fast = fastDir == NULL ? "EMPTY" : fastDir == ORDER_TYPE_BUY ? "BUY" : "SELL";
string middle = middleDir == NULL ? "EMPTY" : middleDir == ORDER_TYPE_BUY ? "BUY" : "SELL";
string slow = slowDir == NULL ? "EMPTY" : slowDir == ORDER_TYPE_BUY ? "BUY" : "SELL";
Comment("Fast: ", fast, " Middle: ", middle, " Slow: ", slow);
}
//+------------------------------------------------------------------+