MT5 Build 1861 проблемные вопросы - страница 3

 
Есть еще один момент if(high[2]>high[1]) - тип double. Выдает false, хотя high[2]=0.98017 high[1]=0.97987 почему?
 
Ekaterina Belova:
Есть еще один момент if(high[2]>high[1]) - тип double. Выдает false, хотя high[2]=0.98017 high[1]=0.97987 почему?

у вас что то не так скомпилировалось наверно ))

и обратите внимание как тип double виден процессору, там всегда есть мизерные значения, даже если вы явно их не присваивали, это важная особенность, из-за которой сравнивать на равенство double традиционно ( == ) не получится, погуглите сравнение в с++ вещественных типов, ситуация одинаковая
 
Konstantin:

у вас что то не так скомпилировалось наверно ))

и обратите внимание как тип double виден процессору, там всегда есть мизерные значения, даже если вы явно их не присваивали, это важная особенность, из-за которой сравнивать на равенство double традиционно ( == ) не получится, погуглите сравнение в с++ вещественных типов, ситуация одинаковая

Там же видно _result = true, вроде и false то нет...

 
Vladimir:

Там же видно _result = true, вроде и false то нет...

я показал человеку, что все работает как надо, измените условие и получите false, у нее что то не так собралось поэтому у нее и дает не верный результат

 

Это ошибка по объемам? Реальный объем равен 0, хотя в стакане он отображается.

1

 
SEM:

Это ошибка по объемам? Реальный объем равен 0, хотя в стакане он отображается.


вы сравниваете разные объемы - лимитники и те что прошли по рынку

 
Konstantin:

вы сравниваете разные объемы - лимитники и те что прошли по рынку

Спасибо за информацию!
 
prostotrader:

Не нужно ничего "наивно" считать.

Просто нужно ГРАМОНТНО приводить типы (смысл тут не причем).

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

Не надо путать людей. Я взял слово "наивно" в кавычки не просто так, и воспринимать его буквально - как раз наивно. У PeriodSeconds, как и у любой функции, есть не только тип возвращаемого значения, но и контракт. Для PeriodSeconds это железобетонный контракт на неотрицательное значение. Знаковый тип был выбран просто, чтобы не плодить предупреждения в кодах. Делать дополнительное приведение к ulong бессмысленно, потому что у меня уже есть этот тип в выражении, так что расширение до ulong будет сделано автоматически для всех операндов. Писанина заглавными буквами не прибавляет утверждениям правильности.

И вообще - зачем-то привязались к мелочи, которая не имеет никакого отношения к основной проблеме, с которой я столкнулся при переходе на 1861.

Причина обращения: