Mql5 ошибка 10016

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

Запрос отклонен, так как на символе установлено правило «Разрешено только закрывать существующие позиции«

10045

TRADE_RETCODE_FIFO_CLOSE

Запрос отклонен, так как для торгового счета установлено правило «Разрешено закрывать существующие позиции только по правилу FIFO» (ACCOUNT_FIFO_CLOSE=true)

10046

TRADE_RETCODE_HEDGE_PROHIBITED

Запрос отклонен, так как для торгового счета установлено правило «Запрещено открывать встречные позиции по одному символу«. Например, если на счете имеется позиция Buy, то пользователь не может открыть позицию Sell или выставить отложенный ордер на продажу. Правило может применяться только на счетах с хеджинговой системой учета (ACCOUNT_MARGIN_MODE=ACCOUNT_MARGIN_MODE_RETAIL_HEDGING).

Calin Trainer:

Stuart: i cannot open the mql5.com from my browser anymore, unless i use a special VPN connection to spoof my IP.

Calin

I say again, you have NOT been banned (yet!). If you were banned, no amount of «IP Spoofing» would let you post under your name on this forum. Plus your name would appear with a strike through it to show you have been banned (which it doesn’t). It sounds to me like your settings need to be adjusted. Go into your profile, click settings->privacy and unclick all of the «Binding to IP» checkboxes. That should fix that problem.

Now as for your threatening and abusive language in your last post, that will NOT BE TOLERATED against ANY user, be they a moderator or not. Please consider this you first and final warning.

Thank you for your cooperation. 

apt.ru

Timeweb — компания, которая размещает проекты клиентов в Интернете, регистрирует адреса сайтов и предоставляет аренду виртуальных и физических серверов. Разместите свой сайт в Сети — расскажите миру о себе!

Разместите свой сайт в Timeweb

Виртуальный хостинг

Быстрая загрузка вашего сайта, бесплатное доменное имя, SSL-сертификат и почта. Первоклассная круглосуточная поддержка.

Аренда VDS и VPS

Виртуальные серверы с почасовой оплатой. Меняйте конфигурацию сервера в любой момент и в пару кликов.

VDS

Выделенные серверы

Аренда физических серверов любых конфигураций — готовые сборки или под заказ.

Выделенные серверы

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

Запрос отклонен, так как на символе установлено правило «Разрешено только закрывать существующие позиции«

10045

TRADE_RETCODE_FIFO_CLOSE

Запрос отклонен, так как для торгового счета установлено правило «Разрешено закрывать существующие позиции только по правилу FIFO» (ACCOUNT_FIFO_CLOSE=true)

10046

TRADE_RETCODE_HEDGE_PROHIBITED

Запрос отклонен, так как для торгового счета установлено правило «Запрещено открывать встречные позиции по одному символу«. Например, если на счете имеется позиция Buy, то пользователь не может открыть позицию Sell или выставить отложенный ордер на продажу. Правило может применяться только на счетах с хеджинговой системой учета (ACCOUNT_MARGIN_MODE=ACCOUNT_MARGIN_MODE_RETAIL_HEDGING).

Все приказы на совершение торговых операций отправляются в виде структуры торгового запроса 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

С этого кода начинаются ошибки, задаваемые пользователем

Обновлено 19.08.2021

Ошибка 10016

Доброго времени суток, уважаемые читатели, сегодня решаем ошибку 10016 параметры разрешений для конкретного приложения не дают разрешения Локально Активация для приложения COM-сервера с CLSID {D63B10C5-BB46-4990-A94F-E40B9D520160} и APPID {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} в Windows server 2012 R2.

Ошибка 10016 в windows 10 и Windows Server

На сервере Windows Server 2012 R2 постоянно возникает ошибка 10016.

Имя журнала: Система
Источник: DistributedCOM
Код: 10016

{D63B10C5-BB46-4990-A94F-E40B9D520160}

{D63B10C5-BB46-4990-A94F-E40B9D520160}

Параметры разрешений для конкретного приложения не дают разрешения Локально Активация для приложения COM-сервера с CLSID
{D63B10C5-BB46-4990-A94F-E40B9D520160}
и APPID
{9CA88EE3-ACB7-47C8-AFC4-AB702511C276} или {316CDED5-E4AE-4B15-9113-7055D84DCC97} или {4839DDB7-58C2-48F5-8283-E1D1807D0D7D}
пользователю NT AUTHORITYСИСТЕМА с ИД безопасности (S-1-5-18) и адресом LocalHost (с использованием LRPC), выполняемого в контейнере приложения Недоступно с ИД безопасности (Недоступно). Это разрешение безопасности можно изменить с помощью средства администрирования служб компонентов.

Событие 10016

The application-specific permission settings do not grant Local Activation permission for the COM Server application with CLSID
{6B3B8D23-FA8D-40B9-8DBD-B950333E2C52}
and APPID
{4839DDB7-58C2-48F5-8283-E1D1807D0D7D}
to the user NT AUTHORITYLOCAL SERVICE SID (S-1-5-19) from address LocalHost (Using LRPC) running in the application container Unavailable SID (Unavailable). This security permission can be modified using the Component Services administrative tool.

{316CDED5-E4AE-4B15-9113-7055D84DCC97}

