Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте!
Как правильно в цикле "for" использовать "double"? В справке вроде нету запрета на использование "double".
Короче мои выводы, "double" не рекомендуется использовать в цикле "for" из за отсутствие нормализовать ВыражениеЗ после каждой итерации. Это может привести как минимум к 2 проблемам:
1) Не правильное количество итерации;
2) Не правильные результаты если использовать ВыражениеЗ для расчётов в операторе.
Спасибо, я понимаю почему так происходит, поэтому и пытался нормализовать. Мне не получилось. Alexey Viktorov вариант тоже не исправил положение, значения остаются не нормализованными. Так остаётся вопрос, "double" можно использовать в цикле и получить всегда правильное количество итераций?
умножьте на 10 в нужной степени до получения целых чисел. Сперва тоже мучался, Счас даже цену привожу к целому и работаю с целыми числами или с округлениями (round) до целых. Ошибок меньше, читабельность лучше.
Вообще как сказал один программист после получения сводок с биржи, не понимаю почему числа определенной разрядности представлены действительными, а не целыми числами. Это же не правильно по логике.))))
умножьте на 10 в нужной степени до получения целых чисел. Сперва тоже мучался, Счас даже цену привожу к целому и работаю с целыми числами или с округлениями (round) до целых. Ошибок меньше, читабельность лучше.
Вообще как сказал один программист после получения сводок с биржи, не понимаю почему числа определенной разрядности представлены действительными, а не целыми числами. Это же не правильно по логике.))))
Спасибо, я по старинке int буду использовать, а потом уже делить для double. ;)
Спасибо, но ваш пример тоже не дал правильный результат. В printf видно что нормализация не происходит:
Извините, надо было проверить. А так получилось «Хотел как лучше, а получилось как всегда»
Результат
Правильный код
Правильный код
Осторожно, не поставьте step=0.04 ;)
Осторожно, не поставьте step=0.04 ;)
Это совет только тем кто не умеет пользоваться мозгами.)))
Извините, надо было проверить. А так получилось «Хотел как лучше, а получилось как всегда»
Результат
Правильный код
i=NormalizeDouble(i+step, 1)
Ах, спасибо! Сам я так не додумался. Вот это как раз те тонкости, которые нам новичкам помогает в программирование! ;)
я ищу методы сортировки массива структур. Есть у кого то рабочие Варианты ?
https://www.mql5.com/ru/forum/170952/page134#comment_11532251
https://www.mql5.com/ru/forum/170952/page134#comment_11532251
Не работает...