Непонятный баг при оптимизации внешних параметров советника, имеющих тип enum (перечисления) - страница 2

 
Slava:

К тому же здесь описываются совсем другие симптомы

"значения параметра вдруг становятся совершенно случайными"

Судя по всему, вы прекрасно знаете, о чём я пишу. Зачем придираться к словам? Хорошо, напишу подробнее. После оптимизации параметров типа enum, последующей загрузки с вкладки "Результаты оптимизации" по двойному клику и прогону с выбранными параметрами, значения параметра заменяются на случайные целые величины, выходящие за пределы перечисления. Причем, это может происходить не обязательно после первого прогона. Поэтому и "вдруг". Хотя нет, одну закономерность я всё же выявил - данный сбой происходит совершенно точно, если перекомпиллировать советник в процессе работы со списком результатов оптимизации.

Я уже понял, что в MT5 данный баг исправлен. Это, несомненно, радует, так как MQL5 я также активно пользуюсь. Однако, хотелось бы получить однозначный ответ - в MT4 эта проблема будет решена, или надо просто смириться с этим фактом и не использовать перечисления в качестве оптимизируемых параметров? Буду очень вам признателен за ответ.

 
Vladislav Andruschenko:


Об этой проблеме только ленивый не писал, разве что только те , которые не используют enum 

да есть такая проблема только в мт4. 

В мт4 нет смысла оптимизировать, поэтому уже наверно все забили давно на эту проблему в мт4. 

Владислав, благодарю за участие в дискуссии. Я не частый гость на этом форуме. Задаю вопрос только в крайнем случае, до последнего ищу ответ в сети. Как правило, 90% вопросов уже имеют ответы. Но по данной проблеме, к сожалению, не смог найти никакой информации. Судя по всему вопрос древний и нерешенный. Да и для себя я эту проблему решил через использование парсеров отчетов оптимизации. Просто хотелось полюбопытствовать, почему до сих пор имеет место такой очевидный баг. Другое дело, если бы MT4 уже не поддерживался, тогда все вопросы решались бы рекомендациями перехода на новую платформу. 

 
lsv107:

Извините, не понял. Что не воспроизводится?

Не воспроизводится описанное Вами поведение.

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


 
lsv107:

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

Это очень важное замечание.
 
lsv107:

Судя по всему, вы прекрасно знаете, о чём я пишу. Зачем придираться к словам? Хорошо, напишу подробнее. После оптимизации параметров типа enum, последующей загрузки с вкладки "Результаты оптимизации" по двойному клику и прогону с выбранными параметрами, значения параметра заменяются на случайные целые величины, выходящие за пределы перечисления. Причем, это может происходить не обязательно после первого прогона. Поэтому и "вдруг".

Я не придираюсь к словам. Я наоборот выделил важный момент.

 
Slava:

Я не придираюсь к словам. Я наоборот выделил важный момент.

Извините.

Slava:

Не воспроизводится описанное Вами поведение.

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

Тут Владислав написал, что "только ленивый" не поднимал этот вопрос. Видимо я из тех самых "ленивых". Ну да ладно, лучше поздно, чем никогда. Если бы проблема оставалась актуальна, то баг был бы давно исправлен. Если честно, мне он не доставлял особых проблем, пока один человек, попросивший для него написать робота, попросил объяснить, почему так происходит. Я не нашелся что ответить, вроде с моей стороны никаких ошибок не было допущено. Я конечно объяснил ему, что результаты многочасовой оптимизации держать в памяти терминала, пока тестируешь разные наборы из этого списка, - крайне неблагоразумно. Всегда всё надо сохранять, а с дальнейшим анализом есть варианты.

Однако, баг всё равно имеет место быть. Было бы интересно для общего развития, понять, в чём причина его появления. У меня есть одно предположение, но надо проверить.

 

Вы правильно указали причину: перекомпиляция эксперта.

Мы воспроизвели у себя описанную проблему и исправили.

Вот только неизвестно когда будет следующий билд MT4

 
Slava:

Вы правильно указали причину: перекомпиляция эксперта.

Мы воспроизвели у себя описанную проблему и исправили.

Вот только неизвестно когда будет следующий билд MT4

Отлично.