-
Notifications
You must be signed in to change notification settings - Fork 0
/
stoporders.proto
102 lines (85 loc) · 5.02 KB
/
stoporders.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
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; //Figi-идентификатор инструмента
int64 quantity = 2; //Количество лотов
Quotation price = 3; //Цена лота
Quotation stop_price = 4; //Стоп-цена заявки
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 заполнение обязательно**.
}
//Результат выставления стоп-заявки.
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; //Цена заявки
MoneyValue stop_price = 11; //Цена активации стоп-заявки
}
//Направление сделки стоп-заявки.
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 заявка
}