И как же быть с этим OrderSend !?

 

В советнике использую следующую конструкцию:

ticket=OrderSend (MTSSymbol,OP_BUY,VolumeLot,Ask,100,0,0,"No comment",16384,0,Green);

выдаёт ошибку Invalid Price, правда с десятого раза может и открыться позиция! Я так понимаю что сначала запрашивается цена Ask, затем ордер с этой ценой передаётся системе, а к тому времени такой цены нет! По идее должно сработать slippage =10 или 100 или 1000!? Но эффект также не однозначен! Как быть!? Я хочу тупо быстро купить по рынку!!!!!!!!!

 
OrderSend(MTSSymbol,OP_BUY,VolumeLot,NormalizeDouble(Ask,Digits),Slippage,0,0,"No comment",Magic,0,Green);
 

rejie:

...........Как быть!?........

Забейте. Ну не сложилось у Вас с форексом, так ему же хуже! Пусть без Вас мучается.
 
rustein:


Если запросить ASK то имеем: 89.159 (AUDJPY), а если NormalizeDouble(Ask,Digits), то то же самое 89.159, и опять Invalid Price !!! :(
 
rejie:

Если запросить ASK то имеем: 89.159 (AUDJPY), а если NormalizeDouble(Ask,Digits), то то же самое 89.159, и опять Invalid Price !!! :(

Invalid Broker !!! :)
 
rejie:

В советнике использую следующую конструкцию:

ticket=OrderSend (MTSSymbol,OP_BUY,VolumeLot,Ask,100,0,0,"No comment",16384,0,Green);


выделенное красным соответствует друг другу ?
 
rustein:
Invalid Broker !!! :)

Кое что прояснилось! Вот так работает!

RefreshRates();

ticket=OrderSend (MTSSymbol,OP_BUY,VolumeLot,NormalizeDouble(Ask,Digits),0,0,0,"",0,0,Green);

А в данном случае, если я открываю по рыночной цене имеет смысл испольовать проскальзование, или оно требуется только в отложенных ордерах!?

 
sergeev:

выделенное красным соответствует друг другу ?

Да всё в контексте одного инструмента! После использования RefreshRates(); всё ок! Спасибо всем! Остаётся вопрос про проскальзывание и ещё назрел вопрос - возможно ли изменить путь C:\Program Files\MetaTrader Finam\experts\files !? Ну если я к примеру использую RAMDRIVE на диске B:\ !?
 
rejie:
Ну если я к примеру использую RAMDRIVE на диске B:\ !?
только WinApi
Причина обращения: