У меня вопрос к разработчикам: Почему функции MathCeil() MathFloor() и MathRound(), которые по смыслу должны возвращать числа целого типа, у вас возращают числа типа double ?

Документация по MQL5: Математические функции / MathCeil
- www.mql5.com
Математические функции / MathCeil - Документация по MQL5
- Ньюансы-тонкости при программировании на MQL4
- Как получить целую часть из десятичного числа?
- [ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда.
Потому что соответствующие crt-функции (c run time library) возвращают данные типа double. Мы просто транслируем вызов в crt.
stringo:
Потому что соответствующие crt-функции (c run time library) возвращают данные типа double. Мы просто транслируем вызов в crt.
что в таком случае делать с предупреждениями о возможной потере данных при конвертации?
int number = MathRound(1.1);
А нельзя сделать так что бы все эти функции вовращали целые числа. Для простого трайдера было бы понятнее и логичнее! Я как понимаю, вы так сделали из -за того, что так вам удобнее....
вот Вам решение
int MathRoundI(double x) { return((int)MathRound(x)); }
Компилятор "заинлайнит" данную функцию и потери в производительности не будет

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь