Просьба помочь найти ошибку!!! - страница 2

 
PSmith:

Проблема в том что OrderStopLoss() возвращает ненормализованное(!) значение. Сам на это натыкался.


А OrderStopLoss() > MA+Point не подходит, так как потом делается OrderModify(. ..,MA,...) и натыкаемся на ту же ошибку 1.


Либо приходится сдвигать стоп на лишний Point. Решило проблему


OrdSL = NormalizeDouble(OrderStopLoss(),Point);


if(OrdSL > MA)


....



Ну я прогнал вот в таком виде  "if(OrderStopLoss()-MA>Point &&...)"  по истории за 8лет, вроде ошибки перестали появляться.
 
PSmith:

Проблема в том что OrderStopLoss() возвращает ненормализованное(!) значение. Сам на это натыкался.


А OrderStopLoss() > MA+Point не подходит, так как потом делается OrderModify(. ..,MA,...) и натыкаемся на ту же ошибку 1.


Либо приходится сдвигать стоп на лишний Point. Решило проблему


OrdSL = NormalizeDouble(OrderStopLoss(),Point);


if(OrdSL > MA)


....


Вы знаете я решил, на всякий случай ради интереса, проверить Вашу версию,

OrdSL = NormalizeDouble(OrderStopLoss(),Point);
if(OrdSL>MA && MA-Ask>10*Point && MA<OrderOpenPrice())
  {
  Print(OrdSL>MA," && ",MA-Ask>10*Point," && ",MA<OrderOpenPrice());
  OrderModify(OrderTicket(),OrderOpenPrice(),MA,0,0,CLR_NONE); 
  }

и вот что получилось: