Головоломка для программиста - страница 2

 

Проблема решена старым дедовским способом - методом исключения. Профилирование, к сожалению, не помогло, так как ошибка себя никак не проявляла.

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

Для моделирования ошибки явно не хватает исходных данных в отчете автовалидатора.

Благодарю всех участников этой дискуссии за советы и искреннее желание помочь.

лог
 

Тема старая, но важная, поэтому добавлю свои аргументы.

MQL4: Я почему-то долго мучился из-за красного крестика, который появлялся через 2 минуты автотестирования. Я сразу воспринимал это, как отказ. Затем смотрел отчет, в отчете нет операций по двум парам... До меня долго не доходило, что это также положительный результат, а не отрицательный! Просто жмите кнопку "Отправить на проверку", и ваш продукт будет опубликован. Хе-хе

MQL5: Кто-то пишет, что непонятно, с какими параметрами запускается тест. Тест всегда запускается с вашими параметрами по умолчанию. Изменяется спред и стартовый депозит, но не параметры советника. Установлено многократными неудачными проходами автотестирования. Неясным остается только, на каком периоде тестируют. Так что выбирайте проблемную пару из отчета, меняйте периоды, и вперед. Здесь сильно помогает профилирование с тестовыми данными! Как мне удалось заметить, профилирование с тестовыми данными и тест в МТ5 - это не одно и то же.

В моем случае профилирование с тестовыми данными в MQL5 позволило выявить ошибку, когда советник зависал на поиске уровней. Сделка не может быть открыта, выполняется поиск новых уровней для сделки, однако поиск приводит к тем же уровням. Круг замыкается, и все стоит на месте. Почему-то в обычном тесте этот отрезок советник... проходил, а вот профилирование на тестовых данных застревало фатально.

Причина обращения: