TimeCurrent() запаздывает - страница 2

 
Andrei Trukhanovich:

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

Если вам нужно значение datetime, нет смысла использовать функцию, в которую передается структура mqldatetime, т.е. лучше использовать TimeCurrent() вместо TimeCurrent(ts)

Если вы используете TimeCurrent(ts) есть смысл работать дальше со структурой ts а не с возвращаемым значением.

Исправил, результат тот же

TimeCurrent(ts); 
 
string ts2=TimeToString(TimeCurrent());
Comment (ts.min," / ",ts2);



 
Dmitry Fedoseev:
TimeCurrent() возвращает последнее время по тому символу, на графике которого выполняется код. А в заголовке обзора время - последнее время их всех символов. Наверно. 

Он на евре стоит. Евра тики получает по 1-2 в секунду

 
Artem Mordvinkin:

Исправил, результат тот же

локальное время синхронизировано?

что выдает барабашкин скрипт?
 
Andrei Trukhanovich:

локальное время синхронизировано?

Да. Вопрос не во внешних параметрах. Я потестил на другом советнике - норм отрабатывает. У меня на текущем "тормозит". Сложно предположить где ошибка, поэтому я пытаюсь вопрос решить концептуально - надо понять, что может влиять на задержку отображения. 

 

А вот еще интереснее

Напомню код


TimeCurrent(ts); 
 
string ts2=TimeToString(TimeCurrent());
Comment (ts.min," / ",ts2);


 
Я самостоятельно, чтобы не ванговать. Потом отпишусь. Всем спасибо!
 
void OnTick()
{
  static int iCount = 0;
  
  Print(++iCount);
  
  // .....
    TimeCurrent(ts); 
    
    string ts2=TimeToString(TimeCurrent(ts));
    Comment (ts.min," / ",ts2, ": ", iCount);  
  // .....
}

Если в логе и в комментарии последние числа не совпадают - код просто не доходит до комментария на соответствующих тиках.

 
fxsaber:

Если в логе и в комментарии последние числа не совпадают - код просто не доходит до комментария на соответствующих тиках.

Дельная мысль. Поставил счетчик в начало OnInit. Закомментил все подключения файлов и начал по одному раскомменчивать. В итоге нашел проблемное место в коде - пока еще не исправил, но дело было не в Comment и в подобном. Проблема в передаче данных одного из индюков. Сейчас разберусь, что там "завешивает" процесс.

 

Решил.

Советник зависал - без уведомлений и оповещений, просто вис, поэтому время замирало. Потом он перезагружался самостоятельно и время обновлялось... и продолжал висеть.

Вис из-за индюка - МА с большим параметром на днях. В тесте все работает, на боевом - отказался и даже не предупредил. 

Все же очень интересна природа зависания, почему не ошибка, ни записи в журнале?

 
Artem Mordvinkin:

Решил.

Советник зависал - без уведомлений и оповещений, просто вис, поэтому время замирало. Потом он перезагружался самостоятельно и время обновлялось... и продолжал висеть.

Вис из-за индюка - МА с большим параметром на днях. В тесте все работает, на боевом - отказался и даже не предупредил. 

Все же очень интересна природа зависания, почему не ошибка, ни записи в журнале?

А ошибки в коде в принципе обрабатываются?  BarsCalculated хендла индикатора проверяете?