Данная ошибка выскакивает, когда какая-то из утилит не может обратиться к DCOM объекту, чаще всего, это связано с недостаточностью разрешений. Был реализован шаблон кодирования, где код сначала пытается получить доступ к компонентам DCOM с одним набором параметров. Если первая попытка не удалась, она пытается снова с другим набором параметров. Причина, по которой он не пропускает первую попытку, заключается в том, что существуют сценарии, в которых он может быть успешным. В этих сценариях это предпочтительнее. Если вы не в курсе, что такое COM объекты и DCOM, то если по простому, это концепция для создания программного обеспечения на основе взаимодействующих компонентов объекта, каждый из которых может использоваться во многих программах одновременно. На основе COM были созданы ActiveX, DCOM, COM+, DirectX, .Net.

  • {316CDED5-E4AE-4B15-9113-7055D84DCC97} — Кнопка пуск (Immersive Shell) — интерфейс метро
  • {4839DDB7-58C2-48F5-8283-E1D1807D0D7D} — ShellServiceHost
  • {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} — RuntimeBroker

Подробнее вы можете почитать в вики https://ru.wikipedia.org/wiki/Component_Object_Model

Сначала нужно обновить Windows через центр обновления, и если не поможет, то делаем по очереди предложенные решения:

  • Назначаем недостающие права на ветку с GUID номером {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} или другим, зависит от вашей ситуации с кодом ошибки 10016
  • Удаление некоторых ключей реестра
  • Использование скрипта PowerShell
  1. Сразу логинимся на проблемный сервер под администратором, чтобы не вводить всякий раз имя и пароль. Запускаем Regedit.
  2. Запускаем поиск (CTRL+F) и ищем второй из GUIDов в описании ошибки, т.е. APPID. В данном случае это «{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}».Ошибка 10016
  3. Первый результат поиска должен быть в ключе HKEY_CLASSES_ROOTAppID. Наступаем на найденный GUID в левой панели и щелкаем правой кнопкой, выбираем Разрешения, а затем кнопку Дополнительно.Меняем права для устранения ошибки 10016
  4. В верхней части дополнительных параметров указан текущий владелец TrustedInstaller. Нажимаем рядом с ним ссылку Изменить.Изменение владельца
  5. Нам нужно сделать владельцем локальную группу Администраторы. Затем кнопки Дополнительно, Поиск и выбираем в результатах поиска Администраторы. код ошибки 10016
  6. Ставим флажок «Заменить владельца подконтейнеров и объектов», кнопка ОК.Заменить владельца подконтейнеров
  7. После смены владельца мы можем изменять разрешения. В окне Разрешения на вкладке Безопасность даем для СИСТЕМА и Администраторы разрешение на полный доступ. ОК.
  8. Далее смотрим для нашего ключа HKEY_CLASSES_ROOTAppID{9CA88EE3-ACB7-47C8-AFC4-AB702511C276} значение параметра «(По умолчанию)» = «RuntimeBroker«.

Ошибка 10016 в windows-1
8. В диспетчере серверов в правом верхнем углу меню Средства -> Службы компонентов. Открываем Компьютеры –> Мой компьютер –> Настройка DCOM. Правый клик по строке из п.7 RuntimeBroker, Свойства.

Ошибка 10016 в windows-2
9. На вкладке Безопасность. В разделе Разрешения на запуск и активацию кнопка Изменить. Для группы СИСТЕМА разрешаем Локальный запуск и Локальная активация. ОК. Если вам runtimebroker не дает отредактировать настройки, то вам нужно дать права на него в реестре Windows

Не дает отредактировать службу dcom при ошибке 10016

Открываем редактор реестра Windows. Переходим в ветку

HKEY_CLASSES_ROOTAppIDRuntimeBroker.exe

щелкаем по нему правым кликом и выбираем свойства.

runtimebroker exe windows 10-2

Даем права для группы администраторы (Полный доступ)

runtimebroker exe windows 10-3

Если не даст вам поставить, то вам нужно заменить владельца Trustinstaller на себя или группу администраторы. Как только дали права, идем опять в компоненты DCOM и выставляем права, как описывал выше.

runtimebroker exe windows 10-4

10. Перезагружаем сервер, проверяем логи, по сути ошибку 10016 параметры разрешений для конкретного приложения не дают разрешения Локально Активация для приложения COM-сервера с CLSID {D63B10C5-BB46-4990-A94F-E40B9D520160} и APPID {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} вы не должны больше увидеть.

Как исправить ошибку 10016 через удаление ключей из ветки OLe

Данный метод подразумевает удаление нескольких ключей реестра, которые отвечают за проверку прав на COM объекты. Нас будет интересовать ветка реестра:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftOle

Ole — эта ветка управляют параметрами запуска по умолчанию и разрешениями доступа, а также возможностями безопасности на уровне вызовов для приложений на основе COM, которые не вызывают CoInitializeSecurity. Только администраторы, создатель объекта и система имеют полный доступ к этой части реестра. Все остальные пользователи имеют доступ только для чтения.

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

Щелкаем по контейнеру Ole правым кликом и из контекстного меню выберите пункт Экспорт.

Экспорт ветки реестра Ole

Задаем имя экспортируемого ключа. В случае проблем вы всегда сможете его импортировать и вернуть все к исходному состоянию.

Выгрузка ветки реестра при ошибке 10016

