Советник не всегда открывает ордера, и не всегда их модифицирует. OrderSend error 134 и OrderModify error 4108. - страница 2

 
evillive:

если значения обоих индикаторов близки к цене, тогда разницу в пунктах вычислить можно так:


Оказывается, весь секрет в функции MathAbs().  Теперь всё заработало, но я так и не понял почему, хоть и прочитал описание данной функции. Спасибо вам огромное! 

Если вас не затрнуднит, не могли бы вы объяснить почему всё заработало? Чем отличаются значения в MathAbs() и нет? Я всегда считал что модуль превращает отрицательное число в положительное, а с положительным не делает ничего. Т.е. |-a| = a,   |a| = a;

 
Hurricanas:


Оказывается, весь секрет в функции MathAbs().  Теперь всё заработало, но я так и не понял почему, хоть и прочитал описание данной функции. Спасибо вам огромное! 

Если вас не затрнуднит, не могли бы вы объяснить почему всё заработало? Чем отличаются значения в MathAbs() и нет? Я всегда считал что модуль превращает отрицательное число в положительное, а с положительным не делает ничего. Т.е. |-a| = a,   |a| = a;

Так и есть,но разница значений индикаторов может ведь получиться и отрицательной, или нет? Если есть вероятность получения отрицательной разницы, но на выходе нужно положительное значение то MathAbs поможет.
Причина обращения: