Особенности языка mql5, тонкости и приёмы работы - страница 242
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Он ожидает, что функция MathMin() будет детерминированной. Таким образом, чтобы всегда давать один и тот же результат, когда два аргумента одинаковы. И не разный результат в зависимости от того, какой аргумент первый или второй.
fxsaber прав, это проблема.
аaa..., тогда зачем так было запутывать про " Математически одинаковое выражение (выделено) " и union
достаточно было:
но т.к. 0.0 == -0.0, тогда не могу представить ситуацию, когда это может быть проблемой и, вообще на что-то повлиять
старинная особенность Min/Max в MQL - они работают так как считают разработчики, то есть верно :-)
это стандарты ошибаются
аaa..., тогда зачем так было запутывать про " Математически одинаковое выражение (выделено) " и union
достаточно было:
но т.к. 0.0 == -0.0, тогда не могу представить ситуацию, когда это может быть проблемой и, вообще на что-то повлиять
если бы это был не ноль, тогда это была бы проблема. А при нуле ни на что не влияет.
Ибо:
c++ - What is the difference between -0 and 0? - Stack Overflow
Поэтому, все что нужно знать, это то, что 0 = -0
Вот и вся особенность, которая не влияет на вычисления и логику
Отлично разбираюсь в вопросе, поэтому написал оба варианта MathMin, чтобы показать, что математически одинаковые функции в языках программирования выдают неодинаковые результаты.
Кажись баг.
На С++ работает нормально:
в консоли:
Long negative zero = 0
Вопрос попутно к разработчикам. Это нормально, что в окне отладки переменная Union не разварачивается и совсем не реагирует на клик?
Вручную добавлены поля Union.Num1 и Union.Num2. Хотя бы так видны значения...
Works as expected! The first bit (bit index 0) is the sign bit which is set for -0.0.
These are also more special cases in ieee 754 format. https://www.wikiwand.com/en/IEEE%20754#Special_values
Кажись баг.
На С++ работает нормально:
в консоли:
нет никакого бага. В С++ тоже самое.
просто ошиблись с форматированием и с типом
попробуйте так:
In the same context, this can examine the 64 bit representation of doubles https://www.mql5.com/en/code/20822
or the shorter version
нет никакого бага. В С++ тоже самое.
просто ошиблись с форматированием и с типом
попробуйте так:
Да, я поторопился. Спасибо за науку ))
Иногда нужно быстро поместить советник в Тестер. Можно сделать так.
Выбрать дату в будущем и нажать CTRL+F5 в ME.