Как узнать, находится ли отложенный ордер в рынке?

 
Есть отложенный ордер, при достижении определённой цены рынком, хочется проверить, находится ли этот отложенный ордер в рынке или же ещё ждёт своей цены открытия. Соответственно если ещё ждёт, можно удалить его.

Посмотрел документацию, не смог найти функций сообщающих статус выбранного ордера. Как быть? Можно ли использовать для этих целей функцию OrderOpenTime(), и что в этом случае она должна возвращать?

Спасибо за помощь.
 
По идее можно. Так как в документации написано что функция возвращает время открытия ордера, а не время выставления ордера. А вот что возвращать не понятно. По идее 0.
Как один из вариантов. Задай отложенному ордеру определный magic number.Проверяй наличие открытой позиции с устрановленным magic number.
Или вместо magic number используй комментарии для идентификации отлженного ордера.
Можно ещё проверять наличие самого отложенного ордера.
 
Luptator:
Как один из вариантов. Задай отложенному ордеру определный magic number.Проверяй наличие открытой позиции с устрановленным magic number.
Или вместо magic number используй комментарии для идентификации отлженного ордера.
Можно ещё проверять наличие самого отложенного ордера.
Я, наверное, не вполне что-то понимаю… дело в том, что я знаю тикет ордера и могу к нему обратиться, но мне нужно узнать вошел ли ордер с данным тикетом в рынок. Т. е., как я понимаю, нужно проверить для данного ордера наличие открытой позиции (так ведь?), так вот как сделать эту проверку непонятно.

Возможно, я что-то путаю с терминологией, сейчас своими словами опишу что надо. Я выставляю отложенный ордер, по какой-то цене. Рынок может дойти до этой цены и тогда ордер начнёт своё действие (войдёт на рынок) и будет продолжать движение до тейк профита или стоп лосса, после чего закроется (выйдет из рынка). Мне нужно узнать для конкретного ордера его состояние, ждёт ли он своей цены открытия (просто висит «в сторонке»), или же он уже открыл свою позицию и находится в рынке.

 
polecat:
Luptator:
Как один из вариантов. Задай отложенному ордеру определный magic number.Проверяй наличие открытой позиции с устрановленным magic number.
Или вместо magic number используй комментарии для идентификации отлженного ордера.
Можно ещё проверять наличие самого отложенного ордера.
Я, наверное, не вполне что-то понимаю… дело в том, что я знаю тикет ордера и могу к нему обратиться, но мне нужно узнать вошел ли ордер с данным тикетом в рынок. Т. е., как я понимаю, нужно проверить для данного ордера наличие открытой позиции (так ведь?), так вот как сделать эту проверку непонятно.

Возможно, я что-то путаю с терминологией, сейчас своими словами опишу что надо. Я выставляю отложенный ордер, по какой-то цене. Рынок может дойти до этой цены и тогда ордер начнёт своё действие (войдёт на рынок) и будет продолжать движение до тейк профита или стоп лосса, после чего закроется (выйдет из рынка). Мне нужно узнать для конкретного ордера его состояние, ждёт ли он своей цены открытия (просто висит «в сторонке»), или же он уже открыл свою позицию и находится в рынке.

СДЕЛАЙТЕ Select by ticket и прверьте OrderType().....
 
polecat:
Я, наверное, не вполне что-то понимаю… дело в том, что я знаю тикет ордера и могу к нему обратиться, но мне нужно узнать вошел ли ордер с данным тикетом в рынок. Т. е., как я понимаю, нужно проверить для данного ордера наличие открытой позиции (так ведь?), так вот как сделать эту проверку непонятно.

if ( OrderSelect( known_ticket, SELECT_BY_TICKET ) )
{
   // если ордер не закрыт (не удален)
   if ( OrderCloseTime() <= 0 )
   {
      // если ордер сработал
      if ( OrderType() < 2 )
      {
         // что-то делаем
      }
   }
}
 
Спасибо, то что надо!
Причина обращения: