Округление (обрезка) значения размера лота - страница 2

 
Renat Akhtyamov:
тестер же есть

2018.10.07 02:35:10.487 2018.01.02 09:00:00   EURUSD lot=0.05


 
Неужто без тестера непонятно? 
 
Sergey:

2018.10.07 02:35:10.487 2018.01.02 09:00:00   EURUSD lot=0.05

нормализация работает

значит у Вас уже где то перед или в самой функции открытия позиции происходит повторный пересчет лота

там покопайтесь

либо поставьте условие, чтобы лот был равен или больше минимального, только тогда открываем

 
Renat Akhtyamov:

нормализация работает

значит у Вас уже где то перед или в самой функции открытия позиции происходит пересчет лота

там покопайтесь

Ренат, нормализация не совсем округление

 
Алексей Тарабанов:

Ренат, нормализация не совсем округление

ок

какие варианты?

 
Renat Akhtyamov:

еще интереснее сравнить

if(0.05 == NormalizeDouble(lot,2))

все таки так не должно быть по моему, т.к. условие не будет работать

Проверил, равенство соблюдается. Значит, работать должно..

2018.10.07 02:42:28.936 2018.01.02 09:00:00   равны

 
Renat Akhtyamov:

ок

какие варианты?

Нужно так: Print("lot="+DoubleToString(lot,2));

Впрочем, там нужно ещё в значении лота рассчитать нужное и правильное количество знаков после запятой.

 
Artyom Trishkin:

Нужно так: Print("lot="+DoubleToString(lot,2));

Впрочем, там нужно ещё в значении лота рассчитать нужное и правильное количество знаков после запятой.

согласен, но тут опять же округление

поэтому хотелось увидеть оригинал переменной lot

зная, что Print прожевывает и без конвертации, был предложен именно такой вариант

количество знаков после запятой в первом посте не оговаривалось как проблема
 
В общем, все сложно... )
 
Artyom Trishkin:

Нужно так: Print("lot="+DoubleToString(lot,2));

Впрочем, там нужно ещё в значении лота рассчитать нужное и правильное количество знаков после запятой.

Такой вариант тоже проверил. Результат:

2018.10.07 02:52:27.422 2018.01.02 09:00:00   lot=0.05

Считаю вопрос решенным. Остается только непонятным, почему  Отладчик выдает не нормализованное значение лота..
Причина обращения: