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

Заявки

Order

Объект заявка описывается следующими полями:

{
"orderNo": 0,
"transactionId": 0,
"securityCode": "string",
"clientId": "string",
"status": "None",
"buySell": "Sell",
"createdAt": "2023-03-02T07:25:11.226Z",
"price": 0,
"quantity": 0,
"balance": 0,
"message": "string",
"currency": "string",
"condition": {
"type": "Bid",
"price": 0,
"time": "2023-03-02T07:25:11.226Z"
},
"validBefore": {
"type": "TillEndSession",
"time": "2023-03-02T07:25:11.226Z"
},
"acceptedAt": "2023-03-02T07:25:11.226Z",
"securityBoard": "string",
"market": "Stock"
}

orderNo - уникальный идентификатор заявки на бирже. Задается после того, как заявка будет принята биржей (см. поле status);

transactionId - внутренний идентификатор заявки в системе TRANSAQ (для чужой заявки значение всегда равно 0);

securityCode - код инструмента;

clientId - торговый код клиента;

status - текущий статус заявки. Тип OrderStatus;

buySell - тип BuySell;

createdAt - время регистрации заявки на бирже (UTC);

price - цена исполнения условной заявки. Для рыночной заявки значение всегда равно 0;

info

В последующих версиях API поле price для рыночных заявок будет равно null, а не 0.

quantity - объем заявки в лотах;

balance - неисполненный остаток, в лотах. Изначально равен quantity, но по мере исполнения заявки (совершения сделок) будет уменьшаться на объем сделки. Значение 0 будет соответствовать полностью исполненной заявке (см. поле status);

message - содержит сообщение об ошибке, возникшей при обработке заявки. Заявка может быть отклонена по разным причинам сервером TRANSAQ или биржей с выставлением поля status;

currency - код валюты цены;

condition - свойства выставления заявок. Тип OrderCondition;

validBefore - условие по времени действия заявки. Тип OrderValidBefore;

acceptedAt - время регистрации заявки на сервере TRANSAQ (UTC);

securityBoard - основной режим торгов инструмента;

market - рынок инструмента. Тип Market.

OrderStatus

Статус заявки. Принимает следующие значения:

  • None - заявка принята сервером TRANSAQ, и заявке присвоен transactionId;
  • Active - заявка принята биржей, и заявке присвоен orderNo;
  • Matched - заявка полностью исполнилась (выполнилась);
  • Cancelled - заявка была отменена (снята) пользователем или биржей.

OrderCondition

Свойства выставления заявок. Тип условия определяет значение поля type, которое принимает следующие значения:

  • Bid - лучшая цена покупки;
  • BidOrLast- лучшая цена покупки или сделка по заданной цене и выше;
  • Ask - лучшая цена продажи;
  • AskOrLast - лучшая цена продажи или сделка по заданной цене и ниже;
  • Time - время выставления заявки на Биржу (параметр time должен быть установлен);
  • CovDown - обеспеченность ниже заданной;
  • CovUp - обеспеченность выше заданной;
  • LastUp - сделка на рынке по заданной цене или выше;
  • LastDown- сделка на рынке по заданной цене или ниже.

Выставление новой заявки

Для выставления новой заявки необходимо отправить POST запрос на /api​/v1​/orders, передав тело запроса в формате json:

{
"clientId": "string",
"securityBoard": "string",
"securityCode": "string",
"buySell": "Sell",
"quantity": 0,
"useCredit": true,
"price": 0,
"property": "PutInQueue",
"condition": {
"type": "Bid",
"price": 0,
"time": "2023-03-02T07:25:11.226Z"
},
"validBefore": {
"type": "TillEndSession",
"time": "2023-03-02T07:25:11.226Z"
}
}

clientId - торговый код клиента;

securityBoard - основной режим торгов для инструмента;

securityCode - код инструмента;

buySell - тип BuySell;

quantity - объем заявки в лотах;

useCredit - использование кредита (недоступно для срочного рынка). Указать значение true, если необходимо использовать кредит, иначе false.

price - цена исполнения заявки. Для рыночной заявки указать значение null (или не передавать это поле). Для условной заявки необходимо указать цену исполнения;

info

Для рыночных заявок в объекте Order поле price будет равное 0, а не null, как это ожидается. В последующих версиях API данное поведение будет изменено.

property - свойства исполнения частично исполненных заявок. Принимает следующие значения:

  • PutInQueue - неисполненная часть заявки помещается в очередь заявок биржи;
  • CancelBalance - неисполненная часть заявки снимается с торгов;
  • ImmOrCancel - сделки совершаются только в том случае, если заявка может быть удовлетворена полностью и сразу при выставлении.

condition - свойства выставления заявок. Тип OrderCondition;

validBefore - условие по времени действия заявки. Тип OrderValidBefore.

В случае успешного выполнения запроса сервис вернет transactionId выставленной заявки.

Получение заявок

Для получения списка заявок необходимо выполнить GET запрос на /api/v1/orders/, указав критерии выбора в строке запроса:

clientId - торговый код клиента (обязательный);

includeMatched - вернуть исполненные заявки;

includeCanceled - вернуть отмененные заявки;

includeActive - вернуть активные заявки.

В случае успешного выполнения запроса сервис вернет список заявок.

Отмена заявки

Для отмены выставленной заявки необходимо выполнить DELETE запрос на /api​/v1​/orders/, передав тело запроса в формате json:

{
"clientId": "string",
"transactionId": 0
}

clientId - торговый код клиента;

transactionId - идентификатор отменяемой заявки.