Нормализацию надо делать для предварительных вычислений.
Alert ("размер позиции = ",MathCeil(NormalizeDouble((230.0*0.01-0)*100.0/230.0,8))/100.0);
Спасибо) Хорошо, дети и жена не видят мой позор.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Начал писать программу, опыта в mql5 ноль, но данная ситуация выходит за рамки приличия:
Lot = MathCeil((Plan-prs)*100/TP)/100; // Определим размер лота с точностью 0.01 до большего
Прогонял на тестере и демосчете неделю, никаких математических проблем не было, но сегодня случайно столкнулся со сказочным числом 230:
Print ("размер позы = ", MathCeil((230*0.01-0)*100/230)/100); высчитывает 0.02 !!!!
MathCeil((230*0.01-0)*100/230) дает 2
(230*0.01-0)*100/230 Слава Богу, дает 1, но от этого не легче - ошибка в расчете позы.
При том, с числами 229 и 231 уже все правильно, другие параметры тоже не были замечены в таких фокусах.
Может, есть какой то Бермудский треугольник чисел в mql5 , где функции и операторы не действуют?