Скачать MetaTrader 5

Ошибки 4001 и 4102. Вызовы из OnCalculate.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Vladimir Karputov
Модератор
52786
Vladimir Karputov  

В OnCalculate() (при первом вызове) при попытке получить 

//+------------------------------------------------------------------+ 
//| Функция получает цвет отображения линии Bid.                     | 
//+------------------------------------------------------------------+ 
color ChartBidColorGet(const long chart_ID=0)
  {
//--- подготовим переменную для получения цвета 
   long result=clrNONE;
//--- сбросим значение ошибки 
   ResetLastError();
//--- получим цвет линии цены Bid 
   if(!ChartGetInteger(chart_ID,CHART_COLOR_BID,0,result))
     {
      //--- выведем сообщение об ошибке в журнал "Эксперты" 
      Print(__FUNCTION__+", Error Code = ",GetLastError(),", result=",result);
     }
//--- вернем значение свойства графика 
   return((color)result);
  }

получаю ошибку 4102:

ERR_CHART_NO_REPLY

4102

График не отвечает

 

а при попытке получить

//+------------------------------------------------------------------+ 
//| Функция получает цвет осей, шкалы и строки OHLC графика.         | 
//+------------------------------------------------------------------+ 
color ChartForeColorGet(const long chart_ID=0)
  {
//--- подготовим переменную для получения цвета 
   long result=clrNONE;
//--- сбросим значение ошибки 
   ResetLastError();
//--- получим цвет осей, шкалы и строки OHLC графика 
   if(!ChartGetInteger(chart_ID,CHART_COLOR_FOREGROUND,0,result))
     {
      //--- выведем сообщение об ошибке в журнал "Эксперты" 
      Print(__FUNCTION__+", Error Code = ",GetLastError(),", result=",result);
     }
//--- вернем значение свойства графика 
   return((color)result);
  }

получаю ошибку:

ERR_INTERNAL_ERROR

4001

Неожиданная внутренняя ошибка

 

Такое происходит в терминале

MetaTrader 5 x64 build 1210 started (MetaQuotes Software Corp.)
Windows 10 Pro (x64 based PC), IE 11.00, UAC, Intel Core i3-3120M  @ 2.50GHz, RAM: 1742 / 3981 Mb, HDD: 58970 / 234136 Mb, GMT+02:00

в котором открыто шесть графиков. На каждом графике в индикаторе в OnCalculate() происходят вызовы ChartBidColorGet и ChartForeColorGet при первом запуске за сутки. При последующих перезапусках такие ошибки не возникают. Странно, что это как-то связанно именно с первым запуском за сутки.

Vladimir Karputov
Модератор
52786
Vladimir Karputov  

Проверил ещё раз. 

  1. Перезагрузил операционную систему.
  2. Подождал 10 минут. 
  3. Включил терминал MetaTrader 5.
  4. Выскочило несколько ошибок 4001 и 4102.
Определённо связанно такое поведение только с перезагрузкой операционной системы.

Vladimir Karputov
Модератор
52786
Vladimir Karputov  

Почему разное поведение при первом запуске терминала после перезагрузки операционной системы и при последующих запусках терминала? Надоело перезагружать компьютер - может есть параметр в реестре или в *.ini файлах терминала, который отвечает за подсчёт запусков терминала после перезагрузки операционной системы?

Alexey Volchanskiy
17340
Alexey Volchanskiy  
Karputov Vladimir:

Почему разное поведение при первом запуске терминала после перезагрузки операционной системы и при последующих запусках терминала? Надоело перезагружать компьютер - может есть параметр в реестре или в *.ini файлах терминала, который отвечает за подсчёт запусков терминала после перезагрузки операционной системы?

Может, это поможет? http://www.oszone.net/11318/mon_reg
Примеры мониторинга системного реестра
  • www.oszone.net
Примеры мониторинга системного реестра
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий