OrderStopLoss() возвращает ненормализованное значение - это нормально?

 
            double orderStopLossOld=OrderStopLoss();
            double orderStopLossOld2=NormalizeDouble(OrderStopLoss(),Digits);
            Print(orderStopLossOld);
            Print(orderStopLossOld2);
            Print("equal=", orderStopLossOld==orderStopLossOld2);
Периодически проскакивают строчки, где эти значения не равны:

13:59:28 2007.05.31 07:00 ar_1 EURUSD,H1: 1.3459
13:59:28 2007.05.31 07:00 ar_1 EURUSD,H1: 1.3459
13:59:28 2007.05.31 07:00 ar_1 EURUSD,H1: equal=0

Я понимаю, что можно сравнивать
NormalizeDouble(orderStopLossOld-orderStopLossOld2,1)==0
Но вопрос в другом:
OrderStopLoss() возвращает ненормализованное значение - это нормально?
 

Совершенно необязательно что после нормализации вещественное число будет строго равно числу типа 1.234500000000. Оно запросто может быть 1.234499999999, а может 1.234500000001

Мы уже давали на этом форуме объяснения по поводу внутреннего представления вещественных чисел в архитектуре intel

 
stringo:

Совершенно необязательно что после нормализации вещественное число будет строго равно числу типа 1.234500000000. Оно запросто может быть 1.234499999999, а может 1.234500000001

Мы уже давали на этом форуме объяснения по поводу внутреннего представления вещественных чисел в архитектуре intel


а OrderModify эти 1.234499999999 нормально скушает?
 
Tovaroved:
stringo:

Совершенно необязательно что после нормализации вещественное число будет строго равно числу типа 1.234500000000. Оно запросто может быть 1.234499999999, а может 1.234500000001

Мы уже давали на этом форуме объяснения по поводу внутреннего представления вещественных чисел в архитектуре intel


а OrderModify эти 1.234499999999 нормально скушает?

Да