Теперь, чтобы исправить ошибку 10016 в Windows 10 или как у меня в Windows Server 2012 R2 или выше, вам необходимо удалить четыре ключа:

  • DefaultAccessPermission — Определяет список разрешений доступа по умолчанию для компьютера. Устанавливает список контроля доступа (ACL) участников, которые могут получить доступ к классам, для которых нет настройки AccessPermission . Этот ACL используется только приложениями, которые не вызывают CoInitializeSecurity и не имеют значения AccessPermission под своим ключом AppID. Среда выполнения COM на сервере проверяет ACL, описываемый этим значением, при олицетворении вызывающей стороны, которая пытается подключиться к объекту, и ее успех определяет, разрешен или запрещен доступ. Если проверка доступа не пройдена, соединение с объектом будет запрещено. Если это именованное значение не существует, только серверу участника и локальной системе разрешается вызывать сервер. По умолчанию это значение не содержит записей. Только принципал сервера и система могут вызывать сервер. Это значение обеспечивает простой уровень централизованного администрирования доступа по умолчанию к подключенным объектам на компьютере.
  • DefaultLaunchPermission — Определяет список запуска по умолчанию для компьютера. Определяет список контроля доступа (ACL) участников, которые могут запускать классы, которые не указывают свой собственный ACL через значение реестра LaunchPermission. Права доступа по умолчанию следующие: Администраторы: разрешить запуск, СИСТЕМА: разрешить запуск, ИНТЕРАКТИВНО: разрешить запуск. Если значение LaunchPermission установлено для сервера, оно имеет приоритет над значением DefaultLaunchPermission . После получения локального или удаленного запроса на запуск сервера, у которого ключ AppID не имеет собственного значения LaunchPermission, проверяется ACL, описанный этим значением, при олицетворении клиента, и его успех разрешает или запрещает запуск кода класса.Это значение обеспечивает простой уровень централизованного администрирования запуска по умолчанию для доступа к другим незарегистрированным классам на компьютере. Например, администратор может использовать инструмент DCOMCNFG для настройки системы, чтобы разрешить доступ только для чтения для опытных пользователей. Поэтому OLE будет ограничивать запросы на запуск кода класса членами группы «Опытные пользователи». Впоследствии администратор может настроить разрешения на запуск для отдельных классов, чтобы предоставить возможность запуска кода класса другим группам или отдельным пользователям по мере необходимости.
  • MachineAccessRestriction — Устанавливает политику ограничения на уровне компьютера для доступа к компоненту. Принципалы, которым здесь не предоставлены разрешения, не могут получить их, даже если разрешения предоставляются значением реестра DefaultAccessPermission или функцией CoInitializeSecurity. По умолчанию члены группы «Все» могут получать разрешения на локальный и удаленный доступ, а анонимные пользователи могут получать разрешения на локальный доступ.
  • MachineLaunchRestriction — Устанавливает политику ограничения на уровне компьютера для запуска и активации компонента. Принципалы, которым здесь не предоставлены разрешения, не могут получить их, даже если разрешения предоставляются значением реестра DefaultAccessPermission или функцией CoInitializeSecurity. По умолчанию администраторы могут получать разрешения на локальный и удаленный запуск и активацию, а члены группы «Все» могут получать разрешения на локальную активацию и запуск.

Подробнее о данной ветке можно почитать по адресу https://docs.microsoft.com/en-us/windows/win32/com/hkey-local-machine-software-microsoft-ole

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

Устранение ошибки 10016

Исправление ошибки 10016 через PowerShell

Если вам не удалось изменить запуск службы для системы, то можно все поправить и избавиться от сообщений «APPID
{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}
пользователю NT AUTHORITYСИСТЕМА с ИД безопасности (S-1-5-18) и адресом LocalHost (с использованием LRPC), выполняемого в контейнере приложения Недоступно с ИД безопасности (Недоступно)» с помощью скрипта PowerShell. Открываем ссылку с Microsoft

https://gallery.technet.microsoft.com/Grant-Revoke-Get-DCOM-22da5b96

Или во тут

Скачиваем тут сценарий DCOMPermissions.psm1

Исправление 10016 через powershell

Кладем данный модуль в нужную вам папку. Далее вы открываете консоль PowerShell и переходите в месторасположение данного модуля, после чего его нужно импортировать:

Import-Module .DCOMPermissions.psm1

Grant-DCOMPermission -ApplicationID «{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}» -Account «SYSTEM» -Type Launch -Permissions LocalLaunch,LocalActivation -OverrideConfigurationPermissions

Если ошибок не вышло, то значит все успешно применено, перезагрузка не потребуется.

Исправление ошибки dcom в powershell

Далее вы можете посмотреть примененные разрешения:

GetDCOMPermission ApplicationID «{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}» Type Launch

Вы увидите права у системы, у нее будет SID S-1-5-10.

ошибка 10016

На этом у меня все, мы успешно устранили ошибку DCOM 10016.  Я должен подчеркнуть, что ошибка DCOM 10016 вряд ли повлияет на производительность вашей системы. В очень старые времена, когда Microsoft впервые представила «Distributed» в компонентной объектной модели, были уязвимости. Однако эти уязвимости были исправлены, и DCOM теперь безопасен. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.

Ошибка DistributedCOM с кодом события 10016 в Windows 11/10  — одна из самых известных проблем с которой пользователи сталкиваются в системном журнале. Эта ошибка запускается, когда определенные процессы не содержат прав доступа к компонентам DCOM, которые упоминаются в журналах событий. Это ограничивает безупречную работу компьютера, что в конечном итоге раздражает пользователей. Система сразу же забивает «Просмотрщик событий» тысячами сообщений с показам событий.

