Перейти к основному содержимому

FAQ

Для чего используется параметр order_id метода PostOrder?

Сейчас у нас есть два параметра с одинаковым названием:

  • order_id как входной параметр — ключ идемпотентности в формате `UID`. Уникальность значений отслеживается только за последний месяц.
  • order_id как выходной параметр — биржевой идентификатор заявки, который в дальнейшем используется для отслеживания статуса заявки.

Если вы используете параметр как ключ идемпотентности, многократный вызов метода PostOrder с одинаковым order_id не приведет к выставлению более одного торгового поручения.

При вызове метода проверяется уникальность связки order_id и account_id:

  • Если указанная пара не найдена, создается новое торговое поручение.
  • Если связка уже есть (поручение с этим order_id по данному номеру счета было выставлено раньше) — метод PostOrder вернет статус уже выставленного торгового поручения, то есть отработает согласно логике метода GetOrderState.

Можно ли увидеть ключ идемпотентности (order_id) в операциях, выставленных поручениях и т.п.?

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

Сколько хранится ключ идемпотентности (order_id) на стороне брокера?

Ключ хранится один месяц, но пока мы не может дать гарантию его сохранности. Сейчас подразумевается полная уникальность переданного order_id в разрезе номера счета — account_id.

Что передавать в параметре quantity метода PostOrder? Количество бумаг или количество лотов?

Требуемое количество лотов.

У многих инструментов лотность не равна единице — учитывайте это при выставлении торговых поручений.

Как рассчитать полную стоимость сделки?

Полная стоимость сделки включает в себя не только сумму операции покупки или продажи биржевого инструмента, но и комиссии брокера, сервисные комиссии, гарантийное обеспечение для операций с фьючерсами и другие параметры.

Рассчитать размеры комиссий можно из описания вашего тарифа. Учитывайте, что комиссии берутся за сделки, а не за поручение — то есть одно торговое поручение может рождать несколько сделок. Процент комиссии фиксированный в зависимости от тарифа.

Размер начальной и фактической комиссии можно узнать в деталях торгового поручения через метод GetOrderState.

Подробнее про расчет стоимости сделок с фьючерсами и облигациями

Можно ли получить список уже исполненных торговых поручений?

Пока нет. Сейчас метод GetOrders возвращает только список активных торговых поручений — то есть поручений, которые еще не исполнены и не отменены.

Какие есть статусы торговых поручений и что они означают?

Описание статусной модели торговых поручений

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

Почему лимитная заявка исполнилась по другой цене?

Лимитное торговое поручение исполняется либо цене, указанной при ее выставлении, либо по «лучшей цене» для определенного направления сделки. На бирже этот механизм называется Best Execution и подразумевает исполнение торгового поручения по цене, которая выгоднее указанной в поручении.

Как перевести цену поручения в тип Quotation?

Подробнее о конвертации

Как изменить выставленную заявку?

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

Можно ли выставлять поручения по счету Инвесткопилки?

Нет. Если попытаться выставить поручение по счету Инвесткопилки через метод PostOrder, в ответе вернется ошибка с кодом 40004 и сообщением Working with orders is not available with this account.

Нужно ли включать маржинальную торговлю для торгов на срочном рынке?

Да. Для выставления поручений на срочном рынке нужно включить маржинальную торговлю в приложении и терминале — иначе вернется ошибка 30051 из cписка кодов ошибок.

Чем отличается рыночная заявка от лимитной?

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

Помимо рыночных и лимитных заявок, в T-Invest API можно выставлять заявки типа «Лучшая цена».

Чем отличаются методы GetOrders и GetOrderState?

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

Существуют ли ограничения на стоимость заявки?

Да, на данный момент такие ограничения есть. Сейчас в T-Invest API нельзя выставить заявку со стоимостью выше установленных значений для каждой из валют — ее будет нужно подтверждать по СМС. Поэтому разбивайте такие заявки на заявки меньшего размера.

Если вы превысите лимит, вернется ошибка 90003. Все коды ошибок.

Лимиты на стоимость заявки для разных валют

ВалютаПолное название валютыЛимит
RUBРубль30 000 000
USDДоллар США500 000
EURЕвро500 000
GBPФунт стерлингов5 000
CHFШвейцарский франк5 000
CNYЮань50 000
JPYИена500 000
HKDГонконгский доллар50 000
TRYТурецкая лира50 000
KZTКазахстанский тенге500 000
BYNБелорусский рубль50 000
AMDАрмянский драм500 000
UZSУзбекский сум5 000 000
KGSКиргизский сом50 000
TJSТаджикский сомони50 000
XAUЗолото50 000
XAGСеребро50 000

openapi@tbank.ru

АО «ТБанк» использует файлы «cookie» с целью персонализации сервисов и повышения удобства пользования веб-сайтом. «Cookie» представляют собой небольшие файлы, содержащие информацию о предыдущих посещениях веб-сайта. Если вы не хотите использовать файлы «cookie», измените настройки браузера.