
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Увидела добавленную вами позже в пост эту фразу. А потом, пока писала ответ и пост следом
Мне самой себе доказывать это не надо. С проблемой при таком сравнении вы сможете столкнуться самостоятельно.
В Справке не просто так говорится, что нужно при сравнении чисел этого типа применять варианты тех способов, что там описаны.
Поверьте, что это не проявление неуважения, что не хочу доказывать, что рекомендуемое в Справке - верно.
Dina Paches:
P./S.: Если бы при сравнении чисел из массивов я не применяла нормализацию, то некоторые мои программы работали бы не корректно в плане ожидаемых результатов.
В Справке не просто так говорится, что нужно при сравнении чисел этого типа применять варианты тех способов, что там описаны.
Это не аргументация. Создайте пример, вроде, моего. У Вас не получится. Идентичные double можно и нужно сравнивать без нормализации.
Идентичные double могут становиться не идентичными. За счёт особенностей своего типа. У меня "получалось" при конструировании кодов видеть не те результаты, что "ожидала", если не применяла нормализацию.
Вы можете посмотреть инфу по поиску. На эту тему, по крайней мере на четвёртом форуме, много было написано-приводилось, насколько помню.
Либо сами, рано или поздно, на практике самостоятельно с этим сможете "столкнуться" (тем более, что обладаете пытливым умом).
Я здесь только несколько ссылок из "старых" приведу:
https://www.mql5.com/ru/forum/133470
https://www.mql5.com/ru/forum/131853
https://www.mql5.com/ru/articles/1561
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Два соседних BookEvent могут дублировать стакан
fxsaber, 2016.09.16 20:35
Описываемый Вами случай
Никак не касается сравнения идентичных double, как бы это не представлялось.
Результат
Это не аргументация. Создайте пример, вроде, моего. У Вас не получится. Идентичные double можно и нужно сравнивать без нормализации.
Идентичные double можно и нужно сравнивать без нормализации.
А зачем их сравнивать если известно что они идентичные?
Плохо по-русски выразился. Вот так будет правильнее:
Чтобы понять, что два double идентичны, можно и нужно сравнивать их без нормализации.
Плохо по-русски выразился. Вот так будет правильнее:
Чтобы понять, что два double идентичны, можно и нужно сравнивать их без нормализации.
Если под идентичны вы подразумеваете их какое-либо равенство друг другу (по типу, значениям и что к числам не применялась явная математическая операция), то не применяя при сравнении NormalizeDouble или другой способ, описанный в Справке, рано или поздно вы столкнётесь с особенностью чисел double. Поскольку какое-либо из идентичных чисел этого типа, после пути к моменту сравнения, может стать отличающимся в по цифрам в конечных знаках.
https://www.mql5.com/ru/docs/basis/types/double
Я вам напомнила об особенностях чисел типа double, когда увидела этот пост:
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Два соседних BookEvent могут дублировать стакан
fxsaber, 2016.09.16 16:18
А универсальное решение сравнения любых массивов?Требование с меня примера не считаю объективным.
Тем более, что у меня в постах ранее, в этой теме, есть ссылки на Справку + ссылки "на вскидку" + вы сами можете воспользоваться поиском по сайту + рано или поздно скорее всего убедитесь самостоятельно.
Ваше право считать иначе.
Как бы я хорошо не относилась к тому, что у вас есть пытливость ума, заниматься подготовкой кода, доказывая то, о чём есть инфа в Справке, на сайте, сталкивалась не только сама, и из-за чего при сравнении чисел этого типа применяю нормализацию на автомате, у меня нет желания ни сейчас, в ночное время пятницы, ни в выходные, ни потом.
Если под идентичны вы подразумеваете их какое-либо равенство друг другу (по типам, значениям и что к числам не применялась явная математическая операция), то не применяя при сравнении NormalizeDouble или другой способ, описанный в Справке, рано или поздно вы столкнётесь с особенностью чисел double. Поскольку какое-либо из идентичных чисел этого типа, после пути к моменту сравнения, может стать отличающимся в по цифрам в конечных знаках. https://www.mql5.com/ru/docs/basis/types/double
Я вам напомнила об особенностях чисел типа double, когда увидела этот пост:
У чисел double нет никакой особенности. Никакой!
double - 8 байтов. И если эти 8 байтов с точностью до каждого бита совпадают (оператор ==), то эти double идентичны. Если не совпадают - нет.
Если Вы считаете, что (double)35*0.01 должен быть равен (double)0.35, потому что так в школе говорят. То это лишь Ваше желание и представление, что так якобы должно быть. Поэтому, чтобы Ваши (и многих других) представления не ломались, Вы делаете нормализацию при сравнении этих совершенно не совпадающих double. И получаете, конечно, их равенство. В Справке об этом и написано, только про школу там не договаривают.
Требование с меня примера не считаю объективным.
Тем более, что у меня в постах есть ссылки на Справку + ссылки "на вскидку" + вы сами можете воспользоваться поиском по сайту + рано или поздно скорее всего убедитесь самостоятельно.
Ваше право считать иначе.
Как бы я хорошо не относилась к тому, что у вас есть пытливость ума, заниматься подготовкой кода, доказывая то, о чём есть инфа в Справке, на сайте, сталкивалась не только сама, и из-за чего при сравнении чисел этого типа применяю нормализацию на автомате, у меня нет желания ни сейчас, в ночное время пятницы, ни в выходные, ни потом.