avin_connect 0.4.0

Broker connectors for the 'avin' library
Documentation
syntax = "proto3";

package tinkoff.public.invest.api.contract.v1;

option go_package = "./;investapi";
option java_package = "ru.tinkoff.piapi.contract.v1";
option java_multiple_files = true;
option csharp_namespace = "Tinkoff.InvestApi.V1";
option objc_class_prefix = "TIAPI";
option php_namespace = "Tinkoff\\Invest\\V1";

import "google/protobuf/timestamp.proto";
import "common.proto";

service StopOrdersService { /* Сервис предназначен для работы со стоп-заявками:</br> **1**.
                               выставление;</br> **2**. отмена;</br> **3**. получение списка стоп-заявок.*/

  //Метод выставления стоп-заявки.
  rpc PostStopOrder(PostStopOrderRequest) returns (PostStopOrderResponse);

  //Метод получения списка активных стоп заявок по счёту.
  rpc GetStopOrders(GetStopOrdersRequest) returns (GetStopOrdersResponse);

  //Метод отмены стоп-заявки.
  rpc CancelStopOrder(CancelStopOrderRequest) returns (CancelStopOrderResponse);
}

//Запрос выставления стоп-заявки.
message PostStopOrderRequest {
  string figi = 1 [ deprecated = true ]; //Deprecated Figi-идентификатор инструмента. Необходимо использовать instrument_id.
  int64 quantity = 2; //Количество лотов.
  Quotation price = 3; //Цена за 1 инструмент. Для получения стоимости лота требуется умножить на лотность инструмента.
  Quotation stop_price = 4; //Стоп-цена заявки за 1 инструмент. Для получения стоимости лота требуется умножить на лотность инструмента.
  StopOrderDirection direction = 5; //Направление операции.
  string account_id = 6; //Номер счёта.
  StopOrderExpirationType expiration_type = 7; //Тип экспирации заявки.
  StopOrderType stop_order_type = 8; //Тип заявки.
  google.protobuf.Timestamp expire_date = 9; //Дата и время окончания действия стоп-заявки в часовом поясе UTC. **Для ExpirationType = GoodTillDate заполнение обязательно**.
  string instrument_id = 10; //Идентификатор инструмента, принимает значения Figi или instrument_uid.
}

//Результат выставления стоп-заявки.
message PostStopOrderResponse {
  string stop_order_id = 1; //Уникальный идентификатор стоп-заявки.
}

//Запрос получения списка активных стоп-заявок.
message GetStopOrdersRequest {
  string account_id = 1; //Идентификатор счёта клиента.
}

//Список активных стоп-заявок.
message GetStopOrdersResponse {
  repeated StopOrder stop_orders = 1; //Массив стоп-заявок по счёту.
}

//Запрос отмены выставленной стоп-заявки.
message CancelStopOrderRequest {
  string account_id = 1; //Идентификатор счёта клиента.
  string stop_order_id = 2; //Уникальный идентификатор стоп-заявки.
}

//Результат отмены выставленной стоп-заявки.
message CancelStopOrderResponse {
  google.protobuf.Timestamp time = 1; //Время отмены заявки в часовом поясе UTC.
}

//Информация о стоп-заявке.
message StopOrder {
  string stop_order_id = 1; //Идентификатор-идентификатор стоп-заявки.
  int64 lots_requested = 2;  //Запрошено лотов.
  string figi = 3; //Figi-идентификатор инструмента.
  StopOrderDirection direction = 4; //Направление операции.
  string currency = 5;  //Валюта стоп-заявки.
  StopOrderType order_type = 6; //Тип стоп-заявки.
  google.protobuf.Timestamp create_date = 7; //Дата и время выставления заявки в часовом поясе UTC.
  google.protobuf.Timestamp activation_date_time = 8; //Дата и время конвертации стоп-заявки в биржевую в часовом поясе UTC.
  google.protobuf.Timestamp expiration_time = 9; //Дата и время снятия заявки в часовом поясе UTC.
  MoneyValue price = 10; //Цена заявки за 1 инструмент. Для получения стоимости лота требуется умножить на лотность инструмента.
  MoneyValue stop_price = 11; //Цена активации стоп-заявки за 1 инструмент. Для получения стоимости лота требуется умножить на лотность инструмента.
  string instrument_uid = 12; //instrument_uid идентификатор инструмента.
}

//Направление сделки стоп-заявки.
enum StopOrderDirection {
  STOP_ORDER_DIRECTION_UNSPECIFIED = 0; //Значение не указано.
  STOP_ORDER_DIRECTION_BUY = 1; //Покупка.
  STOP_ORDER_DIRECTION_SELL = 2; //Продажа.
}

//Тип экспирации стоп-заявке.
enum StopOrderExpirationType {
  STOP_ORDER_EXPIRATION_TYPE_UNSPECIFIED = 0; //Значение не указано.
  STOP_ORDER_EXPIRATION_TYPE_GOOD_TILL_CANCEL = 1; //Действительно до отмены.
  STOP_ORDER_EXPIRATION_TYPE_GOOD_TILL_DATE = 2; //Действительно до даты снятия.
}

//Тип стоп-заявки.
enum StopOrderType {
  STOP_ORDER_TYPE_UNSPECIFIED = 0; //Значение не указано.
  STOP_ORDER_TYPE_TAKE_PROFIT = 1; //Take-profit заявка.
  STOP_ORDER_TYPE_STOP_LOSS = 2; //Stop-loss заявка.
  STOP_ORDER_TYPE_STOP_LIMIT = 3; //Stop-limit заявка.
}