Головоломка для программиста

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Vadim Zotov
25115
Vadim Zotov  

Друзья, у кого есть опыт решения подобных головоломок?

Автовалидатор выдаёт такой отчет. Ссылка  tester takes too long time ведёт на список кодов ошибок, состоящий примерно из 150 пунктов. Как выяснить суть ошибки, если конкретный код её нам почему-то авторы отчета решили не показывать? Рекомендации любимой статьи модераторов  учтены вроде бы полностью, перед отправкой на автовалидацию все характерные тесты были пройдены без ошибок.

Лог

P.S. Неужели авторам автовалидатора трудно включить в отчет хотя бы исходные данные, с которыми выполнялось тестирование (интервал тестирования, депозит, плечо и т.п)?

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

Sergey Pavlov
13621
Sergey Pavlov  
А Вы что думали - в сказку попали?
Vitaly Muzichenko
13910
Vitaly Muzichenko  
Vadim Zotov:

Друзья, у кого есть опыт решения подобных головоломок?

Автовалидатор выдаёт такой отчет. Ссылка  tester takes too long time ведёт на список кодов ошибок, состоящий примерно из 150 пунктов. Как выяснить суть ошибки, если конкретный код её нам почему-то авторы отчета решили не показывать? Рекомендации любимой статьи модераторов  учтены вроде бы полностью, перед отправкой на автовалидацию все характерные тесты были пройдены без ошибок.

P.S. Неужели авторам автовалидатора трудно включить в отчет хотя бы исходные данные, с которыми выполнялось тестирование (интервал тестирования, депозит, плечо и т.п)?

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

Это не оптимизированный код
В коде также могут использоваться конструкции 

for(int i=0; i<OrderTotal(); i++)

int OT = OrderTotal();
 for(int i=0; i<OT; i++)

Много не нужных циклов и т.д

Vladimir Pastushak
90171
Vladimir Pastushak  
Vadim Zotov:

Друзья, у кого есть опыт решения подобных головоломок?

Автовалидатор выдаёт такой отчет. Ссылка  tester takes too long time ведёт на список кодов ошибок, состоящий примерно из 150 пунктов. Как выяснить суть ошибки, если конкретный код её нам почему-то авторы отчета решили не показывать? Рекомендации любимой статьи модераторов  учтены вроде бы полностью, перед отправкой на автовалидацию все характерные тесты были пройдены без ошибок.

P.S. Неужели авторам автовалидатора трудно включить в отчет хотя бы исходные данные, с которыми выполнялось тестирование (интервал тестирования, депозит, плечо и т.п)?

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


сам недавно бился 

ищите, штудируйте код

Aleksey Semenov
3610
Aleksey Semenov  

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

Степень влияния на скорость теста каждого фактора может быть разная - профилирование вам в помощь

Maxim Kuznetsov
12916
Maxim Kuznetsov  
Vadim Zotov:

Друзья, у кого есть опыт решения подобных головоломок?

Автовалидатор выдаёт такой отчет. Ссылка  tester takes too long time ведёт на список кодов ошибок, состоящий примерно из 150 пунктов. Как выяснить суть ошибки, если конкретный код её нам почему-то авторы отчета решили не показывать? Рекомендации любимой статьи модераторов  учтены вроде бы полностью, перед отправкой на автовалидацию все характерные тесты были пройдены без ошибок.

P.S. Неужели авторам автовалидатора трудно включить в отчет хотя бы исходные данные, с которыми выполнялось тестирование (интервал тестирования, депозит, плечо и т.п)?

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

Кстати, вообще было-бы прилично включить "автовалидатор" (или хотя-бы некие его части) в поставку..и вопросов было-бы меньше и нагрузка на сервер валидации снизилась

Vadim Zotov
25115
Vadim Zotov  
Aleksey Semenov:

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

Степень влияния на скорость теста каждого фактора может быть разная - профилирование вам в помощь

Профилирование- штука хорошая. Оптимизация кода с её помощью получается хорошо. Только вот, в данном примере это ничего не даёт. И наверное, не даст. Очевидно, проблема не в скорости работы программы, а где-то она подвисает при каких-то исходных данных (которые секрет авторов автовалидатора). Это подтверждает то, что при автовалидации на EURUSD H1 тест проходит нормально, с 32 сделками, а вот на NZDUSD H1 почему то возникает проблема с временем.

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

Sergey Pavlov
13621
Sergey Pavlov  
Maxim Kuznetsov:

Кстати, вообще было-бы прилично включить "автовалидатор" (или хотя-бы некие его части) в поставку..и вопросов было-бы меньше и нагрузка на сервер валидации снизилась

Золотые слова.
Vadim Zotov
25115
Vadim Zotov  

Благодарю всех, кто принял участие в дискуссии.

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

Taras Slobodyanik
36396
Taras Slobodyanik  

а пробовали делать тест на NZDUSD H1 ?

может всплывут ошибки

Vladimir Gribachev
72056
Vladimir Gribachev  

Что-то у Вас там хавает время на расчеты. Прогоните профилированием и посмотрите.

Из ОнТика уберите все по максимуму, все расчеты перенесите в функции, 90% что там собака порыла.

Раньше с этим тоже боролся - несколько недель даже, все голову ломал.

Теперь в ОнТике только самый нужный минимум и все ОК!

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