What I did in Mondey is for good, it was only something that reveals small mistakes. The calculation is still the same, but now it shows the real number. I know it sounds stupid, but I also had many problems with values that look like 10 but are in fact like 9.9999999999991. I can't explain why this happens, it's something technical with floating numbers in C++. Check this: http://stackoverflow.com/questions/2909 ... -precision
In other words, in the past you saw rounded but false numbers and now you are looking at their real value.
That's why they provide NormalizeDouble(). Now I want to normalize the data that can be get from Condition, but it's not as simple as to write NormalizeDouble everywhere, because this function has second parameter for the number of digits after the point and this depends of what kind the value is. If it's lot size, then 2 digits, in case of price - 2, 3, 4 or 5 digits depending on the market. If it's the value of custom indicator... absolutely depends.