237
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());
20.18 OrderSend
int
OrderSend(
string symbol, int cmd, double volume, double price,
int slippage, double stoploss, double takeprofit,
string comment=NULL, int magic=0,
datetime expiration=0, color arrow_color=CLR_NONE)
Основная функция, используемая для открытия позиции или установки отложенного
ордера.
Возвращает номер тикета, который назначен ордеру торговым сервером или -1 в случае
неудачи. Чтобы получить дополнительную информацию об ошибке, необходимо вызвать
функцию GetLastError()
.
Замечания.
При открытии рыночного ордера (OP_SELL или OP_BUY) в качестве цены открытия
могут использоваться только самые последние цены Bid
(для продажи) или Ask (для
покупки). Если операция проводится по финансовому инструменту, отличному от
текущего, то для получения последних котировок по этому инструменту необходимо
воспользоваться функцией MarketInfo()
с параметром MODE_BID или MODE_ASK.
Нельзя использовать расчетную либо ненормализованную цену. Если запрашиваемой
цены открытия не было в ценовом потоке либо запрашиваемая цена не нормализована в
соответствии с количеством знаков после десятичной точки
, то будет сгенерирована
ошибка
129 (ERR_INVALID_PRICE). Если запрашиваемая цена открытия сильно
устарела, то независимо от значения параметра slippage будет сгенерирована ошибка 138
(ERR_REQUOTE). Если же запрашиваемая цена устарела, но ещё присутствует в ценовом
потоке, то позиция открывается по текущей цене и только в том случае, если текущая цена