Справочник MQL4
Торговые функции
OrderSelect
| bool OrderSelect( |
int index, int select, int pool=MODE_TRADES) |
Функция выбирает ордер для дальнейшей работы с ним. Возвращает TRUE при успешном завершении функции.
Возвращает FALSE при неудачном завершении функции.
Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().
Параметр pool игнорируется, если ордер выбирается по номеру тикета. Номер тикета является уникальным идентификатором ордера.
Чтобы определить, из какого списка выбран ордер, необходимо проанализировать его время закрытия. Если время закрытия
ордера равно 0, то ордер является открытым или отложенным и взят из списка открытых позиций терминала. Отличить открытую позицию от отложенного ордера
можно по типу ордера. Если время закрытия ордера не равно 0, то ордер является
закрытым или удаленным отложенным и был выбран из истории терминала. Отличить закрытый
ордер от удаленного отложенного также можно по типу ордера.
Параметры:
| index |
- |
Позиция ордера или номер ордера в зависимости от второго параметра. |
| select |
- |
Флаг способа выбора. Mожет быть одним из следующих величин: SELECT_BY_POS - в параметре index передается порядковый номер позиции в списке, SELECT_BY_TICKET - в параметре index передается номер тикета. |
| pool |
- |
Источник данных для выбора. Используется, когда параметр select равен SELECT_BY_POS. Mожет быть одной из следующих величин: MODE_TRADES (по умолчанию) - ордер выбирается среди открытых и отложенных ордеров, MODE_HISTORY - ордер выбирается среди закрытых и удаленных ордеров. |
Пример:
if(OrderSelect(12470, SELECT_BY_TICKET)==true)
{
Print("order #12470 open price is ", OrderOpenPrice());
Print("order #12470 close price is ", OrderClosePrice());
}
else
Print("OrderSelect() вернул ошибку - ",GetLastError());
|
|
|