Особенности языка mql5, тонкости и приёмы работы - страница 118
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Кстати, по поводу нуля. В FastLog2 нет проверки на нуль, это соответственно и фору ему даёт. Но он всё-равно в полтора-два раза медленнее, чем log2, если тестировать корректно )
А в чем некорректность?
Ведь даже ваш вариант теста выдает:
Кстати, по поводу нуля. В FastLog2 нет проверки на нуль, это соответственно и фору ему даёт. Но он всё-равно в полтора-два раза медленнее, чем log2, если тестировать корректно )
Не, понятное дело, проверку на нуль надо убрать из log2 или вставить такую же в FastLog2.
Вопрос, действительно, в скорости именно вычислительной части. В log2 - все считается чисто сдвигами и сложениями. В FastLog2 - использовалось табличное значение после хитрых преобразований, в котором участвует умножение. Код это весьма старый, использовался еще во времена математических сопроцессоров, с тех пор вполне себе ситуация могла поменяться.
Это стандартное поведение MQL5: static-переменные начинают работать после глобальных.
Можно очень серьезно нарваться из-за этого.Это стандартное поведение MQL5: static-переменные начинают работать после глобальных.
Это поэтому каждую статик-переменную класса/структуры нужно обязательно вторично объявлять после самой структуры? Причем, даже без присваивания ей какого-либо значения... Может стоит внести предложение, чтобы компилятор все это делал автоматом сам?
По сути это баг, нарушение последовательности выполнения кода программы. Компилятор не должен позволять такого в принципе. Надо почаще дёргать разработчиков насчёт этого.
В С++ код обрабатывается компилятором строго сверху вниз, поэтому всё что сверху - уже инициализировано. А к нижнему ты обратиться не можешь. Поэтому всё чётко. А раз тут разработчики ввели какие-то свои правила, то пусть обеспечат корректный порядок выполнения кода.
В С++ код обрабатывается компилятором строго сверху вниз, поэтому всё что сверху - уже инициализировано. А к нижнему ты обратиться не можешь. Поэтому всё чётко.
Гибкости меньше.