При делении на 0 эксперт не вылетает, а кладет в double nan, хотя в старых версиях вылетал. Это баг или разработчики решили что "деление на 0 не страшно и пусть эксперт продолжает работу"?
Интересно. В тестере вылетает. В реале пока не ловил.
При делении на 0 эксперт не вылетает, а кладет в double nan, хотя в старых версиях вылетал. Это баг или разработчики решили что "деление на 0 не страшно и пусть эксперт продолжает работу"?
Можете код показать, который производит деление на 0 не преводя к завершению работы эксперта?
Вылетает только в тестере. Можете проверить собрав
void OnTick() { int zero = 0; // Если компилятор увидит пямое деление на ноль - не даст собрать, по этому через переменную. double not_fail = 10 / zero; }
Такая конструкция будет вылетать только в режиме дебагера. В режиме теста, когда собран не под дебаггер - вылетать не будет не смотря на флаг "проверять вещественные делители".
Привет!
на тестере выйдет - критическая ошибка и остановится.
А на торговле напишет в комментариях - на нуль делить нельзя, но бот будет дальше работать.
Привет!
на тестере выйдет - критическая ошибка и остановится.
А на торговле напишет в комментариях - на нуль делить нельзя, но бот будет дальше работать.
Если бот собран в релиз и прогнан на тестере (без дебага) - то не остановится. Если есть сомнения - могу записать на видео.
А то, что на торговле пишет в комментариях - это никуда не годится. Это исключительная ситуация (обработчиков которых до сих пор нет) при которой как минимум должен быть вылет, особенно, в финансовом софте. Очевидно, что теперь бот работает не так как было задумано и не предсказуемо.
При этом всем, есть опция в настройках проекта, которая по факту не работает. Так же, раньше бот вылетал, но в один момент это в тихую убрали. Что так же никуда не годится.эм, разве не от "проперти стрикт" зависит реакция на критические ошибки - без "стрикта" будет на пример игнорить ошибку array out of range и просто положит ноль при обращении к несуществующей ячейке массива
Может когда то и зависил, но теперь деление на ноль игнорирует в любом случае. Можете проверить.
эм, разве не от "проперти стрикт" зависит реакция на критические ошибки - без "стрикта" будет на пример игнорить ошибку array out of range и просто положит ноль при обращении к несуществующей ячейке массива
эм, разве не от "проперти стрикт" зависит реакция на критические ошибки - без "стрикта" будет на пример игнорить ошибку array out of range и просто положит ноль при обращении к несуществующей ячейке массива
в MQL5 нет этгого свойства, вернее оно всегда включено, в 4-ке да, нужно не забывать включать
по сабжу, история давняя, обещали, что по умолчанию будет отключена такое "увеличение производительности"
вот нашел, где обсуждали https://www.mql5.com/ru/forum/371494/page40#comment_24339250
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования