Скачать MetaTrader 5

Информация об ордере

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
traderEvgen
414
traderEvgen  
как узнать в каком состоянии ордер: открытый или закрытый ?
Dmitry Fedoseev
43847
Dmitry Fedoseev  
У открытого OrderCloseTime() равно 0.
Sergey Gritsay
6581
Sergey Gritsay  
traderEvgen:
как узнать в каком состоянии ордер: открытый или закрытый ?
Для какого терминала интересуетесь?
traderEvgen
414
traderEvgen  
Sergey Gritsay:
Для какого терминала интересуетесь?
MT4
Sergey Gritsay
6581
Sergey Gritsay  
traderEvgen:
MT4
Тогда вам сюда для начала изучить все свойства этих функций https://docs.mql4.com/ru/trading
Торговые функции - Документация на MQL4
Торговые функции - Документация на MQL4
  • docs.mql4.com
Торговые функции - Документация на MQL4 - Документация на MQL4
traderEvgen
414
traderEvgen  

мне после того, как сработала ф-ция OrderModify() нада закрыть ордер когда наступят определенный условия или когда сработает стоп лосс.

 

   if(ordersModify)
   {
      for(int i=0; i<OrdersTotal(); i++)
      {
         if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
         if(OrderMagicNumber()!= magicNumber2 || OrderSymbol()!=Symbol()) continue;
         // если ордер не закрыт (не удален)
         /if (OrderCloseTime()==0)
         {
            if(CloseOrderTwo()) ordersModify = false;
         }
         else ordersModify = false;
      }
   }
CloseOrderTwo()  - закрывает ордера, но если ордер уже закрыт по стоп-лосу, то этот else ordersModify = false; не срабатывает
traderEvgen
414
traderEvgen  
Dmitry Fedoseev:
У открытого OrderCloseTime() равно 0.

не знаю как правильно использовать

Sergey Gritsay
6581
Sergey Gritsay  
if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES))

в этой строке вы уже производите выбор среди открытых ордеров

Dmitry Fedoseev
43847
Dmitry Fedoseev  
traderEvgen:

не знаю как правильно использовать

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

if(OrderSelect(SELECT_BY_TICKET)){
   if(OrderCloseTime()==0)...
} 
Dmitry Fedoseev
43847
Dmitry Fedoseev  
traderEvgen:

мне после того, как сработала ф-ция OrderModify() нада закрыть ордер когда наступят определенный условия или когда сработает стоп лосс.

 

В показанном вами коде выполняется просмотр открытых ордеров, сред них все только открытые ордера. Если после того, как сработала функция модификация, то и надо проверять эти условия. Какую вы там модификацию делаете, те условия и проверять или как-то пометить ордер (глобальной переменной).

Когда сработает стоплосс, то и закрывать уже нечего, стоплосс это тоже закрытие. 

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий