Ошибка с CustomRatesUpdate #4000

 

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

Иногда советник уходит в непонятное состояние!

1) Пропадает вся история с графика. Первый вопрос из-за чего это может происходить? (Советник на VPS)

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

НО! Иногда (не всегда):

2) CustomRatesUpdate <0 а GetLastError() == 4000

и с такого состояния робот не выходит до перезагрузки терминала...

      if(ArraySize(r_file) > 100)
         if(ArraySize(r_file) > ArraySize(r_chart))
           {
            ResetLastError();
            CheckRatesData(r_file);
            if(CustomRatesUpdate(_Symbol, r_file) < 0)
              {
               LOG("ERROR RATES UPDATE #" + IntegerToString(GetLastError()));
               .....

С чем это может быть связанно? СПАСИБО!

 

Такая же ситуация: пропадают бары и ошибка 4000. Ее даже в хелпе нет.

Ошибка возникает в 00:00 по времени графика.

 
Ivan Titov #:

Такая же ситуация: пропадают бары и ошибка 4000. Ее даже в хелпе нет.

Ошибка возникает в 00:00 по времени графика.

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

Однако, разработчики ее поправили. Расскажу, как действовал, чтобы решить проблему.

  1. Написал лаконичный код, который должен был поймать в течение недели этот баг, будучи постоянно работающим на VPS.
  2. Предоставил результаты, показывающие, что баг ловится.
  3. Вышел на прямой контакт с разработками через ЛС.
  4. Согласовали, как суметь воспроизвести баг на их стороне. Заодно сами разработчики добавили в код вывод дополнительной информации.
  5. Подождали несколько недель, поймали проблему.
  6. Поправили.
Возможно, это слишком сложно. Но способ довольно надежный, если очень нужно.
 
fxsaber #:

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

Однако, разработчики ее поправили. Расскажу, как действовал, чтобы решить проблему.

  1. Написал лаконичный код, который должен был поймать в течение недели этот баг, будучи постоянно работающим на VPS.
  2. Предоставил результаты, показывающие, что баг ловится.
  3. Вышел на прямой контакт с разработками через ЛС.
  4. Согласовали, как суметь воспроизвести баг на их стороне. Заодно сами разработчики добавили в код вывод дополнительной информации.
  5. Подождали несколько недель, поймали проблему.
  6. Поправили.
Возможно, это слишком сложно. Но способ довольно надежный, если очень нужно.

Так же пропадают бары. Грешил на скрипт, но все никак руки не доходили раздебагать. Теперь, похоже, это вина не скрипта...

 
Denis Bogdanov:

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

Иногда советник уходит в непонятное состояние!

1) Пропадает вся история с графика. Первый вопрос из-за чего это может происходить? (Советник на VPS)

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

НО! Иногда (не всегда):

2) CustomRatesUpdate <0 а GetLastError() == 4000

и с такого состояния робот не выходит до перезагрузки терминала...

С чем это может быть связанно? СПАСИБО!

Не показан код функции CheckRatesData, а ResetLastError выполняется до вызова этой функции

По коду CustomRatesUpdate не нашёл, где может выставляться ошибка 4000