В ходе расследования выясняется, что при попытке запустить сервер DCOM с помощью приложения у вас нет никаких прав на это, и вы получите приведенную ниже ошибку в средстве просмотра событий: «Параметры разрешений для конкретного приложения не дают разрешения Локальной Активации для приложения COM-сервера«.

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

Исправление кода события 10016 Ошибки DistributedCOM

Это самый быстрый и простой способ, чтобы исправить ошибку DistributedCOM с кодом события 10016, но менее надежный.

Нажмите Win+R и введите regedit, чтобы запустить редактор реестра. В реестре перейдите по пути:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftOle
  • Удалите следующие значения (некоторых может не быть): DefaultAccessPermission, DefaultLaunchPermission, MachineAccessRestriction, MachineLaunchRestriction.HKEY_LOCAL_MACHINE SOFTWARE Microsoft Ole

Перезагрузите ПК и проверьте, появляется ли ошибка. Если да, то следуем ниже большому способу из 3 пунктов, где мы зададим привилегии для определенного DCOM.

Проверка процесса

1. Прежде всего должны отсортировать процесс или службу, связанную с кодом ошибки 10016. Далее вы найдете описание ошибки чуть ниже во вкладке «общие» или «подробности». Из описания скопируйте CLSID. Он может выглядеть как {D63B10C5… .

Ошибка 10016 DistributedCOM

2. Отроем теперь редактор реестра. Нажмите сочетание кнопок Win+R и введите regedit.

win+r

3. В редакторе реестра выделите «Компьютер» одним нажатием мышки и нажмите «Правка» > «Найти«.

поиск ключей в реестре

  1. Введите в поле поиска свой CLSID ключ, который типа {D63B10C5… . Поставьте галочку искать только «имена разделов».
  2. Вам выдаст ключ в правой стороне, выделите его мышкой один раз.
  3. В правом поле у вас будет ключ «По умолчанию» со значением RuntimeBroker. Запомните это значение оно нам пригодится в дальнейшим.

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

ключ реестра RuntimeBroker

Открытие сервисов компонентов

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

Службы компонентов запуск от имени админа

Перейдите по следующему пути Службы компонентов > Компьютеры > Мой компьютер > Настройка DCOM > и найдите в списке RuntimeBroker.

В некоторых случаях может быть два файла с этим именем. Вам нужно выяснить, какой файл несет ответственность за ошибку, что ниже мы и сделаем.

Компонент RuntimeBroker


  1. Нажмите по очереди на двух файлов с именем RuntimeBroker правой кнопкой мыши выберите «Свойства«.
  2. Во вкладке «Общие» у вас будет «Код приложения» запомните его на двух файлах RuntimeBroker.
  3. Сравните код с ошибкой в «Журнале событий». APPID в журнале с ошибкой, должен соответствовать коду приложения в файле RuntimeBroker.

Определение кода приложения

Исправление разрешений

Наконец, когда вы удостоверились, что это именно тот файл выдает ошибку, то проделайте следующие шаги:

  • Нажмите в свойствах RuntimeBroker вкладку «Безопасность«.
  • Кнопка «настроить» должна быть активной.
  • Проделайте ниже шаги чтобы активировать настройки. (Не Запуск сценария PowerShell).

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

Запуск сценария PowerShell

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

1. Нажмите сочетание кнопок Win+X и выберите Windows PowerShell (администратор).

2. Загрузите файл с кодом ниже. Разархивируйте скаченный архив, в нем содержится текстовый файл с кодом.

3. Вставьте скаченный скрипт с файла в командную строку PowerShell.

PowerShell исправление ошибки 10016 DistributedCOM


Разрешение на запуск и активацию


  • 1-2. Скопируйте «Код приложения» в службах и компонентах, компонента RuntimeBroker.
  • 3. Откройте редактор реестра, нажмите «правка» > «найти» и вставьте код приложения, который до этого скопировали. Нажмите правой кнопкой мыши на найденным ключе в реестре и выберите «Разрешения«.
  • 4. далее в окне нажмите «Дополнительно«.

Добавление прав разрешений в реестре


  1. В окне сверху «Владелец» нажмите «Изменить«.
  2. В следующим окне нажмите внизу «Дополнительно«.
  3. Нажмите справа «Поиск» и ниже со списка выберите «Администраторы«.

Добавить расширенные права пользователей


  • Теперь переходим обратно в компоненты к свойству файла RuntimeBroker и мы видим, что теперь кнопка «настроить» стала интерактивной.
  • Выскочит предупреждающее окно нажмите Удалить, если вам не мог код сценария powerShell.
  • Нажмите Отмена, если вам помог код сценария powerShell.
  • Нажмите Изменить напротив кнопки «настроить» в графе «разрешения на запуск и активацию».

Настройка рунтаймброкер компонента

Добавим группы система и local service.

  1. В окне, где имеются учетные записи нажмите «Добавить«.
  2. Ниже кнопка «Дополнительно«.
  3. Нажмите «Поиск» с боку.
  4. Найдите локальную службу LOCAL SERVICE и нажмите OK.

Добавить локальную службу


Аналогичным способом, что описан выше добавьте «Система«.

Добавление системы


Теперь у вас появились две группы система и local service, нажмите на каждую из них и поставьте галочки в пунктах «Локальный запуск» и «Локальная активация».

Перезагрузите компьютер, ноутбук и код события 10016 Ошибка DistributedCOM должен пропасть.

Добавление прав доступа


Смотрите еще:

  • DISM ошибка 87 в командной строке Windows 
  • Ошибка 0x8000ffff при восстановлении системы Windows 10
  • Как исправить Ошибку 0xc1900101 0x20004 при установке Windows 10
  • Как исправить ошибки обновлений Windows 10
  • Как узнать IP-адрес компьютера с помощью PowerShell Windows

[ Telegram | Поддержать ]

Далеко не все ошибки в Windows проявляют себя очевидным образом – аварийным завершением работы приложений, отказом базовых функций управления или появлением окон с тревожными уведомлениями. О том, что в системе случился тот или иной сбой, пользователь может даже не подозревать, если только он не имеет привычки регулярно просматривать Журнал событий. Такие скрытые ошибки, как правило, не являются критичными и в большинстве случаев указывают на некорректную работу компонентов. Примером может служить ошибка 10016 DistributedCOM в Windows 10, регулярно появляющаяся в Журнале событий обычно сразу после загрузки операционной системы.

Появление ошибки 10016 говорит о том, что системная служба DCOM не смогла запустить какое-то приложение по причине отсутствия у системы (пользователя SYSTEM) соответствующих прав. Какое это приложение, можно определить по его APPID-коду в описании. Однако это не столь важно, ведь для исправления неполадки достаточно знать именно APPID и CLSID COM-сервера, который также указан в описании неполадки. Сама же неисправность устраняется предоставлением системе полных прав на запуск приложения.

Перед тем как приступать к активным действиям, необходимо получить список ошибок в оснастке просмотра событий. Открыв ее командой eventvwr, разверните в левой колонке Журналы Windows – Система, справа нажмите «Фильтр текущего журнала» и отсортируйте записи по коду события 10016 и/или источнику.

Поиск всех ошибок 10016 в Журнале событий

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

Параметры APPID и CLSID

Выделите корневой раздел «Компьютер» и выполните поиск по скопированному идентификатору, отметив среди искомых объектов «Имена разделов».

Редактор реестра

oshibka-10016-4

Поиск разделов по APPID

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

Предоставление разрешений шаг 1

Предоставление разрешений шаг 2

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

Предоставление разрешений шаг 3

Предоставление разрешений шаг 4

Предоставление разрешений шаг 5

Предоставление разрешений шаг 6

Предоставление разрешений шаг 7 сохранение изменений

Точно такие же действия выполните в отношении ключа CLSID – найдите в реестре соответствующий ему раздел, поменяйте его владельца на «Администраторы» и предоставьте группе полный доступ. На этом первый этап исправления ошибки 10016 DistributedCOM завершен.

Настройка параметров доступа

Этап 2

Изменив разрешения в реестре, откройте командой comexp.msc или dcomcnfg встроенное приложение «Службы компонентов», разверните в левой колонке ветку настроек так, как показано на скриншоте, и отыщите справа элемент «RuntimeBroker».

RuntimeBroker в окне Служба компонентов

Вполне вероятно у вас будет два таких элемента. Чтобы найти нужный, откройте его свойства и убедитесь, что указанный в них код приложения совпадает с APPID из описания ошибки 10016 DistributedCOM в Журнале событий. Неполадка с кодом события 10016 в Windows 10 может быть связана не только с RuntimeBroker, но и с другими приложениями, возможно, вам придется проверить их все.

Удостоверившись в правильности данных, переключитесь на вкладку «Безопасность» и нажмите кнопку «Изменить» в разделе «Разрешение на запуск и активацию».

Свойства RuntimeBroker

Если система попросит удалить нераспознаваемые записи разрешений, удалите таковые. Теперь нажмите в открывшемся окошке разрешений кнопку «Добавить», затем «Дополнительно», найдите через поиск пользователя LOCAL SERVICE и предоставьте ему разрешения на локальный запуск и на локальную активацию.

Добавление пользователей

Добавление пользователей шаг 2

Добавление пользователей шаг 3

Аналогичным образом добавьте с идентичными правами пользователя СИСТЕМА. Делается это по той же схеме, которая описана выше. Добавив указанных пользователей, последовательно сохраните все настройки и перезагрузите компьютер.

По идее, описанные выше действия должны помочь исправить ошибку 10016 в Windows 10, но, как показывает практика, в ряде случаев администратору не удается получить доступ к настройкам разрешений. Причины тому могут быть разными, а попытки их устранения нередко связаны с определенными рисками. Поэтому, если ошибка DistributedCOM не вызывает явных проблем, лучше проигнорировать ее, чтобы не навредить операционной системе и настройкам безопасности еще больше.

  • 0поделились
  • 0Facebook
  • 0Twitter
  • 0VKontakte
  • 0Odnoklassniki

Далеко не все ошибки в Windows проявляют себя очевидным образом – аварийным завершением работы приложений, отказом базовых функций управления или появлением окон с тревожными уведомлениями. О том, что в системе случился тот или иной сбой, пользователь может даже не подозревать, если только он не имеет привычки регулярно просматривать Журнал событий. Такие скрытые ошибки, как правило, не являются критичными и в большинстве случаев указывают на некорректную работу компонентов. Примером может служить ошибка 10016 DistributedCOM в Windows 10, регулярно появляющаяся в Журнале событий обычно сразу после загрузки операционной системы.

Появление ошибки 10016 говорит о том, что системная служба DCOM не смогла запустить какое-то приложение по причине отсутствия у системы (пользователя SYSTEM) соответствующих прав. Какое это приложение, можно определить по его APPID-коду в описании. Однако это не столь важно, ведь для исправления неполадки достаточно знать именно APPID и CLSID COM-сервера, который также указан в описании неполадки. Сама же неисправность устраняется предоставлением системе полных прав на запуск приложения.

События с идентификатором 10016 записываются в журнал событий, когда компоненты Microsoft обращаются за доступом к компонентам DCOM без требуемых в этом случае разрешений.

Компанией Microsoft создан сценарий работы, при котором системный код обращается за доступом к компонентам DCOM с предпочтительным набором параметров, и если доступ не предоставлен, код обращается снова с другим набором.

Служба поддержки Microsoft сообщает, что указанные ошибки заложены в работу ОС, происходят на всех ОС Windows 10 и могут быть проигнорированы пользователями без последствий для работы системы.

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

Несмотря на то, что это не критическая системная ошибка, заполнение журнала ошибками 100016 может затруднить поиск и диагностику других ошибок на ПК.

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

Как справиться с ошибкой с кодом 10016 — отсутствии разрешений на запуск для приложений COM-сервера

Далеко не все случающиеся в Windows ошибки проявляют себя явно, так что пользователь может даже не подозревать о их наличии пока не откроет раздел «Система» в журнале событий Windows. Сегодня мы постараемся разобрать причины одной из таких ошибок. Встречается она довольно часто, причём во всех версиях Windows начиная с XP, имеет код 10016 и примерно следующее описание:

Параметры разрешений для конкретного приложения не дают разрешения Локально Активация для приложения COM-сервера с CLSID {260EB9DE-5CBE-4BFF-A99A-3710AF55BF1E} и APPID {260EB9DE-5CBE-4BFF-A99A-3710AF55BF1E} пользователю DESKTOP-AEM9850/компик с ИД безопасности…

Здесь приводится лишь часть описания ошибки, на деле оно может быть более объёмным и отличаться в деталях. Из описания следует, что пользователь DESKTOP-AEM9850/компик (пользователем может быть и система) пытается запустить некий COM-компонент, но не может этого сделать по причине отсутствия соответствующих прав. Что за компонент и какое именно приложение вызывает ошибку Windows прямо не указывает, всё что нам известно, это CLSID компонент и идентификатор приложения.

Задача заключается в том, чтобы определить, какому приложению принадлежит идентификатор, а затем предоставить пользователю или системе соответствующие права для его запуска. Проще всего это сделать через реестр. Откройте командой regedit редактор реестра и разверните ветку HKEY_CLASSES_ROOT/AppID. Воспользовавшись встроенным поиском, найдите в подразделе APPID приложения (в нашем примере это {260EB9DE-5CBE-4BFF-A99A-3710AF55BF1E}).

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

И жмём в открывшемся окошке кнопку «Дополнительно».

Как видим, в данном примере владельцем ключа является TrustedInstaller. Заменим его администратором (пользователем DESKTOP-AEM9850).

Кликните по ссылке «Изменить».

Введите имя локального пользователя, нажмите «OK».

Установите галочку «Заменить владельца подконтейнеров и объектов» и еще раз нажмите «OK».

Теперь во второй раз откройте окошко разрешений для группы, выделите в нём администратора, коим был заменён TrustedInstaller, отметьте галочкой чекбокс «Полный доступ» и сохраните новые настройки.

Отлично, возвращаемся в редактор реестра и запоминаем значение параметра по умолчанию для найденного ранее ключа.

У нас это InstallAgent. Далее командой comexp.msc или dcomcnfg в окошке «Выполнить» открываем оснастку «Службы компонентов» и разворачиваем в меню «Компьютеры» -> «Мой компьютер» -> «Настройка DCOM» и находим компонент с именем параметра по умолчанию (InstallAgent). Через контекстное меню вызываем его свойства.

Переключаемся на вкладку «Безопасность», в блоке «Разрешения на запуск и активацию» жмём «Изменить».

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

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

Сделать копию реестра

Прежде чем выполнить шаги по устранению ошибок DCOM 10016, необходимо сделать копию системного реестра. Это позволит восстановить работу ОС в случае ее сбоев.

Также перед выполнением нижеследующих действий необходимо зайти в Windows с правами администратора.

Справка! Первый созданный в Windows 10 пользователь (напр., при инсталляции системы) имеет права администратора.

Шаг 1. Нажать клавиши «Win+R».

Шаг 2. Напечатать в меню «regedit» и щелкнуть «ОК».

Шаг 3. Откроется «Registry Editor» («Редактор реестра»). Нажать «File» («Файл») и щелкнуть «Export» («Экспорт»).

Шаг 4. В следующем окне о («Все»).

Шаг 5. Выбрать папку для размещения копии реестра и ввести ее имя.

Шаг 6. Щелкнуть «Save» («Сохранить»).

Исправление ошибки 10016 через PowerShell

Если вам не удалось изменить запуск службы для системы, то можно все поправить и избавиться от сообщений «APPID {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} пользователю NT AUTHORITYСИСТЕМА с ИД безопасности (S-1-5-18) и адресом LocalHost (с использованием LRPC), выполняемого в контейнере приложения Недоступно с ИД безопасности (Недоступно)» с помощью скрипта PowerShell. Открываем ссылку с Microsoft

https://gallery.technet.microsoft.com/Grant-Revoke-Get-DCOM-22da5b96

Скачиваем тут сценарий DCOMPermissions.psm1

Кладем данный модуль в нужную вам папку. Далее вы открываете консоль PowerShell и переходите в месторасположение данного модуля, после чего его нужно импортировать:

Import-Module .DCOMPermissions.psm1 Grant-DCOMPermission -ApplicationID «{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}» -Account «SYSTEM» -Type Launch -Permissions LocalLaunch,LocalActivation -OverrideConfigurationPermissions

Если ошибок не вышло, то значит все успешно применено, перезагрузка не потребуется.

Далее вы можете посмотреть примененные разрешения:

Get-DCOMPermission -ApplicationID «{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}» -Type Launch

Вы увидите права у системы, у нее будет SID S-1-5-10.

На этом у меня все, мы успешно устранили ошибку DCOM 10016. Я должен подчеркнуть, что ошибка DCOM 10016 вряд ли повлияет на производительность вашей системы. В очень старые времена, когда Microsoft впервые представила «Distributed» в компонентной объектной модели, были уязвимости. Однако эти уязвимости были исправлены, и DCOM теперь безопасен. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.

Признаки возникновения ошибки

Понять, что на компьютере произошла именно ошибка 6008 можно по характерным признакам. С основными из них вы можете ознакомиться ниже:

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

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

Устранение неполадок в WMI

Любой бывалый Windows-админ не раз сталкивался с проблемами в работе службы WMI и ее компонентах.

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

О наличии проблем с WMI может свидетельствовать широкий спектр ошибок:

  • Ошибки обработки WMI запросов в системных журналах и логах приложений
  • Ошибки GPO, завязанные на WMI ( некорректная работа wmi фильтров политик, и пр.)
  • Ошибки в работе / невозможность установки агентов SCCM/SCOM
  • Ошибки в работе скриптов (vbs или powershell), использующих пространство имен WMI

В первую очередь нужно проверить имеется ли в системе служба Windows Management Instrumentation (Winmgmt) и включена ли она.

Если служба присутствует и находится в состоянии Started, рекомендуется протестировать работоспособность WMI, обратившись к ней с помощью простого wmi-запроса. С помощью Powershell, например, это можно сделать так:

get-wmiobject Win32_OperatingSystem

Если при выполнении простейшего WMI-запроса система возвращает ошибку (на скриншоте приведен пример корректного ответа службы WMI), вероятно имеет место некорректное функционирование сервиса WMI или ряда его подсистем, повреждение репозитория WMI или другие проблемы.

Утилита WMIDiag

Для «тонкой» диагностики службы WMI существует официальная утилита Microsoft — WMIDiag (Microsoft WMI Diagnosis).

Утилита представляет собой vbs скрипт, который проверяет различные подсистемы WMI и записывает собранную информацию в лог файлы (по умолчанию логи находятся в каталоге %TEMP% — C:USERS%USERNAME%APPDATALOCALTEMP).

Получившийся отчет состоит из файлов, имена которых начинаются с WMIDIAG-V2.1 и включает в себя следующие типы фалов :

  • .log файлы содержат подробный отчет об активности и работе утилиты WMIDiag
  • .txt файлы содержат итоговые отчеты о найденных ошибках, на которые стоит обратить внимание
  • В .csv файлах содержится информация, нужная для долгосрочного анализа работы подсистемы WMI

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

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

Перерегистрация библиотек WMI и перекомпиляция mof файлов

Следующий скрипт представляет собой «мягкий» вариант восстановления работоспособности службы WMI на отдельно взятом компьютере (выполняется перерегистрация dll библиотек и службы WMI, перекомпилируются mof файлы). Данная процедура является безопасной и ее выполнение не должно привести к каким-либо новым проблемам с системой.

sc config winmgmt start= disabled net stop winmgmt cd %windir%system32wbem for /f %%s in (‘dir /b *.dll’) do regsvr32 /s %%s wmiprvse /regserver winmgmt /regserver sc config winmgmt start= auto net start winmgmt for /f %%s in (‘dir /b *.mof’) do mofcomp %%s for /f %%s in (‘dir /b *.mfl’) do mofcomp %%s

Указанные команды можно выполнить путем простой вставки в окно командой строки, либо сохранить код в bat файле и запустить его с правами администратора. После окончания работы скрипта, систему нужно перезагрузить и вновь проверить работу WMI.

Пересоздание репозитория (хранилища) WMI

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

WMI репозиторий (хранилище) находится в каталоге %windir%System32WbemRepository и представляет собой базу данных, в которой содержится информация о метаданных и определениях WMI классов.

В некоторых случаях репозитория WMI может содержать статическую информацию классов.

При повреждении репозитория WMI, в работе службы Windows Management Instrumentation (Winmgmt) могут наблюдаться ошибки вплоть до полной невозможности ее запустить.

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

В Windows Vista и выше проверить целостность репозитория WMI можно с помощью команды:

winmgmt /verifyrepository

Если команда возвращает, что база данных WMI находится в неконсистентном состоянии (INCONSISTENT), стоит попробовать выполнить «мягкое» восстановление репозитория:

Winmgmt /salvagerepository

И перезапустить службу wmi:

net stop Winmgmtnet start Winmgmt

Если описанная выше команда не помогла, выполняем сброс репозитория на начальное состояние (hard reset) так:

Winmgmt /resetrepository

В том случае, если команды Winmgmt /salvagerepository и Winmgmt /resetrepository желаемого эффекта не дали, стоит попробовать выполнить «жесткое» пересоздание базы WMI вручную таким сценарием:

sc config winmgmt start= disabled net stop winmgmt cd %windir%system32wbem winmgmt /kill winmgmt /unregserver winmgmt /regserver winmgmt /resyncperf if exist Repos_bakup rd Repos_bakup /s /q rename Repository Repos_bakup regsvr32 /s %systemroot%system32scecli.dll regsvr32 /s %systemroot%system32userenv.dll for /f %%s in (‘dir /b *.dll’) do regsvr32 /s %%s for /f %%s in (‘dir /b *.mof’) do mofcomp %%s for /f %%s in (‘dir /b *.mfl’) do mofcomp %%s sc config winmgmt start= auto net start winmgmt wmiprvse /regserver

Что такое DistributedCOM

В первую очередь необходимо разобраться, что такое DistributedCOM, и почему этот объект вызывает ошибку. DistributedCOM — это Distributed Component Object Model, неотъемлемая часть взаимодействия сетей на персональных компьютерах и ноутбуках под управлением операционной системы виндовс. Это своего рода технология от «Майкрософт», срабатывающая всякий раз, когда компьютер или какое-либо приложение выполняет подключение к Глобальной сети.

Ошибка 10016 не сулит ничего страшного, но в устранении нуждается

К сведению! Стандартная Component Object Model способна получать доступ к файлам только на машине, с которой она была запущена, а Distributed Component Object Model может работать с данными на удаленных серверах.

Известно, что многие веб-сайты и ресурсы используют скрипты для доступа к удаленным серверам. Во время того, как операционная система делает то же самое, DCOM обращается к определенному объекту удаленного сервера, но часто не имеет соответствующих разрешений. Из-за этого и происходит ошибка. Она никак не влияет на работу системы, если только нет засорения журнала просмотра событий виндовс.

Далеко не все случающиеся в Windows ошибки проявляют себя явно, так что пользователь может даже не подозревать о их наличии пока не откроет раздел «Система» в журнале событий Windows. Сегодня мы постараемся разобрать причины одной из таких ошибок. Встречается она довольно часто, причём во всех версиях Windows начиная с XP, имеет код 10016 и примерно следующее описание:

Параметры разрешений для конкретного приложения не дают разрешения Локально Активация для приложения COM-сервера с CLSID {260EB9DE-5CBE-4BFF-A99A-3710AF55BF1E} и APPID {260EB9DE-5CBE-4BFF-A99A-3710AF55BF1E} пользователю DESKTOP-AEM9850/компик с ИД безопасности…

Здесь приводится лишь часть описания ошибки, на деле оно может быть более объёмным и отличаться в деталях. Из описания следует, что пользователь DESKTOP-AEM9850/компик (пользователем может быть и система) пытается запустить некий COM-компонент, но не может этого сделать по причине отсутствия соответствующих прав. Что за компонент и какое именно приложение вызывает ошибку Windows прямо не указывает, всё что нам известно, это CLSID компонент и идентификатор приложения.

Ошибка с кодом 10016

Задача заключается в том, чтобы определить, какому приложению принадлежит идентификатор, а затем предоставить пользователю или системе соответствующие права для его запуска. Проще всего это сделать через реестр. Откройте командой regedit редактор реестра и разверните ветку HKEY_CLASSES_ROOT/AppID. Воспользовавшись встроенным поиском, найдите в подразделе APPID приложения (в нашем примере это {260EB9DE-5CBE-4BFF-A99A-3710AF55BF1E}).

Редактор реестра

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

Разрешения

И жмём в открывшемся окошке кнопку «Дополнительно».

Дополнительно

Как видим, в данном примере владельцем ключа является TrustedInstaller. Заменим его администратором (пользователем DESKTOP-AEM9850).

Кликните по ссылке «Изменить».

Изменить

Введите имя локального пользователя, нажмите «OK».

Имя локального пользователя

Установите галочку «Заменить владельца подконтейнеров и объектов» и еще раз нажмите «OK».

Установите галочку

Теперь во второй раз откройте окошко разрешений для группы, выделите в нём администратора, коим был заменён TrustedInstaller, отметьте галочкой чекбокс «Полный доступ» и сохраните новые настройки.

Полный доступ

Отлично, возвращаемся в редактор реестра и запоминаем значение параметра по умолчанию для найденного ранее ключа.

Редактор реестра

У нас это InstallAgent. Далее командой comexp.msc или dcomcnfg в окошке «Выполнить» открываем оснастку «Службы компонентов» и разворачиваем в меню «Компьютеры» -> «Мой компьютер» -> «Настройка DCOM» и находим компонент с именем параметра по умолчанию (InstallAgent). Через контекстное меню вызываем его свойства.

Службы компонентов

Переключаемся на вкладку «Безопасность», в блоке «Разрешения на запуск и активацию» жмём «Изменить».

Безопасность

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

Локальный запуск

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

Загрузка…

Все приказы на совершение торговых операций отправляются в виде структуры торгового запроса 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

С этого кода начинаются ошибки, задаваемые пользователем

Понравилась статья? Поделить с друзьями:
  • Mql4 ошибка 5203
  • Mql4 ошибка 4200
  • Mql4 ошибка 4111
  • Mql4 ошибка 4108
  • Mql4 ошибка 4107