Пожалуйста, подскажите
Как определить что отложенный ордер открыт?
Все равно никак не пойму.
Есть несколько ордеров, одни из них открытые, другие отложенные. Как определить событие, что один из отложенных ордеров открылся?
Все равно никак не пойму.
Есть несколько ордеров, одни из них открытые, другие отложенные. Как определить событие, что один из отложенных ордеров открылся?
Все равно никак не пойму.
Есть несколько ордеров, одни из них открытые, другие отложенные. Как определить событие, что один из отложенных ордеров открылся?
в функции start() строите такую конструкцию:
for(i=OrdersTotal()-1;i>=0;i--)//цикл перебора всех ордеров if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))//выбираем ордер if(OrderSymbol()==symbol)//если ордер открыт в текущей валютной паре if(OrderMagicNumber()==magic)//если это ордер, установленный текущей версией программы switch(OrderType()) { case OP_BUY: // обработка открытого ордера break; case OP_SELL: // обработка открытого ордера break; case OP_BUYLIMIT: // обработка отложенного ордера break; case OP_SELLLIMIT: // обработка отложенного ордера break; case OP_BUYSTOP: // обработка отложенного ордера break; case OP_SELLSTOP: // обработка отложенного ордера break; }
как только ордер откроется он попадет в нужную секцию
ps разумеется набор условий по отбору нужных ордеров и набор типов отложек подбираете под себя
В процессе написания советника возник еще один вопрос.
Выбор ордеров функцией OrderSelect по номеру позиции. Я так понимваю, что когда отложенный ордер открывается, то изменяется его номер позиции. И не только его. Какой же смысл использовать функцию по pos?
Я к тому, что анализируя код Terminal из учебника подумал о том, что там идет простой перебор ордеров. Но если ордер изменился то порядок Mas_Ord_New и Mas_Ord_Old будет отличаться и тогда весь учет ордеров рухнет.
Ведь в самом терминале МТ4 отложенные ордера стоят ниже строки профита. а потом, когда открываются - перемещаются выше.
В процессе написания советника возник еще один вопрос.
Выбор ордеров функцией OrderSelect по номеру позиции. Я так понимваю, что когда отложенный ордер открывается, то изменяется его номер позиции. И не только его. Какой же смысл использовать функцию по pos?
Я к тому, что анализируя код Terminal из учебника подумал о том, что там идет простой перебор ордеров. Но если ордер изменился то порядок Mas_Ord_New и Mas_Ord_Old будет отличаться и тогда весь учет ордеров рухнет.
Ведь в самом терминале МТ4 отложенные ордера стоят ниже строки профита. а потом, когда открываются - перемещаются выше.
у каждого ордера есть номер тикета ... может это вам поможет ... помоемому он не изменяеться ...
а так же существуют глобальные переменные котрорые хранят данные в течении месяца не зависимо включен терминал или нет ...
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Пожалуйста, подскажите
Как определить что отложенный ордер открыт?