Нужно иметь в виду, что нормализованное число при выводе в Журнал с помощью Print() может содержать большее количество знаков после запятой, чем вы ожидаете. Например,
Vladislav Andruschenko: Дык у меня все нормализовано. Вот в ч ем прикол.
Вы делаете лишние преобразования, которые приводят к потере знаков.
Делайте нормализацию только перед непосредственным использованием результатов вычислений. Перед этим избегайте по возможности все приведения чисел и преобразования.
Andrey Dik: Вы делаете лишние преобразования, которые приводят к потере знаков.
Это уже отчаянные коды..... Я делал по разному. Но как сказал выше. Наверно из-за неправильно принята я грешил на ошибку. Хотя и в коде эти переменные были с глюком.
Спасибо всем за помощь и предложенные варианты. Но с float все работает четко.
Vladislav Andruschenko: Это уже отчаянные коды..... Я делал по разному. Но как сказал выше. Наверно из-за неправильно принята я грешил на ошибку. Хотя и в коде эти переменные были с глюком.
Спасибо всем за помощь и предложенные варианты. Но с float все работает четко.
float это кастрация чисел не дающая никаких преимуществ. Лучше разберитесь со всеми потерями в преобразованиях и используйте наивысшую из возможных точностей - double.
потому что https://www.mql5.com/ru/docs/convert/normalizedouble
Нужно иметь в виду, что нормализованное число при выводе в Журнал с помощью Print() может содержать большее количество знаков после запятой, чем вы ожидаете. Например,
тогда и в comment то же
void OnStart()
{
double Price1 = 105143;
double Price2 = Price1 - 1e-11;
Print(TOSTRING(Price1) + TOSTRING(MathFloor(Price1)) +
TOSTRING(Price2) + TOSTRING(MathFloor(Price2)) +
TOSTRING(Price1 > Price2));
}
Спасибо. наверно я все таки находил нужное решение, но из-за неправильной распринтовки грешил на ошибку.!
Остаток от деления одного ненормализованного числа на другое ненормализованное число, результат в любом случае ненормализованный.
Эту функцию вообще надо убрать из языка, что бы не травмировать не окрепшие психики.
наверно я все таки находил нужное решение
Остаток от деления одного ненормализованного числа на другое ненормализованное число, результат в любом случае ненормализованный.
Эту функцию вообще надо убрать из языка, что бы не травмировать не окрепшие психики.
Дык у меня все нормализовано. Вот в ч ем прикол.
Делайте нормализацию только перед непосредственным использованием результатов вычислений. Перед этим избегайте по возможности все приведения чисел и преобразования.
Вы делаете лишние преобразования, которые приводят к потере знаков.
Дык у меня все нормализовано. Вот в ч ем прикол.
Это уже отчаянные коды..... Я делал по разному. Но как сказал выше. Наверно из-за неправильно принята я грешил на ошибку. Хотя и в коде эти переменные были с глюком.