Справочник MQL4 Торговые функции OrderSelect
|
OrderSelectВыбирает ордер для дальнейшей работы с ним.
Параметры ticket [in] Индекс ордера или номер ордера в зависимости от второго параметра. select [in] Флаг способа выбора. Mожет быть одним из следующих величин: SELECT_BY_POS - в параметре index передается порядковый номер ордера в списке, pool=MODE_TRADES [in] Источник данных для выбора. Используется, когда параметр select равен SELECT_BY_POS. Mожет быть одной из следующих величин: MODE_TRADES (по умолчанию) - ордер выбирается среди открытых и отложенных ордеров, Возвращаемое значение Возвращает true при успешном завершении функции или false в случае ошибки. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError(). Примечание Параметр pool игнорируется, если ордер выбирается по номеру тикета. Номер тикета является уникальным идентификатором ордера. Чтобы определить, из какого списка выбран ордер, необходимо проанализировать его время закрытия. Если время закрытия ордера равно 0, то ордер является открытым или отложенным и взят из списка открытых ордеров терминала. Отличить открытый ордер от отложенного ордера можно по типу ордера. Если время закрытия ордера не равно 0, то ордер является закрытым или удаленным отложенным и был выбран из истории терминала. Отличить закрытый ордер от удаленного отложенного также можно по типу ордера. Функция OrderSelect() копирует данные об ордере в программное окружение, и последующие вызовы OrderClosePrice(), OrderCloseTime(), OrderComment(), OrderCommission(), OrderExpiration(), OrderLots(), OrderMagicNumber(), OrderOpenPrice(), OrderOpenTime(), OrderPrint(), OrderProfit(), OrderStopLoss(), OrderSwap(), OrderSymbol(), OrderTakeProfit(), OrderTicket(), OrderType() возвращают ранее скопированные данные. Это означает, что самого ордера может уже и не быть (или же в нем изменились цена открытия, уровни Stop Loss / Take Profit или момент истечения), а данные этому ордеру можно еще получать. Для гарантированного получения свежих данных об ордере рекомендуется вызывать функцию OrderSelect() непосредственно перед обращением за ними. При последовательном выборе ордеров с помощью параметра SELECT_BY_POS информация отдаётся в том порядке, в котором она поступила с торгового сервера. Никакая сортировка полученного списка ордеров не гарантируется. Пример:
Смотри также Свойства ордеров, OrderClosePrice(), OrderCloseTime(), OrderComment(), OrderCommission(), OrderExpiration(), OrderLots(), OrderMagicNumber(), OrderOpenPrice(), OrderOpenTime(), OrderPrint(), OrderProfit(), OrderStopLoss(), OrderSwap(), OrderSymbol(), OrderTakeProfit(), OrderTicket(), OrderType() |