Print("lot="+lot);
что выдает?
0.050000000000000003. Нужно получить 0.05
0.050000000000000003. Нужно получить 0.05
это понятно
почему то не происходит нормализация...
не факт, но попробовать можно следующее:
if (_Symbol == "EURUSD") { lot = NormalizeDouble(lot / PricePoint_EURUSD,2); } else { lot = NormalizeDouble(lot / PricePoint_USDJPY,2); } lot = NormalizeDouble((lot * LotStep),2); Print(_Symbol+" lot="+lot);
0.050000000000000003. Нужно получить 0.05
А как же вариации на тему
MormalixeDouble (NormalizeDouble (((lot * 100,0) )/100)/100,2) ?
А еще можно в цикле замутить сравнение double пока не будет равно !
это понятно
почему то не происходит нормализация...
не факт, но попробовать можно следующее:
Проверить получится только завтра, когда рынок начнет работать. По результату отпишусь
А как же вариации на тему
MormalixeDouble (NormalizeDouble (((lot * 100,0) )/100)/100,2) ?
А еще можно в цикле замутить сравнение double пока не будет равно !
еще интереснее сравнить
if(0.05 == NormalizeDouble(lot,2))
все таки так не должно быть по моему, т.к. условие не будет работать
Проверить получится только завтра, когда рынок начнет работать. По результату отпишусь

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Доброго времени суток.
Пишу блок расчета мани-менеджмента на MQL5. Возникла сложность с округлением рассчитанного лота до второго знака. NormalizeDouble не помогает. Прошу подсказать решение задачи.