Особенности языка mql5, тонкости и приёмы работы - страница 142
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Для уменьшения количества переборов параметров оптимизации применяю два приёма создания нелинейной шкалы.
Для перебора длительности в часах с достаточной точностью:
Для перебора, например, шага SAR с точностью 2 цифры (~1%):
При оптимизации от 0.0001 до 0.99 требовалось бы почти 10К шагов. При использовании в оптимизации кодов 001-299 требуется меньше 300 шагов.
Ошибка понятна по факту. Но во время написания подобного кода не всегда очевидно, что такой проверки не достаточно, чтобы избежать деления на ноль.
Повод не пользоваться тернарным оператором.
Для if аналогично, конечно.
Просто не надо надеяться, что если отсутствует значение, то это обязательно 0 и соответственно false если это переменная не типа bool. Даже явное приведение к типу bool не спасёт.
Так работает без ошибок.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Особенности языка mql5, тонкости и приёмы работы
Alexey Viktorov, 2019.10.28 10:22
Просто не надо надеяться, что если отсутствует значение, то это обязательно 0 и соответственно false если это переменная не типа bool. Даже явное приведение к типу bool не спасёт.
Так работает без ошибок.
Не вижу выделенного места. В чём ошибка?
Ты написал "==", а должно быть "!="
Там выделено "очень-бледно-жёлтым" :)
Ты написал "==", а должно быть "!="
Там выделено "очень-бледно-жёлтым" :)
Ну ведь не все знают что я как та мартышка "К старости слаба глазами стала".
Наверное да, но почему-то такой вариант прокатил без деления на 0. А в общем, мой посыл был о том, что не надо проверять на 0 любую переменную как булеву на false.
Наверное да, но почему-то такой вариант прокатил без деления на 0.
Потому что TickValue не ноль.