Перейти к содержанию

Алгоритм и особенности исполнения торговых поручений

Выставить торговое поручение

Лимитное

Чтобы не тратить время на постоянное отслеживание котировок на бирже, вы можете выставить лимитную заявку — это указание брокеру, какую бумагу или валюту, сколько лотов и по какой цене вы хотите купить или продать.

Биржа ограничивает цену, которую можно указать в лимитной заявке, крайними предложениями в биржевом стакане — параметры limit_up и limit_down.

Важно
Иногда limitDown может быть больше limitUp. Это нормально, потому что limitUp ограничивает покупку, а limitDown — продажу.

Выставить лимитное торговое поручение (заявку) можно через unary-метод postOrder.

Подробнее о лимитном торговом поручении

Рыночное

Это заявка на покупку или продажу активов по цене, которая есть на бирже в данный момент.

У заявки есть важная особенность — при её исполнении может оказаться, что в данный момент на бирже по текущей цене торгуется меньше лотов, чем вы указали, при этом другие лоты есть, но их цена отличается в негативную для вас сторону.

В этом случае брокер купит имеющееся количество лотов по текущей цене, а оставшуюся часть заявки будет покупать по следующей по списку цене. Если на бирже низкая ликвидность — например, торги рано утром или до открытия американской биржи, — оставшаяся часть заявки может быть исполнена по невыгодной для вас цене. Проверить текущую ликвидность можно в биржевом стакане.

Выставить рыночное торговое поручение можно через unary-метод postOrder.

Подробнее о рыночном торговом поручении

«Лучшая цена» (Best price)

Это заявка на покупку или продажу активов по цене, которая есть на бирже в данный момент, но с защитным механизмом.

Цена на бирже меняется ежесекундно, и брокер дополнительно блокирует на вашем счёте примерно 0.3% от суммы заявки, чтобы не отменять сделку при каждом таком изменении. Если цена актива изменится больше, чем на 0.3% в худшую для вас сторону, сделка автоматически отменится, а заблокированная сумма вернётся обратно на брокерский счёт.

Заявка «Лучшая цена» — это лимитная заявка, цена которой на 0.3% выше, чем цена Last Price. Но она исполняется сразу и не добавляется в стакан, как обычная лимитная заявка.

Подробнее о «Лучшей цене»

Выставить торговое поручение по «Лучшей цене» можно через unary-метод postOrder.

Особенности исполнения заявок на Санкт-Петербургской бирже

Все операции с иностранными ценными бумагами в Т-Инвестициях проводятся на Санкт-Петербургской бирже, которая имеет ряд особенностей исполнения заявок.

У биржи есть два пула ликвидности — США и собственный. Пул США подключается в 14:30 мск по летнему американскому времени. Ранее выставленные заявки остаются на СПБ.

В момент выставления торгового поручения механизм best execution проверяет, в каком пуле условия лучше, и выставляет заявку туда. После выставления заявка уже не переносится между пулами, поэтому может быть ситуация, когда пул, в котором выставлена заявка, не достиг лимитной цены, а в другом пуле нужная цена достигалась.

Вся биржевая информация (свечи, стаканы) транслируется, агрегируя информацию со всех пулов ликвидности. Поэтому может быть такое, что выставленное торговое поручение не исполняется, хотя в стакане есть подходящие цены или предложения. В таком случае мы рекомендуем отменить и выставить заявки заново, чтобы механизм выбора пула ликвидности разместил заявку в более подходящем пуле.

Неисполненные заявки могут сниматься в разное время по описанным выше причинам. Время жизни заявки в каждом пуле ликвидности соответствует времени работы соответствующей сессии пула.

Определить доступность выставления

Чтобы успешно разместить заявки на бирже, убедитесь, что:

  • Счёт доступен для совершения операции.
  • У вас достаточно активов для совершения операции или есть необходимое количество активов для совершения маржинальной сделки.

    Чтобы посмотреть текущее состояния портфеля, используйте метод getPositions. Для получения маржинальных показателей счёта — метод getMarginAttributes.

  • Инструмент доступен для торгов.

    Большая часть инструментов доступна для торговли в течение всего времени работы торговой площадки, но торги по определённым бумагам могут прерывать и останавливаться.

    Чтобы посмотреть расписания торгов, используйте метод getTradingSchedules.

    Для получения актуального статуса торговли по инструменту используйте методы сервиса инструментов или стрим информации по инструменту.