Автоматическое тестирование продукта завершено с ошибками - страница 3

 

хм. попал на ту же ошибку только в советнике - хотя до этого этот советник прошел 5 таких проверок успешно, код по сути не изменлся, только добавлялся функционал. 

 

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

интересно то, что в мт4 такой же точно код - и все ок :-)  

 
Методом удаления почти всего кода, я всё-таки обнаружил, что тормозило :). В моём случае неправильное использование команды изменения размера динамического массива, по привычке, из старой версии MQL4, изначально было:
if(ArrayRange(tmp,0)!=rates_total) ArrayResize(tmp,rates_total);

А надо, к примеру, так:

if(ArrayRange(tmp,0)!=rates_total) ArrayResize(tmp,rates_total,5000);

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

 
Sergey Efimenko:
Методом удаления почти всего кода, я всё-таки обнаружил, что тормозило :). В моём случае неправильное использование команды изменения размера динамического массива, по привычке, из старой версии MQL4, изначально было:
if(ArrayRange(tmp,0)!=rates_total) ArrayResize(tmp,rates_total);

А надо, к примеру, так:

if(ArrayRange(tmp,0)!=rates_total) ArrayResize(tmp,rates_total,5000);

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

Ну, это получается как бы частное решение методом тыка. Вопросы то прежние остались: каков временной лимит, как получить логи с более конкретными данными. Текущее "too long" - это пальцем в небо. Как они умудряются получить "too long", если индикатор и на онлайн чарте, и в тестере работает гладко?

Ладно, пока ответа нет, придется плодить задачи в сервис деске.

 

У меня аналогичная ситуация. Мой советник не предназначен для установки ордеров, а лишь служит помощником для сопровождения уже установленных ордеров. После того, как добавил для тестера установку ордеров, все равно выдает ошибку:

Тестирование завершилось с ошибками

  • Количество ошибок 1
  • Запущен 2016.12.16 13:06:27
  • Завершено 2016.12.16 13:36:37
  • Тип Эксперт
  • Спред 0
test on EURUSD,H1
tester takes too long time
Что делать, ума не приложу.  
 
А я попрофилировал свой индикатор. Основные затраты времени на вызов функции ObjectFind. ;-)
 
Stanislav Korotky:
А я попрофилировал свой индикатор. Основные затраты времени на вызов функции ObjectFind. ;-)
Так точно. Она "жрет" не мало. 
 
Vladislav Andruschenko:
Так точно. Она "жрет" не мало. 
Она и в "четверке" жрала не мало.
 
Stanislav Korotky:

Ну, это получается как бы частное решение методом тыка. Вопросы то прежние остались: каков временной лимит, как получить логи с более конкретными данными. Текущее "too long" - это пальцем в небо. Как они умудряются получить "too long", если индикатор и на онлайн чарте, и в тестере работает гладко?

Ладно, пока ответа нет, придется плодить задачи в сервис деске.

Может стоит в этой ветке собрать возможные причины вывода данной ошибки, чтобы автор мог проверить свой код на наличие подобных ситуаций. Стоит обратить внимание на "большие" циклы и вызываемые в них функции.
 
Sergey Efimenko:
Может стоит в этой ветке собрать возможные причины вывода данной ошибки, чтобы автор мог проверить свой код на наличие подобных ситуаций. Стоит обратить внимание на "большие" циклы и вызываемые в них функции.

Ну, это все профилировщик показывает. Убрал я ObjectFind, ускорился в несколько раз - а проблема осталась - "too long".

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

 
Stanislav Korotky:

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

Удручает то что автоматические тесты по сути какая-то страшно костыльная и сырая хрень, на проблемы с которой просто кладут.
Причина обращения: