| / | Форум |
|
conys
02.10.2007 13:48
PSmith писал (Р°): Проблема в том что OrderStopLoss() возвращает ненормализованное(!) значение. Сам на это натыкался. А OrderStopLoss() > MA+Point не подходит, так как потом делается OrderModify(. ..,MA,...) и натыкаемся на ту же ошибку 1. Либо приходится сдвигать стоп на лишний Point. Решило проблему OrdSL = NormalizeDouble(OrderStopLoss(),Point); if(OrdSL > MA) .... Ну я прогнал вот в таком виде "if(OrderStopLoss()-MA>Point &&...)" по истории за 8лет, вроде ошибки перестали появляться. |
|
conys
03.10.2007 02:28
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); } и вот что получилось: ![]() |
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий