Оптимизатор в тестере стратегий МТ4 некорректно обрабатывает INIT_FAILED

 

Натолкнулся на неприятную особенность работы оптимизатора в тестере стратегий.

Вот код:

input int      value=1;

int OnInit()

{

    if (value == 3) return (INIT_FAILED);

    return(INIT_SUCCEEDED);

}

Запускаем в тестере на оптимизацию параметр value от 1 до 10. Результат - после 3 проходки все наборы параметров некорректны, хотя по логике дожна быть некорректной только третья проходка.

Документация говорит:  

INIT_FAILED

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

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

 

Дальше - больше. Если сделать вывод результатов в файл, то видно что после третьей проходки функция OnInit() вообще не запускается.

Кто-нибудь сталкивался с подобным? Как решить проблему?  

P. S. Тестировал на MT4 билд 765

 

Прикладываю картинку того же кода, только с возвращаемым параметром INIT_PARAMETERS_INCORRECT  

 

 
 

А вы прописали режим совместимости с MQL5, чтобы учитывался код возврата OnInit?

#property strict
 
Да, прописал. Файл прилагаю.
Файлы:
Причина обращения: