PositionClosePartial

Закрывает часть позиции по указанному символу при "хеджинговом" учете.

bool  PositionClosePartial(
   const string  symbol,                  // символ
   const double  volume,                  // объем
   ulong         deviation=ULONG_MAX      // отклонение
   )

Закрывает часть позиции с указанным тикетом при "хеджинговом" учете.

bool  PositionClosePartial(
   const ulong   ticket,                  // тикет позиции
   const double  volume,                  // объем
   ulong         deviation=ULONG_MAX      // отклонение
   )

Параметры

symbol

[in]  Наименование торгового инструмента, по которому предполагается закрыть часть позиции. Если для частичного закрытия позиции указан символ (не тикет), то будет выбрана первая найденная позиция по данному символу, имеющая заданный MagicNumber (идентификатор эксперта). Поэтому в ряде случаев лучше использовать вариант PositionClosePartial() с указанием тикета позиции.

volume

[in]  Объем, на который нужно уменьшить позицию. Если значение больше, чем объём частично закрываемой позиции, то произойдет полное закрытие позиции. Новая позиция в обратном направлении открыта не будет.

ticket

[in]  Тикет закрываемой позиции.

deviation=ULONG_MAX

[in]  Максимальное отклонение от текущей цены (в пунктах).

Возвращаемое значение

true - в случае успешной базовой проверки структур, иначе false.

Примечание

Успешное окончание работы метода PositionClosePartial(...) не всегда означает успешное совершение торговой операции. Необходимо проверять результат выполнения торгового запроса (код возврата торгового сервера) вызовом метода ResultRetcode().

При "неттинговом" учете позиций (ACCOUNT_MARGIN_MODE_RETAIL_NETTING и ACCOUNT_MARGIN_MODE_EXCHANGE) по каждому символу в любой момент времени может быть открыта только одна позиция, которая является результатом одной или более сделок. Не следует путать между собой позиции и действующие отложенные ордера, которые также отображаются на вкладке "Торговля" в панели "Инструменты".

При независимом представлении позиций (ACCOUNT_MARGIN_MODE_RETAIL_HEDGING) по каждому символу одновременно может быть открыто несколько позиций. В этом случае, PositionClose закроет позицию с наименьшим тикетом.