Ошибки, баги, вопросы - страница 2511

 
EgorKim:

Уважаемые разработчики добавьте в индикатор функцию OnTester.

Ни одного рабочего метода нет узнать из индикатора завершение теста

Обоснуйте

 
Slava:

Обоснуйте

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

Я писал обоснование в сервис-деск, но поскольку теперь доступ туда полностью закрыт, подробности привести не могу. Было бы логично оставить имевшиеся задачи СД доступными в режиме только чтение - тогда можно было бы давать туда ссылки.

 
Комментарии, не относящиеся к этой теме, были перенесены в "Вопросы от начинающих MQL5 MT5 MetaTrader 5".
 
Stanislav Korotky:

Индикаторы в некоторых случаях имеет смысл оптимизировать точно также как эксперты.

Тогда можно сделать советник с хендлом индикатора.

 
Vladislav Andruschenko:

Это не "баг" а особенность сайта. 
Два раза надо клацнуть на пользователя сообщение. 
Нажать, потом назад и еще раз нажать. 

И появляется он, если открыты несколько вкладок. Или с разных компьютеров, телефонов был вход. 

Не помогает данный рецепт совсем. Открыта одна вкладка. Сначала обнулил, прощелкнув каждого по три раза.

Затем написал одно ЛС, и сразу появилось якобы шесть непрочитанных. Не побороть.

 
fxsaber:

Тогда можно сделать советник с хендлом индикатора.

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

 
Stanislav Korotky:

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

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

OnTester изначально делался для кастомным критериев Оптимизации (индикаторы не оптимизируются и даже не запускаются вне Визуализатора), а не как семафор окончания прогона. Семафором в советниках для этого служила всегда OnDeinit. Возвращать же индикатору что-то в Тестер просто незачем.

 
Комментарии, не относящиеся к этой теме, были перенесены в "Вопросы от начинающих MQL5 MT5 MetaTrader 5".
 
Ключевое слово inline только для совместимости?
 
fxsaber:

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

OnTester изначально делался для кастомным критериев Оптимизации (индикаторы не оптимизируются и даже не запускаются вне Визуализатора), а не как семафор окончания прогона. Семафором в советниках для этого служила всегда OnDeinit. Возвращать же индикатору что-то в Тестер просто незачем.

Выделенное жирным как раз представляет проблему, из-за которой я и писал в свое время дело в СД. Многие индикаторы должны сохранять статистику или состояние при выгрузке, а тестер не дает возможность отработать этот момент из-за невыполнение OnDeinit, я уж не говорю просто об отладке кода OnDeinit на истории (что невозможно сейчас).

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

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

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