Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Приношу свои искренние соболезнования разработчикам, вынужденным по 1000 раз объяснять одно и то же каждому новому юзеру..
Это уже откровенный наезд...
Про хранение вещественных чисел в памяти написано в учебниках и там ничего не сказано про то, что переменные могут сами по себе измениться. Хотя на этом форуме я слышал это не только от SK.
Поэтому, если Вы 1000 раз ввели в заблуждение каждого нового юзера, Вам надо теперь их найти и извениться за свои слова!
Я согласен с Simca . При выполнении арифметических операций возможны недочеты, а при хранении, записи или чтении они исключены!
Поэтому я и спрашивал алгоритм работы функции NormalizeDouble(), возможно, в ней тоже есть арифметические операции, которые приводят к ошибке?
Как думаешь Simca?
ОК. Вы так уверенно об этом говорите, что я уже и засомневалсы в своих словах.
До некоторых пор мне приходилось работать на старом ПК с оперативкой 256Мб. При подгузке нескольких программ операционка выгружала часть данных на диск, а потом их снова загружала. С тех пор, как я переделал код (указание нормализации в операторе сравнения) ошибка перестала появляться. Но после ваших слов уже засомневался - а вдруг я и правда там что-то ещё наисправлял, да и не заметил.
Не знаю теперь - извиняться или нет.. Если я не прав, то пусть 1000 юзеров меня простят.
(но всё же нормализацию лучше производить непосредственно при вычислении операции сравнения:)
Про хранение вещественных чисел в памяти написано в учебниках и там ничего не сказано про то, что переменные могут сами по себе измениться. Хотя на этом форуме я слышал это не только от SK.
Но, все это относится к вычислениям, храниться же значения в памяти будут неизменными, что нормализованные они, что нет.
Поэтому я и спрашивал алгоритм работы функции NormalizeDouble(), возможно, в ней тоже есть арифметические операции, которые приводят к ошибке?
Как думаешь Simca?
(но всё же нормализацию лучше производить непосредственно при вычислении операции сравнения:)
А со своей стороны (для тех кто не до конца понимает суть вопроса) тоже могу порекомендовать:
но всё же нормализацию лучше производить непосредственно при вычислении операции сравнения (с) SK.
(но всё же нормализацию лучше производить непосредственно при
вычислении операции сравнения:)
Сорри, но с точки зрения эффективности есть гораздо более удачные реализации для сравнение данных, требующих нормализации. Вобщем, это стандарт (алгоритм сравнения). Нужно сравнивать разницу с половиной размерности шкалы. О чем это я: для сравнения цен (отличаются или нет) нужно взять разницу и сравнить с величиной 0,5*Роинт ( ее можно вычислить всего один раз при инициализации эксперта\скрипта\индикатора. Это значительно эффективнее вызова одной функции, а тем более двух, а если еще и в цикле).... И будет все равно как эти данные хранятся и до какого незначащего знака округляются.
Успехов.
РИЗОЛЬТАТЫ ИССЛЕДОВАНИЕВ СРАВНЕНИЯ ДАБЛОВ в mql4. Во-первых, работа с даблами - это чисто компильлерская фишка, поэтому требовать удобства от mql4, который по сути - скрыпт с интырпритатором, неумесна. Главная, разработчеки дали способ, ГАРАНТИРОВАННО правильного результата сравнения, мы его проверили ручками, он, конечно, грамостковат, но РАБОЧЕЙ!!! Хотя в докуминтацыи указано, что нормалезовать надо тока в случае "!=" или "==", нащы незовисимыя икспертныя испытания показали, что (a>b) НЕ ГОРАНТИРОВАИТ (!) корректный результат в случае, если a окажется равной b! Даже если вы ПРИДВОРИТИЛЬНО нормольлезовале и а и b, 1 хрен при равенстве чисел результат непредскозуем. А вот конструкцыя разработчиков::: NormalizeDouble(a-b, Digits)>0 работает надёжно! Не знаю, чем тута товарещам не понравилася ф-ция нормолезацыи... Можабыть она (ВНУТРИ) вполне семпотична зделана вот так: два дабла делятся на дабл точности, и округляются в меньшую (или большую сторону). А посли - сравнивайются целые беспроблемна.
Прошу Вас писать на правильном русском языке.
Дайти мне ссылку на сайт розработчека (русского языка), и, обещаю, что буду испоьзовать ТОЛЬКО ОПРЕДЕЛЕНИЯ АВТОРА. :) Ваш изык, на мой взглят, не более правилен, чем мой, но если ВАМ ЛИЧНО чижыло понемать, то я буду делоть перивод "спицыально для Rosh", ежоли вы не могити отлечить бла-бла от експертной аценке. Потому как я не вам писал, а 1001-ому новичку. :)
Например, www.gramota.ru
У нас нет олбанского раздела форума. Тем не менее, после следующего же сообщения не по-русски Вы будете отправлены именно туда. Пожалуйста, не надо коверкать великий и могучий.