Округление (обрезка) значения размера лота
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))
все таки так не должно быть по моему, т.к. условие не будет работать
Проверить получится только завтра, когда рынок начнет работать. По результату отпишусь
Доброго времени суток.
Пишу блок расчета мани-менеджмента на MQL5. Возникла сложность с округлением рассчитанного лота до второго знака. NormalizeDouble не помогает. Прошу подсказать решение задачи.