![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Серьезно? Разве разницу сравнивают не для экономии?
Absolutely:
Второй способ предполагает сравнивать нормализованную разность двух вещественных чисел с нулевым значением. Сравнивать разность нормализованных чисел с нулём бесполезно, так как в результате любой математической операции с нормализованными числами результат получается ненормализованным.
Не верное сравнение. Сравнивать необходимо нормализованную разницу. При сравнении двух нормализованных чисел, результат получается опять не нормализованный.
Теоретически конечно нормализованные числа могут оказаться не равны, но хз, на практике я не припомню таких случаев. Возможно это зависит от конкретной реализации нормализирующей функции. Но этот метод плох в любом случае, т.к. помимо большей ресурсоёмкости он приводит ещё и к удвоенной погрешности:
например, NormalizeDouble(0.06, 1)==NormalizeDouble(0.14, 1). Т.е. разница между числами составляет 80% от точности округления, но получаем равенство.
Absolutely:
Absolutely not
Семен Семенович ...
Сравнение двух вычисляемых double на равенство ... Кю
Внимательно прочитайте первый пост сей темы. А то "слышал звон, да не знаю где он".
... При сравнении двух нормализованных чисел, результат получается опять не нормализованный.
Почитайте на досуге свой тезис, какую чушь вы несете, осознайте.
Как может быть результат сравнения нормализованным или ненормализованным, если он может быть только true или false?
С чего вы взяли, что кто-то собирается вычислять разницу двух нормализованных чисел, а потом сравнивать ее с нулем? Два нормализованных числа можно сразу сравнивать, не вычисляя между ними разницу. И тоже первый пост темы почитайте - о чем там вопрос - о переводе double в int.
Теоретически конечно нормализованные числа могут оказаться не равны, но хз, на практике я не припомню таких случаев. Возможно это зависит от конкретной реализации нормализирующей функции. Но этот метод плох в любом случае, т.к. помимо большей ресурсоёмкости он приводит ещё и к удвоенной погрешности:
например, NormalizeDouble(0.06, 1)==NormalizeDouble(0.14, 1). Т.е. разница между числами составляет 80% от точности округления, но получаем равенство.
Так нормализуйте до приемлемой точности. Если округляете одного знака, то еще и в средней школе известно, что 0.06 будет равно 0.14.
А вообще офигеть, какой дремучи бред несет половина сидящих здесь.
От одного слова "нормализация" реакция как у зомби: руки вперед, голова в сторону, язык наружу и ходьба с высоким подниманием бедра.
я ж в первом посте написал что хотел решить )))
мне надо посчитать к примеру все Low по определенной цене за определенный период
для этого я взял массив , но т.к. в индекс массива можно всунуть только int , то я цену умножил на 5-знаке - на 100000 и нормализовал чтоб получить int значение и потом пройдясь по истории где получался такой же int индекс для массива записал +1
мне нужно было чтобы ту что я вижу цену на графике чтобы ту же он потом и отмечал в массиве а не с допуском в 1 пп - хз как тут округление сработает, как то не подумал про него , посмотрю
спасибо за ответы )
побольше бы таких советов