В последующих функциях мы рассмотрим торговые функции, с помощью которых можно открывать/закрывать позиции, размещать/модифицировать и удалять ордера:
Очень часто необходимо указать количество лотов открытой позиции или отложенного ордера. Самой простой вариант получить это значение - это выделить позицию или ордер с помощью функции OrderSelect(), а потом вызвать функцию OrderLots().
double OrderLots()
Функция возвращает количество лотов в выделенном ордере или позиции.
Как я уже сказал, основное применение функции - передать количество лотов в качестве параметра в функции OrderClose() и OrderModify().
Забегая вперед, расскажу о формате функции OrderClose():
bool OrderClose(int ticket, double lots, double price, int slippage, color Color=CLR_NONE)
Где:
Как Вы видите, в качестве второго параметра нам нужно передать в функцию количество лотов. Самый простой способ сделать это - получить количество лотов с помощью функции OrderLots():
// закрыть позицию с тикером 77777 по текущей цене
// предположим, что позиция уже выделена с помощью OrderSelect
// и мы точно знаем, что это открытая позиция
if (OrderType() == OP_SELL)
OrderClose(OrderTicket(), OrderLots(), Ask, 3);
else
OrderClose(OrderTicket(), OrderLots(), Bid, 3);
В этом примере нам встретились две предопределенные переменные типа double:
В следующих выпусках мы продолжим знакомство с торговыми функциями.
Есть что сказать? Не стесняйтесь!
Последние статьи:
Видео по теме:
УГОЛОК АДМИНИСТРАТОРА