t-tech-investments 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.cursor/rules/git-flow.mdc +49 -5
- data/.cursor/rules/sdk-architecture.mdc +30 -0
- data/.cursor/rules/sdk-code-standards.mdc +22 -0
- data/.cursor/rules/sdk-patterns.mdc +22 -0
- data/.cursor/rules/sdk-testing.mdc +19 -0
- data/CHANGELOG.md +4 -0
- data/README.md +195 -4
- data/Rakefile +4 -0
- data/contracts.lock +6 -0
- data/lib/t/tech/investments/client.rb +70 -0
- data/lib/t/tech/investments/coercers.rb +171 -0
- data/lib/t/tech/investments/configuration.rb +74 -0
- data/lib/t/tech/investments/errors.rb +24 -0
- data/lib/t/tech/investments/proto/common_pb.rb +42 -0
- data/lib/t/tech/investments/proto/google/api/field_behavior_pb.rb +19 -0
- data/lib/t/tech/investments/proto/instruments_pb.rb +157 -0
- data/lib/t/tech/investments/proto/instruments_services_pb.rb +115 -0
- data/lib/t/tech/investments/proto/marketdata_pb.rb +99 -0
- data/lib/t/tech/investments/proto/marketdata_services_pb.rb +68 -0
- data/lib/t/tech/investments/proto/operations_pb.rb +78 -0
- data/lib/t/tech/investments/proto/operations_services_pb.rb +67 -0
- data/lib/t/tech/investments/proto/orders_pb.rb +64 -0
- data/lib/t/tech/investments/proto/orders_services_pb.rb +69 -0
- data/lib/t/tech/investments/proto/sandbox_pb.rb +37 -0
- data/lib/t/tech/investments/proto/sandbox_services_pb.rb +75 -0
- data/lib/t/tech/investments/proto/signals_pb.rb +37 -0
- data/lib/t/tech/investments/proto/signals_services_pb.rb +36 -0
- data/lib/t/tech/investments/proto/stoporders_pb.rb +45 -0
- data/lib/t/tech/investments/proto/stoporders_services_pb.rb +38 -0
- data/lib/t/tech/investments/proto/users_pb.rb +47 -0
- data/lib/t/tech/investments/proto/users_services_pb.rb +51 -0
- data/lib/t/tech/investments/proto_loader.rb +49 -0
- data/lib/t/tech/investments/services/market_data_facade.rb +35 -0
- data/lib/t/tech/investments/services/market_data_stream_session.rb +148 -0
- data/lib/t/tech/investments/services/registry.rb +38 -0
- data/lib/t/tech/investments/services/unary_adapter.rb +64 -0
- data/lib/t/tech/investments/services.rb +6 -0
- data/lib/t/tech/investments/transport.rb +137 -0
- data/lib/t/tech/investments/version.rb +1 -1
- data/lib/t/tech/investments.rb +30 -1
- data/script/regenerate_proto +119 -0
- data/sig/t/tech/investments.rbs +114 -1
- metadata +67 -4
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
2
|
+
# Source: instruments.proto for package 'tinkoff.public.invest.api.contract.v1'
|
|
3
|
+
|
|
4
|
+
require 'grpc'
|
|
5
|
+
require 'instruments_pb'
|
|
6
|
+
|
|
7
|
+
module Tinkoff
|
|
8
|
+
module Public
|
|
9
|
+
module Invest
|
|
10
|
+
module Api
|
|
11
|
+
module Contract
|
|
12
|
+
module V1
|
|
13
|
+
module InstrumentsService
|
|
14
|
+
class Service
|
|
15
|
+
|
|
16
|
+
include ::GRPC::GenericService
|
|
17
|
+
|
|
18
|
+
self.marshal_class_method = :encode
|
|
19
|
+
self.unmarshal_class_method = :decode
|
|
20
|
+
self.service_name = 'tinkoff.public.invest.api.contract.v1.InstrumentsService'
|
|
21
|
+
|
|
22
|
+
# TradingSchedules — расписания торговых площадок
|
|
23
|
+
rpc :TradingSchedules, ::Tinkoff::Public::Invest::Api::Contract::V1::TradingSchedulesRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::TradingSchedulesResponse
|
|
24
|
+
# BondBy — получить облигацию по ее идентификатору
|
|
25
|
+
rpc :BondBy, ::Tinkoff::Public::Invest::Api::Contract::V1::InstrumentRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::BondResponse
|
|
26
|
+
# Bonds — список облигаций
|
|
27
|
+
rpc :Bonds, ::Tinkoff::Public::Invest::Api::Contract::V1::InstrumentsRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::BondsResponse
|
|
28
|
+
# GetBondCoupons — график выплат купонов по облигации
|
|
29
|
+
rpc :GetBondCoupons, ::Tinkoff::Public::Invest::Api::Contract::V1::GetBondCouponsRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::GetBondCouponsResponse
|
|
30
|
+
# GetBondEvents — события по облигации
|
|
31
|
+
rpc :GetBondEvents, ::Tinkoff::Public::Invest::Api::Contract::V1::GetBondEventsRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::GetBondEventsResponse
|
|
32
|
+
# CurrencyBy — получить валюту по ее идентификатору
|
|
33
|
+
rpc :CurrencyBy, ::Tinkoff::Public::Invest::Api::Contract::V1::InstrumentRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::CurrencyResponse
|
|
34
|
+
# Currencies — список валют
|
|
35
|
+
rpc :Currencies, ::Tinkoff::Public::Invest::Api::Contract::V1::InstrumentsRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::CurrenciesResponse
|
|
36
|
+
# EtfBy — получить инвестиционный фонд по его идентификатору
|
|
37
|
+
rpc :EtfBy, ::Tinkoff::Public::Invest::Api::Contract::V1::InstrumentRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::EtfResponse
|
|
38
|
+
# Etfs — список инвестиционных фондов
|
|
39
|
+
rpc :Etfs, ::Tinkoff::Public::Invest::Api::Contract::V1::InstrumentsRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::EtfsResponse
|
|
40
|
+
# FutureBy — получить фьючерс по его идентификатору
|
|
41
|
+
rpc :FutureBy, ::Tinkoff::Public::Invest::Api::Contract::V1::InstrumentRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::FutureResponse
|
|
42
|
+
# Futures — список фьючерсов
|
|
43
|
+
rpc :Futures, ::Tinkoff::Public::Invest::Api::Contract::V1::InstrumentsRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::FuturesResponse
|
|
44
|
+
# OptionBy — получить опцион по его идентификатору
|
|
45
|
+
rpc :OptionBy, ::Tinkoff::Public::Invest::Api::Contract::V1::InstrumentRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::OptionResponse
|
|
46
|
+
# Deprecated Options — список опционов
|
|
47
|
+
rpc :Options, ::Tinkoff::Public::Invest::Api::Contract::V1::InstrumentsRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::OptionsResponse
|
|
48
|
+
# OptionsBy — список опционов
|
|
49
|
+
rpc :OptionsBy, ::Tinkoff::Public::Invest::Api::Contract::V1::FilterOptionsRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::OptionsResponse
|
|
50
|
+
# ShareBy — получить акцию по ее идентификатору
|
|
51
|
+
rpc :ShareBy, ::Tinkoff::Public::Invest::Api::Contract::V1::InstrumentRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::ShareResponse
|
|
52
|
+
# Shares — список акций
|
|
53
|
+
rpc :Shares, ::Tinkoff::Public::Invest::Api::Contract::V1::InstrumentsRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::SharesResponse
|
|
54
|
+
# Indicatives — индикативные инструменты — индексы, товары и другие
|
|
55
|
+
rpc :Indicatives, ::Tinkoff::Public::Invest::Api::Contract::V1::IndicativesRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::IndicativesResponse
|
|
56
|
+
# GetAccruedInterests — накопленный купонный доход по облигации
|
|
57
|
+
rpc :GetAccruedInterests, ::Tinkoff::Public::Invest::Api::Contract::V1::GetAccruedInterestsRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::GetAccruedInterestsResponse
|
|
58
|
+
# GetFuturesMargin — размера гарантийного обеспечения по фьючерсам
|
|
59
|
+
rpc :GetFuturesMargin, ::Tinkoff::Public::Invest::Api::Contract::V1::GetFuturesMarginRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::GetFuturesMarginResponse
|
|
60
|
+
# GetInstrumentBy — основная информация об инструменте
|
|
61
|
+
rpc :GetInstrumentBy, ::Tinkoff::Public::Invest::Api::Contract::V1::InstrumentRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::InstrumentResponse
|
|
62
|
+
# GetDividends — события выплаты дивидендов по инструменту
|
|
63
|
+
rpc :GetDividends, ::Tinkoff::Public::Invest::Api::Contract::V1::GetDividendsRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::GetDividendsResponse
|
|
64
|
+
# GetAssetBy — получить актив по его идентификатору
|
|
65
|
+
rpc :GetAssetBy, ::Tinkoff::Public::Invest::Api::Contract::V1::AssetRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::AssetResponse
|
|
66
|
+
# GetAssets — список активов
|
|
67
|
+
# Метод работает для всех инструментов, кроме срочных — фьючерсов и опционов
|
|
68
|
+
rpc :GetAssets, ::Tinkoff::Public::Invest::Api::Contract::V1::AssetsRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::AssetsResponse
|
|
69
|
+
# GetFavorites — получить список избранных инструментов
|
|
70
|
+
rpc :GetFavorites, ::Tinkoff::Public::Invest::Api::Contract::V1::GetFavoritesRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::GetFavoritesResponse
|
|
71
|
+
# EditFavorites — отредактировать список избранных инструментов
|
|
72
|
+
rpc :EditFavorites, ::Tinkoff::Public::Invest::Api::Contract::V1::EditFavoritesRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::EditFavoritesResponse
|
|
73
|
+
# CreateFavoriteGroup — создать новую группу избранных инструментов
|
|
74
|
+
rpc :CreateFavoriteGroup, ::Tinkoff::Public::Invest::Api::Contract::V1::CreateFavoriteGroupRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::CreateFavoriteGroupResponse
|
|
75
|
+
# DeleteFavoriteGroup — удалить группу избранных инструментов
|
|
76
|
+
rpc :DeleteFavoriteGroup, ::Tinkoff::Public::Invest::Api::Contract::V1::DeleteFavoriteGroupRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::DeleteFavoriteGroupResponse
|
|
77
|
+
# GetFavoriteGroups — список групп избранных инструментов
|
|
78
|
+
rpc :GetFavoriteGroups, ::Tinkoff::Public::Invest::Api::Contract::V1::GetFavoriteGroupsRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::GetFavoriteGroupsResponse
|
|
79
|
+
# GetCountries — список стран
|
|
80
|
+
rpc :GetCountries, ::Tinkoff::Public::Invest::Api::Contract::V1::GetCountriesRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::GetCountriesResponse
|
|
81
|
+
# FindInstrument — найти инструмент
|
|
82
|
+
rpc :FindInstrument, ::Tinkoff::Public::Invest::Api::Contract::V1::FindInstrumentRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::FindInstrumentResponse
|
|
83
|
+
# GetBrands — список брендов
|
|
84
|
+
rpc :GetBrands, ::Tinkoff::Public::Invest::Api::Contract::V1::GetBrandsRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::GetBrandsResponse
|
|
85
|
+
# GetBrandBy — получить бренд по его идентификатору
|
|
86
|
+
rpc :GetBrandBy, ::Tinkoff::Public::Invest::Api::Contract::V1::GetBrandRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::Brand
|
|
87
|
+
# GetAssetFundamentals — фундаментальные показатели по активу
|
|
88
|
+
rpc :GetAssetFundamentals, ::Tinkoff::Public::Invest::Api::Contract::V1::GetAssetFundamentalsRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::GetAssetFundamentalsResponse
|
|
89
|
+
# GetAssetReports — расписания выхода отчетностей эмитентов
|
|
90
|
+
rpc :GetAssetReports, ::Tinkoff::Public::Invest::Api::Contract::V1::GetAssetReportsRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::GetAssetReportsResponse
|
|
91
|
+
# GetConsensusForecasts — мнения аналитиков по инструменту
|
|
92
|
+
rpc :GetConsensusForecasts, ::Tinkoff::Public::Invest::Api::Contract::V1::GetConsensusForecastsRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::GetConsensusForecastsResponse
|
|
93
|
+
# GetForecastBy — прогнозы инвестдомов по инструменту
|
|
94
|
+
rpc :GetForecastBy, ::Tinkoff::Public::Invest::Api::Contract::V1::GetForecastRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::GetForecastResponse
|
|
95
|
+
# GetRiskRates — ставки риска по инструменту
|
|
96
|
+
rpc :GetRiskRates, ::Tinkoff::Public::Invest::Api::Contract::V1::RiskRatesRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::RiskRatesResponse
|
|
97
|
+
# GetInsiderDeals — сделки инсайдеров по инструментам
|
|
98
|
+
rpc :GetInsiderDeals, ::Tinkoff::Public::Invest::Api::Contract::V1::GetInsiderDealsRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::GetInsiderDealsResponse
|
|
99
|
+
# StructuredNoteBy — получить структурную ноту по ее идентификатору
|
|
100
|
+
rpc :StructuredNoteBy, ::Tinkoff::Public::Invest::Api::Contract::V1::InstrumentRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::StructuredNoteResponse
|
|
101
|
+
# StructuredNotes — список структурных нот
|
|
102
|
+
rpc :StructuredNotes, ::Tinkoff::Public::Invest::Api::Contract::V1::InstrumentsRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::StructuredNotesResponse
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
Stub = Service.rpc_stub_class
|
|
106
|
+
end
|
|
107
|
+
# Методы сервиса предназначены для получения:<br/>1. Информации об инструментах.<br/>2.
|
|
108
|
+
# Расписания торговых сессий.<br/>3. Календаря выплат купонов по облигациям.<br/>4.
|
|
109
|
+
# Размера гарантийного обеспечения по фьючерсам.<br/>5. Дивидендов по ценной бумаге.
|
|
110
|
+
end
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
end
|
|
115
|
+
end
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# source: marketdata.proto
|
|
4
|
+
|
|
5
|
+
require 'google/protobuf'
|
|
6
|
+
|
|
7
|
+
require 'google/protobuf/timestamp_pb'
|
|
8
|
+
require 'common_pb'
|
|
9
|
+
require 'google/api/field_behavior_pb'
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
descriptor_data = "\n\x10marketdata.proto\x12%tinkoff.public.invest.api.contract.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x0c\x63ommon.proto\x1a\x1fgoogle/api/field_behavior.proto\"\x8b\x06\n\x11MarketDataRequest\x12\x63\n\x19subscribe_candles_request\x18\x01 \x01(\x0b\x32>.tinkoff.public.invest.api.contract.v1.SubscribeCandlesRequestH\x00\x12h\n\x1csubscribe_order_book_request\x18\x02 \x01(\x0b\x32@.tinkoff.public.invest.api.contract.v1.SubscribeOrderBookRequestH\x00\x12\x61\n\x18subscribe_trades_request\x18\x03 \x01(\x0b\x32=.tinkoff.public.invest.api.contract.v1.SubscribeTradesRequestH\x00\x12]\n\x16subscribe_info_request\x18\x04 \x01(\x0b\x32;.tinkoff.public.invest.api.contract.v1.SubscribeInfoRequestH\x00\x12h\n\x1csubscribe_last_price_request\x18\x05 \x01(\x0b\x32@.tinkoff.public.invest.api.contract.v1.SubscribeLastPriceRequestH\x00\x12Y\n\x14get_my_subscriptions\x18\x06 \x01(\x0b\x32\x39.tinkoff.public.invest.api.contract.v1.GetMySubscriptionsH\x00\x12\x42\n\x04ping\x18\x07 \x01(\x0b\x32\x32.tinkoff.public.invest.api.contract.v1.PingRequestH\x00\x12Q\n\rping_settings\x18\x0f \x01(\x0b\x32\x38.tinkoff.public.invest.api.contract.v1.PingDelaySettingsH\x00\x42\t\n\x07payload\"\xe5\x04\n!MarketDataServerSideStreamRequest\x12\x61\n\x19subscribe_candles_request\x18\x01 \x01(\x0b\x32>.tinkoff.public.invest.api.contract.v1.SubscribeCandlesRequest\x12\x66\n\x1csubscribe_order_book_request\x18\x02 \x01(\x0b\x32@.tinkoff.public.invest.api.contract.v1.SubscribeOrderBookRequest\x12_\n\x18subscribe_trades_request\x18\x03 \x01(\x0b\x32=.tinkoff.public.invest.api.contract.v1.SubscribeTradesRequest\x12[\n\x16subscribe_info_request\x18\x04 \x01(\x0b\x32;.tinkoff.public.invest.api.contract.v1.SubscribeInfoRequest\x12\x66\n\x1csubscribe_last_price_request\x18\x05 \x01(\x0b\x32@.tinkoff.public.invest.api.contract.v1.SubscribeLastPriceRequest\x12O\n\rping_settings\x18\x0f \x01(\x0b\x32\x38.tinkoff.public.invest.api.contract.v1.PingDelaySettings\"\x8e\x08\n\x12MarketDataResponse\x12\x65\n\x1asubscribe_candles_response\x18\x01 \x01(\x0b\x32?.tinkoff.public.invest.api.contract.v1.SubscribeCandlesResponseH\x00\x12j\n\x1dsubscribe_order_book_response\x18\x02 \x01(\x0b\x32\x41.tinkoff.public.invest.api.contract.v1.SubscribeOrderBookResponseH\x00\x12\x63\n\x19subscribe_trades_response\x18\x03 \x01(\x0b\x32>.tinkoff.public.invest.api.contract.v1.SubscribeTradesResponseH\x00\x12_\n\x17subscribe_info_response\x18\x04 \x01(\x0b\x32<.tinkoff.public.invest.api.contract.v1.SubscribeInfoResponseH\x00\x12?\n\x06\x63\x61ndle\x18\x05 \x01(\x0b\x32-.tinkoff.public.invest.api.contract.v1.CandleH\x00\x12=\n\x05trade\x18\x06 \x01(\x0b\x32,.tinkoff.public.invest.api.contract.v1.TradeH\x00\x12\x45\n\torderbook\x18\x07 \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.OrderBookH\x00\x12N\n\x0etrading_status\x18\x08 \x01(\x0b\x32\x34.tinkoff.public.invest.api.contract.v1.TradingStatusH\x00\x12;\n\x04ping\x18\t \x01(\x0b\x32+.tinkoff.public.invest.api.contract.v1.PingH\x00\x12j\n\x1dsubscribe_last_price_response\x18\n \x01(\x0b\x32\x41.tinkoff.public.invest.api.contract.v1.SubscribeLastPriceResponseH\x00\x12\x46\n\nlast_price\x18\x0b \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.LastPriceH\x00\x12L\n\ropen_interest\x18\x0c \x01(\x0b\x32\x33.tinkoff.public.invest.api.contract.v1.OpenInterestH\x00\x42\t\n\x07payload\"\xd5\x02\n\x17SubscribeCandlesRequest\x12V\n\x13subscription_action\x18\x01 \x01(\x0e\x32\x39.tinkoff.public.invest.api.contract.v1.SubscriptionAction\x12L\n\x0binstruments\x18\x02 \x03(\x0b\x32\x37.tinkoff.public.invest.api.contract.v1.CandleInstrument\x12\x15\n\rwaiting_close\x18\x03 \x01(\x08\x12\x66\n\x12\x63\x61ndle_source_type\x18\t \x01(\x0e\x32\x45.tinkoff.public.invest.api.contract.v1.GetCandlesRequest.CandleSourceH\x00\x88\x01\x01\x42\x15\n\x13_candle_source_type\"\x8a\x01\n\x10\x43\x61ndleInstrument\x12\x10\n\x04\x66igi\x18\x01 \x01(\tB\x02\x18\x01\x12M\n\x08interval\x18\x02 \x01(\x0e\x32;.tinkoff.public.invest.api.contract.v1.SubscriptionInterval\x12\x15\n\rinstrument_id\x18\x03 \x01(\t\"\x89\x01\n\x18SubscribeCandlesResponse\x12\x13\n\x0btracking_id\x18\x01 \x01(\t\x12X\n\x15\x63\x61ndles_subscriptions\x18\x02 \x03(\x0b\x32\x39.tinkoff.public.invest.api.contract.v1.CandleSubscription\"\x9f\x04\n\x12\x43\x61ndleSubscription\x12\x0c\n\x04\x66igi\x18\x01 \x01(\t\x12M\n\x08interval\x18\x02 \x01(\x0e\x32;.tinkoff.public.invest.api.contract.v1.SubscriptionInterval\x12V\n\x13subscription_status\x18\x03 \x01(\x0e\x32\x39.tinkoff.public.invest.api.contract.v1.SubscriptionStatus\x12\x16\n\x0einstrument_uid\x18\x04 \x01(\t\x12\x15\n\rwaiting_close\x18\x05 \x01(\x08\x12\x11\n\tstream_id\x18\x06 \x01(\t\x12\x17\n\x0fsubscription_id\x18\x07 \x01(\t\x12V\n\x13subscription_action\x18\x08 \x01(\x0e\x32\x39.tinkoff.public.invest.api.contract.v1.SubscriptionAction\x12\x66\n\x12\x63\x61ndle_source_type\x18\t \x01(\x0e\x32\x45.tinkoff.public.invest.api.contract.v1.GetCandlesRequest.CandleSourceH\x00\x88\x01\x01\x12\x0e\n\x06ticker\x18\n \x01(\t\x12\x12\n\nclass_code\x18\x0b \x01(\tB\x15\n\x13_candle_source_type\"\xc4\x01\n\x19SubscribeOrderBookRequest\x12V\n\x13subscription_action\x18\x01 \x01(\x0e\x32\x39.tinkoff.public.invest.api.contract.v1.SubscriptionAction\x12O\n\x0binstruments\x18\x02 \x03(\x0b\x32:.tinkoff.public.invest.api.contract.v1.OrderBookInstrument\"\x9c\x01\n\x13OrderBookInstrument\x12\x10\n\x04\x66igi\x18\x01 \x01(\tB\x02\x18\x01\x12\r\n\x05\x64\x65pth\x18\x02 \x01(\x05\x12\x15\n\rinstrument_id\x18\x03 \x01(\t\x12M\n\x0forder_book_type\x18\x04 \x01(\x0e\x32\x34.tinkoff.public.invest.api.contract.v1.OrderBookType\"\x91\x01\n\x1aSubscribeOrderBookResponse\x12\x13\n\x0btracking_id\x18\x01 \x01(\t\x12^\n\x18order_book_subscriptions\x18\x02 \x03(\x0b\x32<.tinkoff.public.invest.api.contract.v1.OrderBookSubscription\"\x9b\x03\n\x15OrderBookSubscription\x12\x0c\n\x04\x66igi\x18\x01 \x01(\t\x12\r\n\x05\x64\x65pth\x18\x02 \x01(\x05\x12V\n\x13subscription_status\x18\x03 \x01(\x0e\x32\x39.tinkoff.public.invest.api.contract.v1.SubscriptionStatus\x12\x16\n\x0einstrument_uid\x18\x04 \x01(\t\x12\x11\n\tstream_id\x18\x05 \x01(\t\x12\x17\n\x0fsubscription_id\x18\x06 \x01(\t\x12M\n\x0forder_book_type\x18\x07 \x01(\x0e\x32\x34.tinkoff.public.invest.api.contract.v1.OrderBookType\x12V\n\x13subscription_action\x18\x08 \x01(\x0e\x32\x39.tinkoff.public.invest.api.contract.v1.SubscriptionAction\x12\x0e\n\x06ticker\x18\t \x01(\t\x12\x12\n\nclass_code\x18\n \x01(\t\"\xa7\x02\n\x16SubscribeTradesRequest\x12V\n\x13subscription_action\x18\x01 \x01(\x0e\x32\x39.tinkoff.public.invest.api.contract.v1.SubscriptionAction\x12K\n\x0binstruments\x18\x02 \x03(\x0b\x32\x36.tinkoff.public.invest.api.contract.v1.TradeInstrument\x12L\n\x0ctrade_source\x18\x03 \x01(\x0e\x32\x36.tinkoff.public.invest.api.contract.v1.TradeSourceType\x12\x1a\n\x12with_open_interest\x18\x04 \x01(\x08\":\n\x0fTradeInstrument\x12\x10\n\x04\x66igi\x18\x01 \x01(\tB\x02\x18\x01\x12\x15\n\rinstrument_id\x18\x02 \x01(\t\"\xd3\x01\n\x17SubscribeTradesResponse\x12\x13\n\x0btracking_id\x18\x01 \x01(\t\x12U\n\x13trade_subscriptions\x18\x02 \x03(\x0b\x32\x38.tinkoff.public.invest.api.contract.v1.TradeSubscription\x12L\n\x0ctrade_source\x18\x03 \x01(\x0e\x32\x36.tinkoff.public.invest.api.contract.v1.TradeSourceType\"\xd5\x02\n\x11TradeSubscription\x12\x0c\n\x04\x66igi\x18\x01 \x01(\t\x12V\n\x13subscription_status\x18\x02 \x01(\x0e\x32\x39.tinkoff.public.invest.api.contract.v1.SubscriptionStatus\x12\x16\n\x0einstrument_uid\x18\x03 \x01(\t\x12\x11\n\tstream_id\x18\x04 \x01(\t\x12\x17\n\x0fsubscription_id\x18\x05 \x01(\t\x12\x1a\n\x12with_open_interest\x18\x06 \x01(\x08\x12V\n\x13subscription_action\x18\x07 \x01(\x0e\x32\x39.tinkoff.public.invest.api.contract.v1.SubscriptionAction\x12\x0e\n\x06ticker\x18\x08 \x01(\t\x12\x12\n\nclass_code\x18\t \x01(\t\"\xba\x01\n\x14SubscribeInfoRequest\x12V\n\x13subscription_action\x18\x01 \x01(\x0e\x32\x39.tinkoff.public.invest.api.contract.v1.SubscriptionAction\x12J\n\x0binstruments\x18\x02 \x03(\x0b\x32\x35.tinkoff.public.invest.api.contract.v1.InfoInstrument\"9\n\x0eInfoInstrument\x12\x10\n\x04\x66igi\x18\x01 \x01(\tB\x02\x18\x01\x12\x15\n\rinstrument_id\x18\x02 \x01(\t\"\x81\x01\n\x15SubscribeInfoResponse\x12\x13\n\x0btracking_id\x18\x01 \x01(\t\x12S\n\x12info_subscriptions\x18\x02 \x03(\x0b\x32\x37.tinkoff.public.invest.api.contract.v1.InfoSubscription\"\xb8\x02\n\x10InfoSubscription\x12\x0c\n\x04\x66igi\x18\x01 \x01(\t\x12V\n\x13subscription_status\x18\x02 \x01(\x0e\x32\x39.tinkoff.public.invest.api.contract.v1.SubscriptionStatus\x12\x16\n\x0einstrument_uid\x18\x03 \x01(\t\x12\x11\n\tstream_id\x18\x04 \x01(\t\x12\x17\n\x0fsubscription_id\x18\x05 \x01(\t\x12V\n\x13subscription_action\x18\x06 \x01(\x0e\x32\x39.tinkoff.public.invest.api.contract.v1.SubscriptionAction\x12\x0e\n\x06ticker\x18\x07 \x01(\t\x12\x12\n\nclass_code\x18\x08 \x01(\t\"\xc4\x01\n\x19SubscribeLastPriceRequest\x12V\n\x13subscription_action\x18\x01 \x01(\x0e\x32\x39.tinkoff.public.invest.api.contract.v1.SubscriptionAction\x12O\n\x0binstruments\x18\x02 \x03(\x0b\x32:.tinkoff.public.invest.api.contract.v1.LastPriceInstrument\">\n\x13LastPriceInstrument\x12\x10\n\x04\x66igi\x18\x01 \x01(\tB\x02\x18\x01\x12\x15\n\rinstrument_id\x18\x02 \x01(\t\"\x91\x01\n\x1aSubscribeLastPriceResponse\x12\x13\n\x0btracking_id\x18\x01 \x01(\t\x12^\n\x18last_price_subscriptions\x18\x02 \x03(\x0b\x32<.tinkoff.public.invest.api.contract.v1.LastPriceSubscription\"\xbd\x02\n\x15LastPriceSubscription\x12\x0c\n\x04\x66igi\x18\x01 \x01(\t\x12V\n\x13subscription_status\x18\x02 \x01(\x0e\x32\x39.tinkoff.public.invest.api.contract.v1.SubscriptionStatus\x12\x16\n\x0einstrument_uid\x18\x03 \x01(\t\x12\x11\n\tstream_id\x18\x04 \x01(\t\x12\x17\n\x0fsubscription_id\x18\x05 \x01(\t\x12V\n\x13subscription_action\x18\x06 \x01(\x0e\x32\x39.tinkoff.public.invest.api.contract.v1.SubscriptionAction\x12\x0e\n\x06ticker\x18\x07 \x01(\t\x12\x12\n\nclass_code\x18\x08 \x01(\t\"\x88\x05\n\x06\x43\x61ndle\x12\x0c\n\x04\x66igi\x18\x01 \x01(\t\x12M\n\x08interval\x18\x02 \x01(\x0e\x32;.tinkoff.public.invest.api.contract.v1.SubscriptionInterval\x12>\n\x04open\x18\x03 \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Quotation\x12>\n\x04high\x18\x04 \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Quotation\x12=\n\x03low\x18\x05 \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Quotation\x12?\n\x05\x63lose\x18\x06 \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Quotation\x12\x0e\n\x06volume\x18\x07 \x01(\x03\x12(\n\x04time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x31\n\rlast_trade_ts\x18\t \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x16\n\x0einstrument_uid\x18\n \x01(\t\x12\x0e\n\x06ticker\x18\x0b \x01(\t\x12\x12\n\nclass_code\x18\x0c \x01(\t\x12\x12\n\nvolume_buy\x18\r \x01(\x03\x12\x13\n\x0bvolume_sell\x18\x0e \x01(\x03\x12O\n\x12\x63\x61ndle_source_type\x18\x13 \x01(\x0e\x32\x33.tinkoff.public.invest.api.contract.v1.CandleSource\"\xf6\x03\n\tOrderBook\x12\x0c\n\x04\x66igi\x18\x01 \x01(\t\x12\r\n\x05\x64\x65pth\x18\x02 \x01(\x05\x12\x15\n\ris_consistent\x18\x03 \x01(\x08\x12:\n\x04\x62ids\x18\x04 \x03(\x0b\x32,.tinkoff.public.invest.api.contract.v1.Order\x12:\n\x04\x61sks\x18\x05 \x03(\x0b\x32,.tinkoff.public.invest.api.contract.v1.Order\x12(\n\x04time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x42\n\x08limit_up\x18\x07 \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Quotation\x12\x44\n\nlimit_down\x18\x08 \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Quotation\x12\x16\n\x0einstrument_uid\x18\t \x01(\t\x12M\n\x0forder_book_type\x18\n \x01(\x0e\x32\x34.tinkoff.public.invest.api.contract.v1.OrderBookType\x12\x0e\n\x06ticker\x18\x0b \x01(\t\x12\x12\n\nclass_code\x18\x0c \x01(\t\"Z\n\x05Order\x12?\n\x05price\x18\x01 \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Quotation\x12\x10\n\x08quantity\x18\x02 \x01(\x03\"\xe6\x02\n\x05Trade\x12\x0c\n\x04\x66igi\x18\x01 \x01(\t\x12H\n\tdirection\x18\x02 \x01(\x0e\x32\x35.tinkoff.public.invest.api.contract.v1.TradeDirection\x12?\n\x05price\x18\x03 \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Quotation\x12\x10\n\x08quantity\x18\x04 \x01(\x03\x12(\n\x04time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x16\n\x0einstrument_uid\x18\x06 \x01(\t\x12L\n\x0ctrade_source\x18\x07 \x01(\x0e\x32\x36.tinkoff.public.invest.api.contract.v1.TradeSourceType\x12\x0e\n\x06ticker\x18\x08 \x01(\t\x12\x12\n\nclass_code\x18\t \x01(\t\"\xa2\x02\n\rTradingStatus\x12\x0c\n\x04\x66igi\x18\x01 \x01(\t\x12T\n\x0etrading_status\x18\x02 \x01(\x0e\x32<.tinkoff.public.invest.api.contract.v1.SecurityTradingStatus\x12(\n\x04time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\"\n\x1alimit_order_available_flag\x18\x04 \x01(\x08\x12#\n\x1bmarket_order_available_flag\x18\x05 \x01(\x08\x12\x16\n\x0einstrument_uid\x18\x06 \x01(\t\x12\x0e\n\x06ticker\x18\x07 \x01(\t\x12\x12\n\nclass_code\x18\x08 \x01(\t\"\x99\x04\n\x11GetCandlesRequest\x12\x15\n\x04\x66igi\x18\x01 \x01(\tB\x02\x18\x01H\x00\x88\x01\x01\x12.\n\x04\x66rom\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x02\x12,\n\x02to\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x02\x12M\n\x08interval\x18\x04 \x01(\x0e\x32\x35.tinkoff.public.invest.api.contract.v1.CandleIntervalB\x04\xe2\x41\x01\x02\x12\x1a\n\rinstrument_id\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\x66\n\x12\x63\x61ndle_source_type\x18\x07 \x01(\x0e\x32\x45.tinkoff.public.invest.api.contract.v1.GetCandlesRequest.CandleSourceH\x02\x88\x01\x01\x12\x12\n\x05limit\x18\n \x01(\x05H\x03\x88\x01\x01\"l\n\x0c\x43\x61ndleSource\x12\x1d\n\x19\x43\x41NDLE_SOURCE_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x43\x41NDLE_SOURCE_EXCHANGE\x10\x01\x12!\n\x1d\x43\x41NDLE_SOURCE_INCLUDE_WEEKEND\x10\x03\x42\x07\n\x05_figiB\x10\n\x0e_instrument_idB\x15\n\x13_candle_source_typeB\x08\n\x06_limit\"\\\n\x12GetCandlesResponse\x12\x46\n\x07\x63\x61ndles\x18\x01 \x03(\x0b\x32\x35.tinkoff.public.invest.api.contract.v1.HistoricCandle\"\xd4\x03\n\x0eHistoricCandle\x12>\n\x04open\x18\x01 \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Quotation\x12>\n\x04high\x18\x02 \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Quotation\x12=\n\x03low\x18\x03 \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Quotation\x12?\n\x05\x63lose\x18\x04 \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Quotation\x12\x0e\n\x06volume\x18\x05 \x01(\x03\x12(\n\x04time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x13\n\x0bis_complete\x18\x07 \x01(\x08\x12J\n\rcandle_source\x18\t \x01(\x0e\x32\x33.tinkoff.public.invest.api.contract.v1.CandleSource\x12\x12\n\nvolume_buy\x18\n \x01(\x03\x12\x13\n\x0bvolume_sell\x18\x0b \x01(\x03\"\xfd\x01\n\x14GetLastPricesRequest\x12\x10\n\x04\x66igi\x18\x01 \x03(\tB\x02\x18\x01\x12\x15\n\rinstrument_id\x18\x02 \x03(\t\x12M\n\x0flast_price_type\x18\x03 \x01(\x0e\x32\x34.tinkoff.public.invest.api.contract.v1.LastPriceType\x12W\n\x11instrument_status\x18\t \x01(\x0e\x32\x37.tinkoff.public.invest.api.contract.v1.InstrumentStatusH\x00\x88\x01\x01\x42\x14\n\x12_instrument_status\"^\n\x15GetLastPricesResponse\x12\x45\n\x0blast_prices\x18\x01 \x03(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.LastPrice\"\x8f\x02\n\tLastPrice\x12\x0c\n\x04\x66igi\x18\x01 \x01(\t\x12?\n\x05price\x18\x02 \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Quotation\x12(\n\x04time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0e\n\x06ticker\x18\t \x01(\t\x12\x12\n\nclass_code\x18\n \x01(\t\x12\x16\n\x0einstrument_uid\x18\x0b \x01(\t\x12M\n\x0flast_price_type\x18\x0c \x01(\x0e\x32\x34.tinkoff.public.invest.api.contract.v1.LastPriceType\"\x8b\x01\n\x0cOpenInterest\x12\x16\n\x0einstrument_uid\x18\x01 \x01(\t\x12(\n\x04time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x15\n\ropen_interest\x18\x03 \x01(\x03\x12\x0e\n\x06ticker\x18\x04 \x01(\t\x12\x12\n\nclass_code\x18\x05 \x01(\t\"x\n\x13GetOrderBookRequest\x12\x15\n\x04\x66igi\x18\x01 \x01(\tB\x02\x18\x01H\x00\x88\x01\x01\x12\x13\n\x05\x64\x65pth\x18\x02 \x01(\x05\x42\x04\xe2\x41\x01\x02\x12\x1a\n\rinstrument_id\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\x07\n\x05_figiB\x10\n\x0e_instrument_id\"\x97\x05\n\x14GetOrderBookResponse\x12\x0c\n\x04\x66igi\x18\x01 \x01(\t\x12\r\n\x05\x64\x65pth\x18\x02 \x01(\x05\x12:\n\x04\x62ids\x18\x03 \x03(\x0b\x32,.tinkoff.public.invest.api.contract.v1.Order\x12:\n\x04\x61sks\x18\x04 \x03(\x0b\x32,.tinkoff.public.invest.api.contract.v1.Order\x12\x44\n\nlast_price\x18\x05 \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Quotation\x12\x45\n\x0b\x63lose_price\x18\x06 \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Quotation\x12\x42\n\x08limit_up\x18\x07 \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Quotation\x12\x44\n\nlimit_down\x18\x08 \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Quotation\x12\x16\n\x0einstrument_uid\x18\t \x01(\t\x12\x0e\n\x06ticker\x18\n \x01(\t\x12\x12\n\nclass_code\x18\x0b \x01(\t\x12\x31\n\rlast_price_ts\x18\x15 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x32\n\x0e\x63lose_price_ts\x18\x16 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0corderbook_ts\x18\x17 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"g\n\x17GetTradingStatusRequest\x12\x15\n\x04\x66igi\x18\x01 \x01(\tB\x02\x18\x01H\x00\x88\x01\x01\x12\x1a\n\rinstrument_id\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x07\n\x05_figiB\x10\n\x0e_instrument_id\"2\n\x19GetTradingStatusesRequest\x12\x15\n\rinstrument_id\x18\x01 \x03(\t\"w\n\x1aGetTradingStatusesResponse\x12Y\n\x10trading_statuses\x18\x01 \x03(\x0b\x32?.tinkoff.public.invest.api.contract.v1.GetTradingStatusResponse\"\xe6\x02\n\x18GetTradingStatusResponse\x12\x0c\n\x04\x66igi\x18\x01 \x01(\t\x12T\n\x0etrading_status\x18\x02 \x01(\x0e\x32<.tinkoff.public.invest.api.contract.v1.SecurityTradingStatus\x12\"\n\x1alimit_order_available_flag\x18\x03 \x01(\x08\x12#\n\x1bmarket_order_available_flag\x18\x04 \x01(\x08\x12 \n\x18\x61pi_trade_available_flag\x18\x05 \x01(\x08\x12\x16\n\x0einstrument_uid\x18\x06 \x01(\t\x12&\n\x1e\x62\x65stprice_order_available_flag\x18\x08 \x01(\x08\x12\x17\n\x0fonly_best_price\x18\t \x01(\x08\x12\x0e\n\x06ticker\x18\n \x01(\t\x12\x12\n\nclass_code\x18\x0b \x01(\t\"\x90\x02\n\x14GetLastTradesRequest\x12\x15\n\x04\x66igi\x18\x01 \x01(\tB\x02\x18\x01H\x00\x88\x01\x01\x12.\n\x04\x66rom\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x02\x12,\n\x02to\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x02\x12\x1a\n\rinstrument_id\x18\x04 \x01(\tH\x01\x88\x01\x01\x12L\n\x0ctrade_source\x18\x05 \x01(\x0e\x32\x36.tinkoff.public.invest.api.contract.v1.TradeSourceTypeB\x07\n\x05_figiB\x10\n\x0e_instrument_id\"U\n\x15GetLastTradesResponse\x12<\n\x06trades\x18\x01 \x03(\x0b\x32,.tinkoff.public.invest.api.contract.v1.Trade\"\x14\n\x12GetMySubscriptions\"\xe5\x01\n\x15GetClosePricesRequest\x12]\n\x0binstruments\x18\x01 \x03(\x0b\x32\x42.tinkoff.public.invest.api.contract.v1.InstrumentClosePriceRequestB\x04\xe2\x41\x01\x02\x12W\n\x11instrument_status\x18\t \x01(\x0e\x32\x37.tinkoff.public.invest.api.contract.v1.InstrumentStatusH\x00\x88\x01\x01\x42\x14\n\x12_instrument_status\"4\n\x1bInstrumentClosePriceRequest\x12\x15\n\rinstrument_id\x18\x01 \x01(\t\"s\n\x16GetClosePricesResponse\x12Y\n\x0c\x63lose_prices\x18\x01 \x03(\x0b\x32\x43.tinkoff.public.invest.api.contract.v1.InstrumentClosePriceResponse\"\xe4\x02\n\x1cInstrumentClosePriceResponse\x12\x0c\n\x04\x66igi\x18\x01 \x01(\t\x12\x16\n\x0einstrument_uid\x18\x02 \x01(\t\x12\x0e\n\x06ticker\x18\x03 \x01(\t\x12\x12\n\nclass_code\x18\x04 \x01(\t\x12?\n\x05price\x18\x0b \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Quotation\x12O\n\x15\x65vening_session_price\x18\x0c \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Quotation\x12(\n\x04time\x18\x15 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12>\n\x1a\x65vening_session_price_time\x18\x17 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xf4\x0c\n\x16GetTechAnalysisRequest\x12i\n\x0eindicator_type\x18\x01 \x01(\x0e\x32K.tinkoff.public.invest.api.contract.v1.GetTechAnalysisRequest.IndicatorTypeB\x04\xe2\x41\x01\x02\x12\x1c\n\x0einstrument_uid\x18\x02 \x01(\tB\x04\xe2\x41\x01\x02\x12.\n\x04\x66rom\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x02\x12,\n\x02to\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x02\x12g\n\x08interval\x18\x05 \x01(\x0e\x32O.tinkoff.public.invest.api.contract.v1.GetTechAnalysisRequest.IndicatorIntervalB\x04\xe2\x41\x01\x02\x12\x66\n\rtype_of_price\x18\x06 \x01(\x0e\x32I.tinkoff.public.invest.api.contract.v1.GetTechAnalysisRequest.TypeOfPriceB\x04\xe2\x41\x01\x02\x12\x0e\n\x06length\x18\x07 \x01(\x05\x12Z\n\tdeviation\x18\x08 \x01(\x0b\x32G.tinkoff.public.invest.api.contract.v1.GetTechAnalysisRequest.Deviation\x12Z\n\tsmoothing\x18\t \x01(\x0b\x32G.tinkoff.public.invest.api.contract.v1.GetTechAnalysisRequest.Smoothing\x1aO\n\tSmoothing\x12\x13\n\x0b\x66\x61st_length\x18\x01 \x01(\x05\x12\x13\n\x0bslow_length\x18\x02 \x01(\x05\x12\x18\n\x10signal_smoothing\x18\x03 \x01(\x05\x1a[\n\tDeviation\x12N\n\x14\x64\x65viation_multiplier\x18\x01 \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Quotation\"\xdb\x03\n\x11IndicatorInterval\x12\"\n\x1eINDICATOR_INTERVAL_UNSPECIFIED\x10\x00\x12!\n\x1dINDICATOR_INTERVAL_ONE_MINUTE\x10\x01\x12#\n\x1fINDICATOR_INTERVAL_FIVE_MINUTES\x10\x02\x12&\n\"INDICATOR_INTERVAL_FIFTEEN_MINUTES\x10\x03\x12\x1f\n\x1bINDICATOR_INTERVAL_ONE_HOUR\x10\x04\x12\x1e\n\x1aINDICATOR_INTERVAL_ONE_DAY\x10\x05\x12\x1c\n\x18INDICATOR_INTERVAL_2_MIN\x10\x06\x12\x1c\n\x18INDICATOR_INTERVAL_3_MIN\x10\x07\x12\x1d\n\x19INDICATOR_INTERVAL_10_MIN\x10\x08\x12\x1d\n\x19INDICATOR_INTERVAL_30_MIN\x10\t\x12\x1d\n\x19INDICATOR_INTERVAL_2_HOUR\x10\n\x12\x1d\n\x19INDICATOR_INTERVAL_4_HOUR\x10\x0b\x12\x1b\n\x17INDICATOR_INTERVAL_WEEK\x10\x0c\x12\x1c\n\x18INDICATOR_INTERVAL_MONTH\x10\r\"\xa3\x01\n\x0bTypeOfPrice\x12\x1d\n\x19TYPE_OF_PRICE_UNSPECIFIED\x10\x00\x12\x17\n\x13TYPE_OF_PRICE_CLOSE\x10\x01\x12\x16\n\x12TYPE_OF_PRICE_OPEN\x10\x02\x12\x16\n\x12TYPE_OF_PRICE_HIGH\x10\x03\x12\x15\n\x11TYPE_OF_PRICE_LOW\x10\x04\x12\x15\n\x11TYPE_OF_PRICE_AVG\x10\x05\"\xa7\x01\n\rIndicatorType\x12\x1e\n\x1aINDICATOR_TYPE_UNSPECIFIED\x10\x00\x12\x15\n\x11INDICATOR_TYPE_BB\x10\x01\x12\x16\n\x12INDICATOR_TYPE_EMA\x10\x02\x12\x16\n\x12INDICATOR_TYPE_RSI\x10\x03\x12\x17\n\x13INDICATOR_TYPE_MACD\x10\x04\x12\x16\n\x12INDICATOR_TYPE_SMA\x10\x05\"\xfc\x04\n\x17GetTechAnalysisResponse\x12m\n\x14technical_indicators\x18\x01 \x03(\x0b\x32O.tinkoff.public.invest.api.contract.v1.GetTechAnalysisResponse.TechAnalysisItem\x1a\xf1\x03\n\x10TechAnalysisItem\x12-\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12J\n\x0bmiddle_band\x18\x02 \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.QuotationH\x00\x88\x01\x01\x12I\n\nupper_band\x18\x03 \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.QuotationH\x01\x88\x01\x01\x12I\n\nlower_band\x18\x04 \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.QuotationH\x02\x88\x01\x01\x12\x45\n\x06signal\x18\x05 \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.QuotationH\x03\x88\x01\x01\x12\x43\n\x04macd\x18\x06 \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.QuotationH\x04\x88\x01\x01\x42\x0e\n\x0c_middle_bandB\r\n\x0b_upper_bandB\r\n\x0b_lower_bandB\t\n\x07_signalB\x07\n\x05_macd\"w\n\x16GetMarketValuesRequest\x12\x15\n\rinstrument_id\x18\x01 \x03(\t\x12\x46\n\x06values\x18\x02 \x03(\x0e\x32\x36.tinkoff.public.invest.api.contract.v1.MarketValueType\"l\n\x17GetMarketValuesResponse\x12Q\n\x0binstruments\x18\x01 \x03(\x0b\x32<.tinkoff.public.invest.api.contract.v1.MarketValueInstrument\"\x97\x01\n\x15MarketValueInstrument\x12\x16\n\x0einstrument_uid\x18\x01 \x01(\t\x12\x42\n\x06values\x18\x02 \x03(\x0b\x32\x32.tinkoff.public.invest.api.contract.v1.MarketValue\x12\x0e\n\x06ticker\x18\x03 \x01(\t\x12\x12\n\nclass_code\x18\x04 \x01(\t\"\xe9\x01\n\x0bMarketValue\x12I\n\x04type\x18\x01 \x01(\x0e\x32\x36.tinkoff.public.invest.api.contract.v1.MarketValueTypeH\x00\x88\x01\x01\x12\x44\n\x05value\x18\x02 \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.QuotationH\x01\x88\x01\x01\x12-\n\x04time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x02\x88\x01\x01\x42\x07\n\x05_typeB\x08\n\x06_valueB\x07\n\x05_time*\x81\x01\n\x12SubscriptionAction\x12#\n\x1fSUBSCRIPTION_ACTION_UNSPECIFIED\x10\x00\x12!\n\x1dSUBSCRIPTION_ACTION_SUBSCRIBE\x10\x01\x12#\n\x1fSUBSCRIPTION_ACTION_UNSUBSCRIBE\x10\x02*\x88\x04\n\x14SubscriptionInterval\x12%\n!SUBSCRIPTION_INTERVAL_UNSPECIFIED\x10\x00\x12$\n SUBSCRIPTION_INTERVAL_ONE_MINUTE\x10\x01\x12&\n\"SUBSCRIPTION_INTERVAL_FIVE_MINUTES\x10\x02\x12)\n%SUBSCRIPTION_INTERVAL_FIFTEEN_MINUTES\x10\x03\x12\"\n\x1eSUBSCRIPTION_INTERVAL_ONE_HOUR\x10\x04\x12!\n\x1dSUBSCRIPTION_INTERVAL_ONE_DAY\x10\x05\x12\x1f\n\x1bSUBSCRIPTION_INTERVAL_2_MIN\x10\x06\x12\x1f\n\x1bSUBSCRIPTION_INTERVAL_3_MIN\x10\x07\x12 \n\x1cSUBSCRIPTION_INTERVAL_10_MIN\x10\x08\x12 \n\x1cSUBSCRIPTION_INTERVAL_30_MIN\x10\t\x12 \n\x1cSUBSCRIPTION_INTERVAL_2_HOUR\x10\n\x12 \n\x1cSUBSCRIPTION_INTERVAL_4_HOUR\x10\x0b\x12\x1e\n\x1aSUBSCRIPTION_INTERVAL_WEEK\x10\x0c\x12\x1f\n\x1bSUBSCRIPTION_INTERVAL_MONTH\x10\r*\xf0\x03\n\x12SubscriptionStatus\x12#\n\x1fSUBSCRIPTION_STATUS_UNSPECIFIED\x10\x00\x12\x1f\n\x1bSUBSCRIPTION_STATUS_SUCCESS\x10\x01\x12,\n(SUBSCRIPTION_STATUS_INSTRUMENT_NOT_FOUND\x10\x02\x12\x36\n2SUBSCRIPTION_STATUS_SUBSCRIPTION_ACTION_IS_INVALID\x10\x03\x12(\n$SUBSCRIPTION_STATUS_DEPTH_IS_INVALID\x10\x04\x12+\n\'SUBSCRIPTION_STATUS_INTERVAL_IS_INVALID\x10\x05\x12)\n%SUBSCRIPTION_STATUS_LIMIT_IS_EXCEEDED\x10\x06\x12&\n\"SUBSCRIPTION_STATUS_INTERNAL_ERROR\x10\x07\x12)\n%SUBSCRIPTION_STATUS_TOO_MANY_REQUESTS\x10\x08\x12.\n*SUBSCRIPTION_STATUS_SUBSCRIPTION_NOT_FOUND\x10\t\x12)\n%SUBSCRIPTION_STATUS_SOURCE_IS_INVALID\x10\n*y\n\x0fTradeSourceType\x12\x1c\n\x18TRADE_SOURCE_UNSPECIFIED\x10\x00\x12\x19\n\x15TRADE_SOURCE_EXCHANGE\x10\x01\x12\x17\n\x13TRADE_SOURCE_DEALER\x10\x02\x12\x14\n\x10TRADE_SOURCE_ALL\x10\x03*d\n\x0eTradeDirection\x12\x1f\n\x1bTRADE_DIRECTION_UNSPECIFIED\x10\x00\x12\x17\n\x13TRADE_DIRECTION_BUY\x10\x01\x12\x18\n\x14TRADE_DIRECTION_SELL\x10\x02*\xe4\x03\n\x0e\x43\x61ndleInterval\x12\x1f\n\x1b\x43\x41NDLE_INTERVAL_UNSPECIFIED\x10\x00\x12\x19\n\x15\x43\x41NDLE_INTERVAL_1_MIN\x10\x01\x12\x19\n\x15\x43\x41NDLE_INTERVAL_5_MIN\x10\x02\x12\x1a\n\x16\x43\x41NDLE_INTERVAL_15_MIN\x10\x03\x12\x18\n\x14\x43\x41NDLE_INTERVAL_HOUR\x10\x04\x12\x17\n\x13\x43\x41NDLE_INTERVAL_DAY\x10\x05\x12\x19\n\x15\x43\x41NDLE_INTERVAL_2_MIN\x10\x06\x12\x19\n\x15\x43\x41NDLE_INTERVAL_3_MIN\x10\x07\x12\x1a\n\x16\x43\x41NDLE_INTERVAL_10_MIN\x10\x08\x12\x1a\n\x16\x43\x41NDLE_INTERVAL_30_MIN\x10\t\x12\x1a\n\x16\x43\x41NDLE_INTERVAL_2_HOUR\x10\n\x12\x1a\n\x16\x43\x41NDLE_INTERVAL_4_HOUR\x10\x0b\x12\x18\n\x14\x43\x41NDLE_INTERVAL_WEEK\x10\x0c\x12\x19\n\x15\x43\x41NDLE_INTERVAL_MONTH\x10\r\x12\x19\n\x15\x43\x41NDLE_INTERVAL_5_SEC\x10\x0e\x12\x1a\n\x16\x43\x41NDLE_INTERVAL_10_SEC\x10\x0f\x12\x1a\n\x16\x43\x41NDLE_INTERVAL_30_SEC\x10\x10*k\n\x0c\x43\x61ndleSource\x12\x1d\n\x19\x43\x41NDLE_SOURCE_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x43\x41NDLE_SOURCE_EXCHANGE\x10\x01\x12 \n\x1c\x43\x41NDLE_SOURCE_DEALER_WEEKEND\x10\x02*\xac\x02\n\x0fMarketValueType\x12 \n\x1cINSTRUMENT_VALUE_UNSPECIFIED\x10\x00\x12\x1f\n\x1bINSTRUMENT_VALUE_LAST_PRICE\x10\x01\x12&\n\"INSTRUMENT_VALUE_LAST_PRICE_DEALER\x10\x02\x12 \n\x1cINSTRUMENT_VALUE_CLOSE_PRICE\x10\x03\x12*\n&INSTRUMENT_VALUE_EVENING_SESSION_PRICE\x10\x04\x12\"\n\x1eINSTRUMENT_VALUE_OPEN_INTEREST\x10\x05\x12 \n\x1cINSTRUMENT_VALUE_THEOR_PRICE\x10\x06\x12\x1a\n\x16INSTRUMENT_VALUE_YIELD\x10\x07*\x7f\n\rOrderBookType\x12\x1e\n\x1aORDERBOOK_TYPE_UNSPECIFIED\x10\x00\x12\x1b\n\x17ORDERBOOK_TYPE_EXCHANGE\x10\x01\x12\x19\n\x15ORDERBOOK_TYPE_DEALER\x10\x02\x12\x16\n\x12ORDERBOOK_TYPE_ALL\x10\x03*[\n\rLastPriceType\x12\x1a\n\x16LAST_PRICE_UNSPECIFIED\x10\x00\x12\x17\n\x13LAST_PRICE_EXCHANGE\x10\x01\x12\x15\n\x11LAST_PRICE_DEALER\x10\x02\x32\xa3\n\n\x11MarketDataService\x12\x81\x01\n\nGetCandles\x12\x38.tinkoff.public.invest.api.contract.v1.GetCandlesRequest\x1a\x39.tinkoff.public.invest.api.contract.v1.GetCandlesResponse\x12\x8a\x01\n\rGetLastPrices\x12;.tinkoff.public.invest.api.contract.v1.GetLastPricesRequest\x1a<.tinkoff.public.invest.api.contract.v1.GetLastPricesResponse\x12\x87\x01\n\x0cGetOrderBook\x12:.tinkoff.public.invest.api.contract.v1.GetOrderBookRequest\x1a;.tinkoff.public.invest.api.contract.v1.GetOrderBookResponse\x12\x93\x01\n\x10GetTradingStatus\x12>.tinkoff.public.invest.api.contract.v1.GetTradingStatusRequest\x1a?.tinkoff.public.invest.api.contract.v1.GetTradingStatusResponse\x12\x99\x01\n\x12GetTradingStatuses\x12@.tinkoff.public.invest.api.contract.v1.GetTradingStatusesRequest\x1a\x41.tinkoff.public.invest.api.contract.v1.GetTradingStatusesResponse\x12\x8a\x01\n\rGetLastTrades\x12;.tinkoff.public.invest.api.contract.v1.GetLastTradesRequest\x1a<.tinkoff.public.invest.api.contract.v1.GetLastTradesResponse\x12\x8d\x01\n\x0eGetClosePrices\x12<.tinkoff.public.invest.api.contract.v1.GetClosePricesRequest\x1a=.tinkoff.public.invest.api.contract.v1.GetClosePricesResponse\x12\x90\x01\n\x0fGetTechAnalysis\x12=.tinkoff.public.invest.api.contract.v1.GetTechAnalysisRequest\x1a>.tinkoff.public.invest.api.contract.v1.GetTechAnalysisResponse\x12\x90\x01\n\x0fGetMarketValues\x12=.tinkoff.public.invest.api.contract.v1.GetMarketValuesRequest\x1a>.tinkoff.public.invest.api.contract.v1.GetMarketValuesResponse2\xcd\x02\n\x17MarketDataStreamService\x12\x8b\x01\n\x10MarketDataStream\x12\x38.tinkoff.public.invest.api.contract.v1.MarketDataRequest\x1a\x39.tinkoff.public.invest.api.contract.v1.MarketDataResponse(\x01\x30\x01\x12\xa3\x01\n\x1aMarketDataServerSideStream\x12H.tinkoff.public.invest.api.contract.v1.MarketDataServerSideStreamRequest\x1a\x39.tinkoff.public.invest.api.contract.v1.MarketDataResponse0\x01\x42\x61\n\x1cru.tinkoff.piapi.contract.v1P\x01Z\x0c./;investapi\xa2\x02\x05TIAPI\xaa\x02\x14Tinkoff.InvestApi.V1\xca\x02\x11Tinkoff\\Invest\\V1b\x06proto3"
|
|
13
|
+
|
|
14
|
+
pool = ::Google::Protobuf::DescriptorPool.generated_pool
|
|
15
|
+
pool.add_serialized_file(descriptor_data)
|
|
16
|
+
|
|
17
|
+
module Tinkoff
|
|
18
|
+
module Public
|
|
19
|
+
module Invest
|
|
20
|
+
module Api
|
|
21
|
+
module Contract
|
|
22
|
+
module V1
|
|
23
|
+
MarketDataRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.MarketDataRequest").msgclass
|
|
24
|
+
MarketDataServerSideStreamRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.MarketDataServerSideStreamRequest").msgclass
|
|
25
|
+
MarketDataResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.MarketDataResponse").msgclass
|
|
26
|
+
SubscribeCandlesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.SubscribeCandlesRequest").msgclass
|
|
27
|
+
CandleInstrument = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.CandleInstrument").msgclass
|
|
28
|
+
SubscribeCandlesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.SubscribeCandlesResponse").msgclass
|
|
29
|
+
CandleSubscription = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.CandleSubscription").msgclass
|
|
30
|
+
SubscribeOrderBookRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.SubscribeOrderBookRequest").msgclass
|
|
31
|
+
OrderBookInstrument = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.OrderBookInstrument").msgclass
|
|
32
|
+
SubscribeOrderBookResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.SubscribeOrderBookResponse").msgclass
|
|
33
|
+
OrderBookSubscription = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.OrderBookSubscription").msgclass
|
|
34
|
+
SubscribeTradesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.SubscribeTradesRequest").msgclass
|
|
35
|
+
TradeInstrument = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.TradeInstrument").msgclass
|
|
36
|
+
SubscribeTradesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.SubscribeTradesResponse").msgclass
|
|
37
|
+
TradeSubscription = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.TradeSubscription").msgclass
|
|
38
|
+
SubscribeInfoRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.SubscribeInfoRequest").msgclass
|
|
39
|
+
InfoInstrument = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.InfoInstrument").msgclass
|
|
40
|
+
SubscribeInfoResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.SubscribeInfoResponse").msgclass
|
|
41
|
+
InfoSubscription = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.InfoSubscription").msgclass
|
|
42
|
+
SubscribeLastPriceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.SubscribeLastPriceRequest").msgclass
|
|
43
|
+
LastPriceInstrument = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.LastPriceInstrument").msgclass
|
|
44
|
+
SubscribeLastPriceResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.SubscribeLastPriceResponse").msgclass
|
|
45
|
+
LastPriceSubscription = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.LastPriceSubscription").msgclass
|
|
46
|
+
Candle = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.Candle").msgclass
|
|
47
|
+
OrderBook = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.OrderBook").msgclass
|
|
48
|
+
Order = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.Order").msgclass
|
|
49
|
+
Trade = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.Trade").msgclass
|
|
50
|
+
TradingStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.TradingStatus").msgclass
|
|
51
|
+
GetCandlesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.GetCandlesRequest").msgclass
|
|
52
|
+
GetCandlesRequest::CandleSource = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.GetCandlesRequest.CandleSource").enummodule
|
|
53
|
+
GetCandlesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.GetCandlesResponse").msgclass
|
|
54
|
+
HistoricCandle = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.HistoricCandle").msgclass
|
|
55
|
+
GetLastPricesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.GetLastPricesRequest").msgclass
|
|
56
|
+
GetLastPricesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.GetLastPricesResponse").msgclass
|
|
57
|
+
LastPrice = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.LastPrice").msgclass
|
|
58
|
+
OpenInterest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.OpenInterest").msgclass
|
|
59
|
+
GetOrderBookRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.GetOrderBookRequest").msgclass
|
|
60
|
+
GetOrderBookResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.GetOrderBookResponse").msgclass
|
|
61
|
+
GetTradingStatusRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.GetTradingStatusRequest").msgclass
|
|
62
|
+
GetTradingStatusesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.GetTradingStatusesRequest").msgclass
|
|
63
|
+
GetTradingStatusesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.GetTradingStatusesResponse").msgclass
|
|
64
|
+
GetTradingStatusResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.GetTradingStatusResponse").msgclass
|
|
65
|
+
GetLastTradesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.GetLastTradesRequest").msgclass
|
|
66
|
+
GetLastTradesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.GetLastTradesResponse").msgclass
|
|
67
|
+
GetMySubscriptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.GetMySubscriptions").msgclass
|
|
68
|
+
GetClosePricesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.GetClosePricesRequest").msgclass
|
|
69
|
+
InstrumentClosePriceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.InstrumentClosePriceRequest").msgclass
|
|
70
|
+
GetClosePricesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.GetClosePricesResponse").msgclass
|
|
71
|
+
InstrumentClosePriceResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.InstrumentClosePriceResponse").msgclass
|
|
72
|
+
GetTechAnalysisRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.GetTechAnalysisRequest").msgclass
|
|
73
|
+
GetTechAnalysisRequest::Smoothing = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.GetTechAnalysisRequest.Smoothing").msgclass
|
|
74
|
+
GetTechAnalysisRequest::Deviation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.GetTechAnalysisRequest.Deviation").msgclass
|
|
75
|
+
GetTechAnalysisRequest::IndicatorInterval = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.GetTechAnalysisRequest.IndicatorInterval").enummodule
|
|
76
|
+
GetTechAnalysisRequest::TypeOfPrice = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.GetTechAnalysisRequest.TypeOfPrice").enummodule
|
|
77
|
+
GetTechAnalysisRequest::IndicatorType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.GetTechAnalysisRequest.IndicatorType").enummodule
|
|
78
|
+
GetTechAnalysisResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.GetTechAnalysisResponse").msgclass
|
|
79
|
+
GetTechAnalysisResponse::TechAnalysisItem = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.GetTechAnalysisResponse.TechAnalysisItem").msgclass
|
|
80
|
+
GetMarketValuesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.GetMarketValuesRequest").msgclass
|
|
81
|
+
GetMarketValuesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.GetMarketValuesResponse").msgclass
|
|
82
|
+
MarketValueInstrument = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.MarketValueInstrument").msgclass
|
|
83
|
+
MarketValue = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.MarketValue").msgclass
|
|
84
|
+
SubscriptionAction = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.SubscriptionAction").enummodule
|
|
85
|
+
SubscriptionInterval = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.SubscriptionInterval").enummodule
|
|
86
|
+
SubscriptionStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.SubscriptionStatus").enummodule
|
|
87
|
+
TradeSourceType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.TradeSourceType").enummodule
|
|
88
|
+
TradeDirection = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.TradeDirection").enummodule
|
|
89
|
+
CandleInterval = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.CandleInterval").enummodule
|
|
90
|
+
CandleSource = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.CandleSource").enummodule
|
|
91
|
+
MarketValueType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.MarketValueType").enummodule
|
|
92
|
+
OrderBookType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.OrderBookType").enummodule
|
|
93
|
+
LastPriceType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.LastPriceType").enummodule
|
|
94
|
+
end
|
|
95
|
+
end
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
end
|
|
99
|
+
end
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
2
|
+
# Source: marketdata.proto for package 'tinkoff.public.invest.api.contract.v1'
|
|
3
|
+
|
|
4
|
+
require 'grpc'
|
|
5
|
+
require 'marketdata_pb'
|
|
6
|
+
|
|
7
|
+
module Tinkoff
|
|
8
|
+
module Public
|
|
9
|
+
module Invest
|
|
10
|
+
module Api
|
|
11
|
+
module Contract
|
|
12
|
+
module V1
|
|
13
|
+
module MarketDataService
|
|
14
|
+
class Service
|
|
15
|
+
|
|
16
|
+
include ::GRPC::GenericService
|
|
17
|
+
|
|
18
|
+
self.marshal_class_method = :encode
|
|
19
|
+
self.unmarshal_class_method = :decode
|
|
20
|
+
self.service_name = 'tinkoff.public.invest.api.contract.v1.MarketDataService'
|
|
21
|
+
|
|
22
|
+
# GetCandles — исторические свечи по инструменту
|
|
23
|
+
rpc :GetCandles, ::Tinkoff::Public::Invest::Api::Contract::V1::GetCandlesRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::GetCandlesResponse
|
|
24
|
+
# GetLastPrices — цены последних сделок по инструментам
|
|
25
|
+
rpc :GetLastPrices, ::Tinkoff::Public::Invest::Api::Contract::V1::GetLastPricesRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::GetLastPricesResponse
|
|
26
|
+
# GetOrderBook — стакан по инструменту
|
|
27
|
+
rpc :GetOrderBook, ::Tinkoff::Public::Invest::Api::Contract::V1::GetOrderBookRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::GetOrderBookResponse
|
|
28
|
+
# GetTradingStatus — статус торгов по инструменту
|
|
29
|
+
rpc :GetTradingStatus, ::Tinkoff::Public::Invest::Api::Contract::V1::GetTradingStatusRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::GetTradingStatusResponse
|
|
30
|
+
# GetTradingStatuses — статус торгов по инструментам
|
|
31
|
+
rpc :GetTradingStatuses, ::Tinkoff::Public::Invest::Api::Contract::V1::GetTradingStatusesRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::GetTradingStatusesResponse
|
|
32
|
+
# GetLastTrades — обезличенные сделки
|
|
33
|
+
# Обезличенные сделки по инструменту. Метод гарантирует получение информации за последний час.
|
|
34
|
+
rpc :GetLastTrades, ::Tinkoff::Public::Invest::Api::Contract::V1::GetLastTradesRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::GetLastTradesResponse
|
|
35
|
+
# GetClosePrices — цены закрытия торговой сессии по инструментам
|
|
36
|
+
rpc :GetClosePrices, ::Tinkoff::Public::Invest::Api::Contract::V1::GetClosePricesRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::GetClosePricesResponse
|
|
37
|
+
# GetTechAnalysis — технические индикаторы по инструменту
|
|
38
|
+
rpc :GetTechAnalysis, ::Tinkoff::Public::Invest::Api::Contract::V1::GetTechAnalysisRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::GetTechAnalysisResponse
|
|
39
|
+
# GetMarketValues — рыночные данные по инструментам
|
|
40
|
+
rpc :GetMarketValues, ::Tinkoff::Public::Invest::Api::Contract::V1::GetMarketValuesRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::GetMarketValuesResponse
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
Stub = Service.rpc_stub_class
|
|
44
|
+
end
|
|
45
|
+
# Сервис для получения биржевой информации:<br/> 1. Свечи.<br/> 2. Стаканы.<br/> 3. Торговые статусы.<br/> 4. Лента сделок.
|
|
46
|
+
module MarketDataStreamService
|
|
47
|
+
class Service
|
|
48
|
+
|
|
49
|
+
include ::GRPC::GenericService
|
|
50
|
+
|
|
51
|
+
self.marshal_class_method = :encode
|
|
52
|
+
self.unmarshal_class_method = :decode
|
|
53
|
+
self.service_name = 'tinkoff.public.invest.api.contract.v1.MarketDataStreamService'
|
|
54
|
+
|
|
55
|
+
# MarketDataStream — bidirectional стрим предоставления биржевой информации
|
|
56
|
+
rpc :MarketDataStream, stream(::Tinkoff::Public::Invest::Api::Contract::V1::MarketDataRequest), stream(::Tinkoff::Public::Invest::Api::Contract::V1::MarketDataResponse)
|
|
57
|
+
# MarketDataServerSideStream — server-side стрим предоставления биржевой информации
|
|
58
|
+
rpc :MarketDataServerSideStream, ::Tinkoff::Public::Invest::Api::Contract::V1::MarketDataServerSideStreamRequest, stream(::Tinkoff::Public::Invest::Api::Contract::V1::MarketDataResponse)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
Stub = Service.rpc_stub_class
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# source: operations.proto
|
|
4
|
+
|
|
5
|
+
require 'google/protobuf'
|
|
6
|
+
|
|
7
|
+
require 'google/protobuf/timestamp_pb'
|
|
8
|
+
require 'common_pb'
|
|
9
|
+
require 'google/api/field_behavior_pb'
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
descriptor_data = "\n\x10operations.proto\x12%tinkoff.public.invest.api.contract.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x0c\x63ommon.proto\x1a\x1fgoogle/api/field_behavior.proto\"\x8a\x02\n\x11OperationsRequest\x12\x18\n\naccount_id\x18\x01 \x01(\tB\x04\xe2\x41\x01\x02\x12-\n\x04\x66rom\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x88\x01\x01\x12+\n\x02to\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01\x88\x01\x01\x12I\n\x05state\x18\x04 \x01(\x0e\x32\x35.tinkoff.public.invest.api.contract.v1.OperationStateH\x02\x88\x01\x01\x12\x11\n\x04\x66igi\x18\x05 \x01(\tH\x03\x88\x01\x01\x42\x07\n\x05_fromB\x05\n\x03_toB\x08\n\x06_stateB\x07\n\x05_figi\"Z\n\x12OperationsResponse\x12\x44\n\noperations\x18\x01 \x03(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Operation\"\xc5\x05\n\tOperation\x12\n\n\x02id\x18\x01 \x01(\t\x12\x1b\n\x13parent_operation_id\x18\x02 \x01(\t\x12\x10\n\x08\x63urrency\x18\x03 \x01(\t\x12\x42\n\x07payment\x18\x04 \x01(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12@\n\x05price\x18\x05 \x01(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12\x44\n\x05state\x18\x06 \x01(\x0e\x32\x35.tinkoff.public.invest.api.contract.v1.OperationState\x12\x10\n\x08quantity\x18\x07 \x01(\x03\x12\x15\n\rquantity_rest\x18\x08 \x01(\x03\x12\x0c\n\x04\x66igi\x18\t \x01(\t\x12\x17\n\x0finstrument_type\x18\n \x01(\t\x12(\n\x04\x64\x61te\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04type\x18\x0c \x01(\t\x12L\n\x0eoperation_type\x18\r \x01(\x0e\x32\x34.tinkoff.public.invest.api.contract.v1.OperationType\x12\x45\n\x06trades\x18\x0e \x03(\x0b\x32\x35.tinkoff.public.invest.api.contract.v1.OperationTrade\x12\x11\n\tasset_uid\x18\x10 \x01(\t\x12\x14\n\x0cposition_uid\x18\x11 \x01(\t\x12\x16\n\x0einstrument_uid\x18\x12 \x01(\t\x12S\n\x10\x63hild_operations\x18\x13 \x03(\x0b\x32\x39.tinkoff.public.invest.api.contract.v1.ChildOperationItem\"\xa5\x01\n\x0eOperationTrade\x12\x10\n\x08trade_id\x18\x01 \x01(\t\x12-\n\tdate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08quantity\x18\x03 \x01(\x03\x12@\n\x05price\x18\x04 \x01(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\"\xc7\x01\n\x10PortfolioRequest\x12\x18\n\naccount_id\x18\x01 \x01(\tB\x04\xe2\x41\x01\x02\x12^\n\x08\x63urrency\x18\x02 \x01(\x0e\x32G.tinkoff.public.invest.api.contract.v1.PortfolioRequest.CurrencyRequestH\x00\x88\x01\x01\",\n\x0f\x43urrencyRequest\x12\x07\n\x03RUB\x10\x00\x12\x07\n\x03USD\x10\x01\x12\x07\n\x03\x45UR\x10\x02\x42\x0b\n\t_currency\"\xb3\x08\n\x11PortfolioResponse\x12N\n\x13total_amount_shares\x18\x01 \x01(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12M\n\x12total_amount_bonds\x18\x02 \x01(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12K\n\x10total_amount_etf\x18\x03 \x01(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12R\n\x17total_amount_currencies\x18\x04 \x01(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12O\n\x14total_amount_futures\x18\x05 \x01(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12H\n\x0e\x65xpected_yield\x18\x06 \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Quotation\x12K\n\tpositions\x18\x07 \x03(\x0b\x32\x38.tinkoff.public.invest.api.contract.v1.PortfolioPosition\x12\x12\n\naccount_id\x18\x08 \x01(\t\x12O\n\x14total_amount_options\x18\t \x01(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12J\n\x0ftotal_amount_sp\x18\n \x01(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12Q\n\x16total_amount_portfolio\x18\x0b \x01(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12Z\n\x11virtual_positions\x18\x0c \x03(\x0b\x32?.tinkoff.public.invest.api.contract.v1.VirtualPortfolioPosition\x12\x46\n\x0b\x64\x61ily_yield\x18\x0f \x01(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12N\n\x14\x64\x61ily_yield_relative\x18\x10 \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Quotation\",\n\x10PositionsRequest\x12\x18\n\naccount_id\x18\x01 \x01(\tB\x04\xe2\x41\x01\x02\"\xb5\x03\n\x11PositionsResponse\x12@\n\x05money\x18\x01 \x03(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12\x42\n\x07\x62locked\x18\x02 \x03(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12N\n\nsecurities\x18\x03 \x03(\x0b\x32:.tinkoff.public.invest.api.contract.v1.PositionsSecurities\x12\"\n\x1alimits_loading_in_progress\x18\x04 \x01(\x08\x12H\n\x07\x66utures\x18\x05 \x03(\x0b\x32\x37.tinkoff.public.invest.api.contract.v1.PositionsFutures\x12H\n\x07options\x18\x06 \x03(\x0b\x32\x37.tinkoff.public.invest.api.contract.v1.PositionsOptions\x12\x12\n\naccount_id\x18\x0f \x01(\t\"1\n\x15WithdrawLimitsRequest\x12\x18\n\naccount_id\x18\x01 \x01(\tB\x04\xe2\x41\x01\x02\"\xec\x01\n\x16WithdrawLimitsResponse\x12@\n\x05money\x18\x01 \x03(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12\x42\n\x07\x62locked\x18\x02 \x03(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12L\n\x11\x62locked_guarantee\x18\x03 \x03(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\"\xb4\x08\n\x11PortfolioPosition\x12\x0c\n\x04\x66igi\x18\x01 \x01(\t\x12\x17\n\x0finstrument_type\x18\x02 \x01(\t\x12\x42\n\x08quantity\x18\x03 \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Quotation\x12Q\n\x16\x61verage_position_price\x18\x04 \x01(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12H\n\x0e\x65xpected_yield\x18\x05 \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Quotation\x12\x46\n\x0b\x63urrent_nkd\x18\x06 \x01(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12W\n\x19\x61verage_position_price_pt\x18\x07 \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.QuotationB\x02\x18\x01\x12H\n\rcurrent_price\x18\x08 \x01(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12V\n\x1b\x61verage_position_price_fifo\x18\t \x01(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12K\n\rquantity_lots\x18\n \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.QuotationB\x02\x18\x01\x12\x0f\n\x07\x62locked\x18\x15 \x01(\x08\x12\x46\n\x0c\x62locked_lots\x18\x16 \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Quotation\x12\x14\n\x0cposition_uid\x18\x18 \x01(\t\x12\x16\n\x0einstrument_uid\x18\x19 \x01(\t\x12\x45\n\nvar_margin\x18\x1a \x01(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12M\n\x13\x65xpected_yield_fifo\x18\x1b \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Quotation\x12\x46\n\x0b\x64\x61ily_yield\x18\x1f \x01(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12\x0e\n\x06ticker\x18 \x01(\t\x12\x12\n\nclass_code\x18! \x01(\t\"\xde\x05\n\x18VirtualPortfolioPosition\x12\x14\n\x0cposition_uid\x18\x01 \x01(\t\x12\x16\n\x0einstrument_uid\x18\x02 \x01(\t\x12\x0c\n\x04\x66igi\x18\x03 \x01(\t\x12\x17\n\x0finstrument_type\x18\x04 \x01(\t\x12\x42\n\x08quantity\x18\x05 \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Quotation\x12Q\n\x16\x61verage_position_price\x18\x06 \x01(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12H\n\x0e\x65xpected_yield\x18\x07 \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Quotation\x12M\n\x13\x65xpected_yield_fifo\x18\x08 \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Quotation\x12/\n\x0b\x65xpire_date\x18\t \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12H\n\rcurrent_price\x18\n \x01(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12V\n\x1b\x61verage_position_price_fifo\x18\x0b \x01(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12\x46\n\x0b\x64\x61ily_yield\x18\x1f \x01(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12\x0e\n\x06ticker\x18 \x01(\t\x12\x12\n\nclass_code\x18! \x01(\t\"\xca\x01\n\x13PositionsSecurities\x12\x0c\n\x04\x66igi\x18\x01 \x01(\t\x12\x0f\n\x07\x62locked\x18\x02 \x01(\x03\x12\x0f\n\x07\x62\x61lance\x18\x03 \x01(\x03\x12\x14\n\x0cposition_uid\x18\x04 \x01(\t\x12\x16\n\x0einstrument_uid\x18\x05 \x01(\t\x12\x0e\n\x06ticker\x18\x06 \x01(\t\x12\x12\n\nclass_code\x18\x07 \x01(\t\x12\x18\n\x10\x65xchange_blocked\x18\x0b \x01(\x08\x12\x17\n\x0finstrument_type\x18\x10 \x01(\t\"\x94\x01\n\x10PositionsFutures\x12\x0c\n\x04\x66igi\x18\x01 \x01(\t\x12\x0f\n\x07\x62locked\x18\x02 \x01(\x03\x12\x0f\n\x07\x62\x61lance\x18\x03 \x01(\x03\x12\x14\n\x0cposition_uid\x18\x04 \x01(\t\x12\x16\n\x0einstrument_uid\x18\x05 \x01(\t\x12\x0e\n\x06ticker\x18\x06 \x01(\t\x12\x12\n\nclass_code\x18\x07 \x01(\t\"\x86\x01\n\x10PositionsOptions\x12\x14\n\x0cposition_uid\x18\x01 \x01(\t\x12\x16\n\x0einstrument_uid\x18\x02 \x01(\t\x12\x0e\n\x06ticker\x18\x03 \x01(\t\x12\x12\n\nclass_code\x18\x04 \x01(\t\x12\x0f\n\x07\x62locked\x18\x0b \x01(\x03\x12\x0f\n\x07\x62\x61lance\x18\x15 \x01(\x03\"\xf2\x01\n\x13\x42rokerReportRequest\x12l\n\x1egenerate_broker_report_request\x18\x01 \x01(\x0b\x32\x42.tinkoff.public.invest.api.contract.v1.GenerateBrokerReportRequestH\x00\x12\x62\n\x19get_broker_report_request\x18\x02 \x01(\x0b\x32=.tinkoff.public.invest.api.contract.v1.GetBrokerReportRequestH\x00\x42\t\n\x07payload\"\xf7\x01\n\x14\x42rokerReportResponse\x12n\n\x1fgenerate_broker_report_response\x18\x01 \x01(\x0b\x32\x43.tinkoff.public.invest.api.contract.v1.GenerateBrokerReportResponseH\x00\x12\x64\n\x1aget_broker_report_response\x18\x02 \x01(\x0b\x32>.tinkoff.public.invest.api.contract.v1.GetBrokerReportResponseH\x00\x42\t\n\x07payload\"\x95\x01\n\x1bGenerateBrokerReportRequest\x12\x18\n\naccount_id\x18\x01 \x01(\tB\x04\xe2\x41\x01\x02\x12.\n\x04\x66rom\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x02\x12,\n\x02to\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x02\"/\n\x1cGenerateBrokerReportResponse\x12\x0f\n\x07task_id\x18\x01 \x01(\t\"K\n\x16GetBrokerReportRequest\x12\x15\n\x07task_id\x18\x01 \x01(\tB\x04\xe2\x41\x01\x02\x12\x11\n\x04page\x18\x02 \x01(\x05H\x00\x88\x01\x01\x42\x07\n\x05_page\"\x9b\x01\n\x17GetBrokerReportResponse\x12J\n\rbroker_report\x18\x01 \x03(\x0b\x32\x33.tinkoff.public.invest.api.contract.v1.BrokerReport\x12\x12\n\nitemsCount\x18\x02 \x01(\x05\x12\x12\n\npagesCount\x18\x03 \x01(\x05\x12\x0c\n\x04page\x18\x04 \x01(\x05\"\xda\x08\n\x0c\x42rokerReport\x12\x10\n\x08trade_id\x18\x01 \x01(\t\x12\x10\n\x08order_id\x18\x02 \x01(\t\x12\x0c\n\x04\x66igi\x18\x03 \x01(\t\x12\x14\n\x0c\x65xecute_sign\x18\x04 \x01(\t\x12\x32\n\x0etrade_datetime\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08\x65xchange\x18\x06 \x01(\t\x12\x12\n\nclass_code\x18\x07 \x01(\t\x12\x11\n\tdirection\x18\x08 \x01(\t\x12\x0c\n\x04name\x18\t \x01(\t\x12\x0e\n\x06ticker\x18\n \x01(\t\x12@\n\x05price\x18\x0b \x01(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12\x10\n\x08quantity\x18\x0c \x01(\x03\x12G\n\x0corder_amount\x18\r \x01(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12\x43\n\taci_value\x18\x0e \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Quotation\x12M\n\x12total_order_amount\x18\x0f \x01(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12L\n\x11\x62roker_commission\x18\x10 \x01(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12N\n\x13\x65xchange_commission\x18\x11 \x01(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12W\n\x1c\x65xchange_clearing_commission\x18\x12 \x01(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12\x43\n\trepo_rate\x18\x13 \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Quotation\x12\r\n\x05party\x18\x14 \x01(\t\x12\x34\n\x10\x63lear_value_date\x18\x15 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x32\n\x0esec_value_date\x18\x16 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x15\n\rbroker_status\x18\x17 \x01(\t\x12\x1f\n\x17separate_agreement_type\x18\x18 \x01(\t\x12!\n\x19separate_agreement_number\x18\x19 \x01(\t\x12\x1f\n\x17separate_agreement_date\x18\x1a \x01(\t\x12\x15\n\rdelivery_type\x18\x1b \x01(\t\"\xa8\x02\n GetDividendsForeignIssuerRequest\x12\x80\x01\n\"generate_div_foreign_issuer_report\x18\x01 \x01(\x0b\x32R.tinkoff.public.invest.api.contract.v1.GenerateDividendsForeignIssuerReportRequestH\x00\x12v\n\x1dget_div_foreign_issuer_report\x18\x02 \x01(\x0b\x32M.tinkoff.public.invest.api.contract.v1.GetDividendsForeignIssuerReportRequestH\x00\x42\t\n\x07payload\"\xb0\x02\n!GetDividendsForeignIssuerResponse\x12\x8a\x01\n+generate_div_foreign_issuer_report_response\x18\x01 \x01(\x0b\x32S.tinkoff.public.invest.api.contract.v1.GenerateDividendsForeignIssuerReportResponseH\x00\x12s\n\x19\x64iv_foreign_issuer_report\x18\x02 \x01(\x0b\x32N.tinkoff.public.invest.api.contract.v1.GetDividendsForeignIssuerReportResponseH\x00\x42\t\n\x07payload\"\xa5\x01\n+GenerateDividendsForeignIssuerReportRequest\x12\x18\n\naccount_id\x18\x01 \x01(\tB\x04\xe2\x41\x01\x02\x12.\n\x04\x66rom\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x02\x12,\n\x02to\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x02\"[\n&GetDividendsForeignIssuerReportRequest\x12\x15\n\x07task_id\x18\x01 \x01(\tB\x04\xe2\x41\x01\x02\x12\x11\n\x04page\x18\x02 \x01(\x05H\x00\x88\x01\x01\x42\x07\n\x05_page\"?\n,GenerateDividendsForeignIssuerReportResponse\x12\x0f\n\x07task_id\x18\x01 \x01(\t\"\xcd\x01\n\'GetDividendsForeignIssuerReportResponse\x12l\n\x1f\x64ividends_foreign_issuer_report\x18\x01 \x03(\x0b\x32\x43.tinkoff.public.invest.api.contract.v1.DividendsForeignIssuerReport\x12\x12\n\nitemsCount\x18\x02 \x01(\x05\x12\x12\n\npagesCount\x18\x03 \x01(\x05\x12\x0c\n\x04page\x18\x04 \x01(\x05\"\xc9\x04\n\x1c\x44ividendsForeignIssuerReport\x12/\n\x0brecord_date\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0cpayment_date\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x15\n\rsecurity_name\x18\x03 \x01(\t\x12\x0c\n\x04isin\x18\x04 \x01(\t\x12\x16\n\x0eissuer_country\x18\x05 \x01(\t\x12\x10\n\x08quantity\x18\x06 \x01(\x03\x12\x42\n\x08\x64ividend\x18\x07 \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Quotation\x12M\n\x13\x65xternal_commission\x18\x08 \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Quotation\x12H\n\x0e\x64ividend_gross\x18\t \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Quotation\x12=\n\x03tax\x18\n \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Quotation\x12I\n\x0f\x64ividend_amount\x18\x0b \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Quotation\x12\x10\n\x08\x63urrency\x18\x0c \x01(\t\"{\n\x16PortfolioStreamRequest\x12\x10\n\x08\x61\x63\x63ounts\x18\x01 \x03(\t\x12O\n\rping_settings\x18\x0f \x01(\x0b\x32\x38.tinkoff.public.invest.api.contract.v1.PingDelaySettings\"\x8d\x02\n\x17PortfolioStreamResponse\x12[\n\rsubscriptions\x18\x01 \x01(\x0b\x32\x42.tinkoff.public.invest.api.contract.v1.PortfolioSubscriptionResultH\x00\x12M\n\tportfolio\x18\x02 \x01(\x0b\x32\x38.tinkoff.public.invest.api.contract.v1.PortfolioResponseH\x00\x12;\n\x04ping\x18\x03 \x01(\x0b\x32+.tinkoff.public.invest.api.contract.v1.PingH\x00\x42\t\n\x07payload\"\x99\x01\n\x1bPortfolioSubscriptionResult\x12R\n\x08\x61\x63\x63ounts\x18\x01 \x03(\x0b\x32@.tinkoff.public.invest.api.contract.v1.AccountSubscriptionStatus\x12\x13\n\x0btracking_id\x18\x07 \x01(\t\x12\x11\n\tstream_id\x18\x08 \x01(\t\"\x90\x01\n\x19\x41\x63\x63ountSubscriptionStatus\x12\x12\n\naccount_id\x18\x01 \x01(\t\x12_\n\x13subscription_status\x18\x06 \x01(\x0e\x32\x42.tinkoff.public.invest.api.contract.v1.PortfolioSubscriptionStatus\"\xd6\x04\n\x1cGetOperationsByCursorRequest\x12\x18\n\naccount_id\x18\x01 \x01(\tB\x04\xe2\x41\x01\x02\x12\x1a\n\rinstrument_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12-\n\x04\x66rom\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01\x88\x01\x01\x12+\n\x02to\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x02\x88\x01\x01\x12\x13\n\x06\x63ursor\x18\x0b \x01(\tH\x03\x88\x01\x01\x12\x12\n\x05limit\x18\x0c \x01(\x05H\x04\x88\x01\x01\x12M\n\x0foperation_types\x18\r \x03(\x0e\x32\x34.tinkoff.public.invest.api.contract.v1.OperationType\x12I\n\x05state\x18\x0e \x01(\x0e\x32\x35.tinkoff.public.invest.api.contract.v1.OperationStateH\x05\x88\x01\x01\x12 \n\x13without_commissions\x18\x0f \x01(\x08H\x06\x88\x01\x01\x12\x1b\n\x0ewithout_trades\x18\x10 \x01(\x08H\x07\x88\x01\x01\x12\x1f\n\x12without_overnights\x18\x11 \x01(\x08H\x08\x88\x01\x01\x42\x10\n\x0e_instrument_idB\x07\n\x05_fromB\x05\n\x03_toB\t\n\x07_cursorB\x08\n\x06_limitB\x08\n\x06_stateB\x16\n\x14_without_commissionsB\x11\n\x0f_without_tradesB\x15\n\x13_without_overnights\"\x8b\x01\n\x1dGetOperationsByCursorResponse\x12\x10\n\x08has_next\x18\x01 \x01(\x08\x12\x13\n\x0bnext_cursor\x18\x02 \x01(\t\x12\x43\n\x05items\x18\x06 \x03(\x0b\x32\x34.tinkoff.public.invest.api.contract.v1.OperationItem\"\xea\t\n\rOperationItem\x12\x0e\n\x06\x63ursor\x18\x01 \x01(\t\x12\x19\n\x11\x62roker_account_id\x18\x06 \x01(\t\x12\n\n\x02id\x18\x10 \x01(\t\x12\x1b\n\x13parent_operation_id\x18\x11 \x01(\t\x12\x0c\n\x04name\x18\x12 \x01(\t\x12(\n\x04\x64\x61te\x18\x15 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x42\n\x04type\x18\x16 \x01(\x0e\x32\x34.tinkoff.public.invest.api.contract.v1.OperationType\x12\x13\n\x0b\x64\x65scription\x18\x17 \x01(\t\x12\x44\n\x05state\x18\x18 \x01(\x0e\x32\x35.tinkoff.public.invest.api.contract.v1.OperationState\x12\x16\n\x0einstrument_uid\x18\x1f \x01(\t\x12\x0c\n\x04\x66igi\x18 \x01(\t\x12\x17\n\x0finstrument_type\x18! \x01(\t\x12N\n\x0finstrument_kind\x18\" \x01(\x0e\x32\x35.tinkoff.public.invest.api.contract.v1.InstrumentType\x12\x14\n\x0cposition_uid\x18# \x01(\t\x12\x0e\n\x06ticker\x18$ \x01(\t\x12\x12\n\nclass_code\x18% \x01(\t\x12\x42\n\x07payment\x18) \x01(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12@\n\x05price\x18* \x01(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12\x45\n\ncommission\x18+ \x01(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12@\n\x05yield\x18, \x01(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12H\n\x0eyield_relative\x18- \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Quotation\x12\x46\n\x0b\x61\x63\x63rued_int\x18. \x01(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12\x10\n\x08quantity\x18\x33 \x01(\x03\x12\x15\n\rquantity_rest\x18\x34 \x01(\x03\x12\x15\n\rquantity_done\x18\x35 \x01(\x03\x12\x34\n\x10\x63\x61ncel_date_time\x18\x38 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x15\n\rcancel_reason\x18\x39 \x01(\t\x12O\n\x0btrades_info\x18= \x01(\x0b\x32:.tinkoff.public.invest.api.contract.v1.OperationItemTrades\x12\x11\n\tasset_uid\x18@ \x01(\t\x12S\n\x10\x63hild_operations\x18\x41 \x03(\x0b\x32\x39.tinkoff.public.invest.api.contract.v1.ChildOperationItem\"`\n\x13OperationItemTrades\x12I\n\x06trades\x18\x06 \x03(\x0b\x32\x39.tinkoff.public.invest.api.contract.v1.OperationItemTrade\"\xab\x02\n\x12OperationItemTrade\x12\x0b\n\x03num\x18\x01 \x01(\t\x12(\n\x04\x64\x61te\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08quantity\x18\x0b \x01(\x03\x12@\n\x05price\x18\x10 \x01(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12@\n\x05yield\x18\x15 \x01(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12H\n\x0eyield_relative\x18\x16 \x01(\x0b\x32\x30.tinkoff.public.invest.api.contract.v1.Quotation\"\x9b\x01\n\x16PositionsStreamRequest\x12\x10\n\x08\x61\x63\x63ounts\x18\x01 \x03(\t\x12\x1e\n\x16with_initial_positions\x18\x03 \x01(\x08\x12O\n\rping_settings\x18\x0f \x01(\x0b\x32\x38.tinkoff.public.invest.api.contract.v1.PingDelaySettings\"\xde\x02\n\x17PositionsStreamResponse\x12[\n\rsubscriptions\x18\x01 \x01(\x0b\x32\x42.tinkoff.public.invest.api.contract.v1.PositionsSubscriptionResultH\x00\x12G\n\x08position\x18\x02 \x01(\x0b\x32\x33.tinkoff.public.invest.api.contract.v1.PositionDataH\x00\x12;\n\x04ping\x18\x03 \x01(\x0b\x32+.tinkoff.public.invest.api.contract.v1.PingH\x00\x12U\n\x11initial_positions\x18\x05 \x01(\x0b\x32\x38.tinkoff.public.invest.api.contract.v1.PositionsResponseH\x00\x42\t\n\x07payload\"\x9b\x01\n\x1bPositionsSubscriptionResult\x12T\n\x08\x61\x63\x63ounts\x18\x01 \x03(\x0b\x32\x42.tinkoff.public.invest.api.contract.v1.PositionsSubscriptionStatus\x12\x13\n\x0btracking_id\x18\x07 \x01(\t\x12\x11\n\tstream_id\x18\x08 \x01(\t\"\x99\x01\n\x1bPositionsSubscriptionStatus\x12\x12\n\naccount_id\x18\x01 \x01(\t\x12\x66\n\x13subscription_status\x18\x06 \x01(\x0e\x32I.tinkoff.public.invest.api.contract.v1.PositionsAccountSubscriptionStatus\"\xf6\x02\n\x0cPositionData\x12\x12\n\naccount_id\x18\x01 \x01(\t\x12\x44\n\x05money\x18\x02 \x03(\x0b\x32\x35.tinkoff.public.invest.api.contract.v1.PositionsMoney\x12N\n\nsecurities\x18\x03 \x03(\x0b\x32:.tinkoff.public.invest.api.contract.v1.PositionsSecurities\x12H\n\x07\x66utures\x18\x04 \x03(\x0b\x32\x37.tinkoff.public.invest.api.contract.v1.PositionsFutures\x12H\n\x07options\x18\x05 \x03(\x0b\x32\x37.tinkoff.public.invest.api.contract.v1.PositionsOptions\x12(\n\x04\x64\x61te\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xa6\x01\n\x0ePositionsMoney\x12J\n\x0f\x61vailable_value\x18\x01 \x01(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\x12H\n\rblocked_value\x18\x02 \x01(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue\"p\n\x12\x43hildOperationItem\x12\x16\n\x0einstrument_uid\x18\x01 \x01(\t\x12\x42\n\x07payment\x18\x02 \x01(\x0b\x32\x31.tinkoff.public.invest.api.contract.v1.MoneyValue*\x8b\x01\n\x0eOperationState\x12\x1f\n\x1bOPERATION_STATE_UNSPECIFIED\x10\x00\x12\x1c\n\x18OPERATION_STATE_EXECUTED\x10\x01\x12\x1c\n\x18OPERATION_STATE_CANCELED\x10\x02\x12\x1c\n\x18OPERATION_STATE_PROGRESS\x10\x03*\xe0\x10\n\rOperationType\x12\x1e\n\x1aOPERATION_TYPE_UNSPECIFIED\x10\x00\x12\x18\n\x14OPERATION_TYPE_INPUT\x10\x01\x12\x1b\n\x17OPERATION_TYPE_BOND_TAX\x10\x02\x12$\n OPERATION_TYPE_OUTPUT_SECURITIES\x10\x03\x12\x1c\n\x18OPERATION_TYPE_OVERNIGHT\x10\x04\x12\x16\n\x12OPERATION_TYPE_TAX\x10\x05\x12&\n\"OPERATION_TYPE_BOND_REPAYMENT_FULL\x10\x06\x12\x1c\n\x18OPERATION_TYPE_SELL_CARD\x10\x07\x12\x1f\n\x1bOPERATION_TYPE_DIVIDEND_TAX\x10\x08\x12\x19\n\x15OPERATION_TYPE_OUTPUT\x10\t\x12!\n\x1dOPERATION_TYPE_BOND_REPAYMENT\x10\n\x12!\n\x1dOPERATION_TYPE_TAX_CORRECTION\x10\x0b\x12\x1e\n\x1aOPERATION_TYPE_SERVICE_FEE\x10\x0c\x12\x1e\n\x1aOPERATION_TYPE_BENEFIT_TAX\x10\r\x12\x1d\n\x19OPERATION_TYPE_MARGIN_FEE\x10\x0e\x12\x16\n\x12OPERATION_TYPE_BUY\x10\x0f\x12\x1b\n\x17OPERATION_TYPE_BUY_CARD\x10\x10\x12#\n\x1fOPERATION_TYPE_INPUT_SECURITIES\x10\x11\x12\x1e\n\x1aOPERATION_TYPE_SELL_MARGIN\x10\x12\x12\x1d\n\x19OPERATION_TYPE_BROKER_FEE\x10\x13\x12\x1d\n\x19OPERATION_TYPE_BUY_MARGIN\x10\x14\x12\x1b\n\x17OPERATION_TYPE_DIVIDEND\x10\x15\x12\x17\n\x13OPERATION_TYPE_SELL\x10\x16\x12\x19\n\x15OPERATION_TYPE_COUPON\x10\x17\x12\x1e\n\x1aOPERATION_TYPE_SUCCESS_FEE\x10\x18\x12$\n OPERATION_TYPE_DIVIDEND_TRANSFER\x10\x19\x12%\n!OPERATION_TYPE_ACCRUING_VARMARGIN\x10\x1a\x12(\n$OPERATION_TYPE_WRITING_OFF_VARMARGIN\x10\x1b\x12\x1f\n\x1bOPERATION_TYPE_DELIVERY_BUY\x10\x1c\x12 \n\x1cOPERATION_TYPE_DELIVERY_SELL\x10\x1d\x12\x1d\n\x19OPERATION_TYPE_TRACK_MFEE\x10\x1e\x12\x1d\n\x19OPERATION_TYPE_TRACK_PFEE\x10\x1f\x12\"\n\x1eOPERATION_TYPE_TAX_PROGRESSIVE\x10 \x12\'\n#OPERATION_TYPE_BOND_TAX_PROGRESSIVE\x10!\x12+\n\'OPERATION_TYPE_DIVIDEND_TAX_PROGRESSIVE\x10\"\x12*\n&OPERATION_TYPE_BENEFIT_TAX_PROGRESSIVE\x10#\x12-\n)OPERATION_TYPE_TAX_CORRECTION_PROGRESSIVE\x10$\x12\'\n#OPERATION_TYPE_TAX_REPO_PROGRESSIVE\x10%\x12\x1b\n\x17OPERATION_TYPE_TAX_REPO\x10&\x12 \n\x1cOPERATION_TYPE_TAX_REPO_HOLD\x10\'\x12\"\n\x1eOPERATION_TYPE_TAX_REPO_REFUND\x10(\x12,\n(OPERATION_TYPE_TAX_REPO_HOLD_PROGRESSIVE\x10)\x12.\n*OPERATION_TYPE_TAX_REPO_REFUND_PROGRESSIVE\x10*\x12\x1a\n\x16OPERATION_TYPE_DIV_EXT\x10+\x12(\n$OPERATION_TYPE_TAX_CORRECTION_COUPON\x10,\x12\x1b\n\x17OPERATION_TYPE_CASH_FEE\x10-\x12\x1a\n\x16OPERATION_TYPE_OUT_FEE\x10.\x12!\n\x1dOPERATION_TYPE_OUT_STAMP_DUTY\x10/\x12\x1f\n\x1bOPERATION_TYPE_OUTPUT_SWIFT\x10\x32\x12\x1e\n\x1aOPERATION_TYPE_INPUT_SWIFT\x10\x33\x12#\n\x1fOPERATION_TYPE_OUTPUT_ACQUIRING\x10\x35\x12\"\n\x1eOPERATION_TYPE_INPUT_ACQUIRING\x10\x36\x12!\n\x1dOPERATION_TYPE_OUTPUT_PENALTY\x10\x37\x12\x1d\n\x19OPERATION_TYPE_ADVICE_FEE\x10\x38\x12\x1f\n\x1bOPERATION_TYPE_TRANS_IIS_BS\x10\x39\x12\x1e\n\x1aOPERATION_TYPE_TRANS_BS_BS\x10:\x12\x1c\n\x18OPERATION_TYPE_OUT_MULTI\x10;\x12\x1c\n\x18OPERATION_TYPE_INP_MULTI\x10<\x12!\n\x1dOPERATION_TYPE_OVER_PLACEMENT\x10=\x12\x1b\n\x17OPERATION_TYPE_OVER_COM\x10>\x12\x1e\n\x1aOPERATION_TYPE_OVER_INCOME\x10?\x12$\n OPERATION_TYPE_OPTION_EXPIRATION\x10@\x12$\n OPERATION_TYPE_FUTURE_EXPIRATION\x10\x41*\xde\x01\n\x1bPortfolioSubscriptionStatus\x12-\n)PORTFOLIO_SUBSCRIPTION_STATUS_UNSPECIFIED\x10\x00\x12)\n%PORTFOLIO_SUBSCRIPTION_STATUS_SUCCESS\x10\x01\x12\x33\n/PORTFOLIO_SUBSCRIPTION_STATUS_ACCOUNT_NOT_FOUND\x10\x02\x12\x30\n,PORTFOLIO_SUBSCRIPTION_STATUS_INTERNAL_ERROR\x10\x03*\xe5\x01\n\"PositionsAccountSubscriptionStatus\x12-\n)POSITIONS_SUBSCRIPTION_STATUS_UNSPECIFIED\x10\x00\x12)\n%POSITIONS_SUBSCRIPTION_STATUS_SUCCESS\x10\x01\x12\x33\n/POSITIONS_SUBSCRIPTION_STATUS_ACCOUNT_NOT_FOUND\x10\x02\x12\x30\n,POSITIONS_SUBSCRIPTION_STATUS_INTERNAL_ERROR\x10\x03\x32\x98\x08\n\x11OperationsService\x12\x84\x01\n\rGetOperations\x12\x38.tinkoff.public.invest.api.contract.v1.OperationsRequest\x1a\x39.tinkoff.public.invest.api.contract.v1.OperationsResponse\x12\x81\x01\n\x0cGetPortfolio\x12\x37.tinkoff.public.invest.api.contract.v1.PortfolioRequest\x1a\x38.tinkoff.public.invest.api.contract.v1.PortfolioResponse\x12\x81\x01\n\x0cGetPositions\x12\x37.tinkoff.public.invest.api.contract.v1.PositionsRequest\x1a\x38.tinkoff.public.invest.api.contract.v1.PositionsResponse\x12\x90\x01\n\x11GetWithdrawLimits\x12<.tinkoff.public.invest.api.contract.v1.WithdrawLimitsRequest\x1a=.tinkoff.public.invest.api.contract.v1.WithdrawLimitsResponse\x12\x8a\x01\n\x0fGetBrokerReport\x12:.tinkoff.public.invest.api.contract.v1.BrokerReportRequest\x1a;.tinkoff.public.invest.api.contract.v1.BrokerReportResponse\x12\xae\x01\n\x19GetDividendsForeignIssuer\x12G.tinkoff.public.invest.api.contract.v1.GetDividendsForeignIssuerRequest\x1aH.tinkoff.public.invest.api.contract.v1.GetDividendsForeignIssuerResponse\x12\xa2\x01\n\x15GetOperationsByCursor\x12\x43.tinkoff.public.invest.api.contract.v1.GetOperationsByCursorRequest\x1a\x44.tinkoff.public.invest.api.contract.v1.GetOperationsByCursorResponse2\xc3\x02\n\x17OperationsStreamService\x12\x92\x01\n\x0fPortfolioStream\x12=.tinkoff.public.invest.api.contract.v1.PortfolioStreamRequest\x1a>.tinkoff.public.invest.api.contract.v1.PortfolioStreamResponse0\x01\x12\x92\x01\n\x0fPositionsStream\x12=.tinkoff.public.invest.api.contract.v1.PositionsStreamRequest\x1a>.tinkoff.public.invest.api.contract.v1.PositionsStreamResponse0\x01\x42\x61\n\x1cru.tinkoff.piapi.contract.v1P\x01Z\x0c./;investapi\xa2\x02\x05TIAPI\xaa\x02\x14Tinkoff.InvestApi.V1\xca\x02\x11Tinkoff\\Invest\\V1b\x06proto3"
|
|
13
|
+
|
|
14
|
+
pool = ::Google::Protobuf::DescriptorPool.generated_pool
|
|
15
|
+
pool.add_serialized_file(descriptor_data)
|
|
16
|
+
|
|
17
|
+
module Tinkoff
|
|
18
|
+
module Public
|
|
19
|
+
module Invest
|
|
20
|
+
module Api
|
|
21
|
+
module Contract
|
|
22
|
+
module V1
|
|
23
|
+
OperationsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.OperationsRequest").msgclass
|
|
24
|
+
OperationsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.OperationsResponse").msgclass
|
|
25
|
+
Operation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.Operation").msgclass
|
|
26
|
+
OperationTrade = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.OperationTrade").msgclass
|
|
27
|
+
PortfolioRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.PortfolioRequest").msgclass
|
|
28
|
+
PortfolioRequest::CurrencyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.PortfolioRequest.CurrencyRequest").enummodule
|
|
29
|
+
PortfolioResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.PortfolioResponse").msgclass
|
|
30
|
+
PositionsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.PositionsRequest").msgclass
|
|
31
|
+
PositionsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.PositionsResponse").msgclass
|
|
32
|
+
WithdrawLimitsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.WithdrawLimitsRequest").msgclass
|
|
33
|
+
WithdrawLimitsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.WithdrawLimitsResponse").msgclass
|
|
34
|
+
PortfolioPosition = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.PortfolioPosition").msgclass
|
|
35
|
+
VirtualPortfolioPosition = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.VirtualPortfolioPosition").msgclass
|
|
36
|
+
PositionsSecurities = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.PositionsSecurities").msgclass
|
|
37
|
+
PositionsFutures = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.PositionsFutures").msgclass
|
|
38
|
+
PositionsOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.PositionsOptions").msgclass
|
|
39
|
+
BrokerReportRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.BrokerReportRequest").msgclass
|
|
40
|
+
BrokerReportResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.BrokerReportResponse").msgclass
|
|
41
|
+
GenerateBrokerReportRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.GenerateBrokerReportRequest").msgclass
|
|
42
|
+
GenerateBrokerReportResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.GenerateBrokerReportResponse").msgclass
|
|
43
|
+
GetBrokerReportRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.GetBrokerReportRequest").msgclass
|
|
44
|
+
GetBrokerReportResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.GetBrokerReportResponse").msgclass
|
|
45
|
+
BrokerReport = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.BrokerReport").msgclass
|
|
46
|
+
GetDividendsForeignIssuerRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.GetDividendsForeignIssuerRequest").msgclass
|
|
47
|
+
GetDividendsForeignIssuerResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.GetDividendsForeignIssuerResponse").msgclass
|
|
48
|
+
GenerateDividendsForeignIssuerReportRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.GenerateDividendsForeignIssuerReportRequest").msgclass
|
|
49
|
+
GetDividendsForeignIssuerReportRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.GetDividendsForeignIssuerReportRequest").msgclass
|
|
50
|
+
GenerateDividendsForeignIssuerReportResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.GenerateDividendsForeignIssuerReportResponse").msgclass
|
|
51
|
+
GetDividendsForeignIssuerReportResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.GetDividendsForeignIssuerReportResponse").msgclass
|
|
52
|
+
DividendsForeignIssuerReport = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.DividendsForeignIssuerReport").msgclass
|
|
53
|
+
PortfolioStreamRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.PortfolioStreamRequest").msgclass
|
|
54
|
+
PortfolioStreamResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.PortfolioStreamResponse").msgclass
|
|
55
|
+
PortfolioSubscriptionResult = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.PortfolioSubscriptionResult").msgclass
|
|
56
|
+
AccountSubscriptionStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.AccountSubscriptionStatus").msgclass
|
|
57
|
+
GetOperationsByCursorRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.GetOperationsByCursorRequest").msgclass
|
|
58
|
+
GetOperationsByCursorResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.GetOperationsByCursorResponse").msgclass
|
|
59
|
+
OperationItem = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.OperationItem").msgclass
|
|
60
|
+
OperationItemTrades = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.OperationItemTrades").msgclass
|
|
61
|
+
OperationItemTrade = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.OperationItemTrade").msgclass
|
|
62
|
+
PositionsStreamRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.PositionsStreamRequest").msgclass
|
|
63
|
+
PositionsStreamResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.PositionsStreamResponse").msgclass
|
|
64
|
+
PositionsSubscriptionResult = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.PositionsSubscriptionResult").msgclass
|
|
65
|
+
PositionsSubscriptionStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.PositionsSubscriptionStatus").msgclass
|
|
66
|
+
PositionData = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.PositionData").msgclass
|
|
67
|
+
PositionsMoney = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.PositionsMoney").msgclass
|
|
68
|
+
ChildOperationItem = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.ChildOperationItem").msgclass
|
|
69
|
+
OperationState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.OperationState").enummodule
|
|
70
|
+
OperationType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.OperationType").enummodule
|
|
71
|
+
PortfolioSubscriptionStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.PortfolioSubscriptionStatus").enummodule
|
|
72
|
+
PositionsAccountSubscriptionStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("tinkoff.public.invest.api.contract.v1.PositionsAccountSubscriptionStatus").enummodule
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
end
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
2
|
+
# Source: operations.proto for package 'tinkoff.public.invest.api.contract.v1'
|
|
3
|
+
|
|
4
|
+
require 'grpc'
|
|
5
|
+
require 'operations_pb'
|
|
6
|
+
|
|
7
|
+
module Tinkoff
|
|
8
|
+
module Public
|
|
9
|
+
module Invest
|
|
10
|
+
module Api
|
|
11
|
+
module Contract
|
|
12
|
+
module V1
|
|
13
|
+
module OperationsService
|
|
14
|
+
class Service
|
|
15
|
+
|
|
16
|
+
include ::GRPC::GenericService
|
|
17
|
+
|
|
18
|
+
self.marshal_class_method = :encode
|
|
19
|
+
self.unmarshal_class_method = :decode
|
|
20
|
+
self.service_name = 'tinkoff.public.invest.api.contract.v1.OperationsService'
|
|
21
|
+
|
|
22
|
+
# GetOperations — список операций по счету
|
|
23
|
+
# При работе с методом учитывайте [особенности взаимодействия](/invest/services/operations/operations_problems).
|
|
24
|
+
rpc :GetOperations, ::Tinkoff::Public::Invest::Api::Contract::V1::OperationsRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::OperationsResponse
|
|
25
|
+
# GetPortfolio — портфель по счету
|
|
26
|
+
rpc :GetPortfolio, ::Tinkoff::Public::Invest::Api::Contract::V1::PortfolioRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::PortfolioResponse
|
|
27
|
+
# GetPositions — список позиций по счету
|
|
28
|
+
rpc :GetPositions, ::Tinkoff::Public::Invest::Api::Contract::V1::PositionsRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::PositionsResponse
|
|
29
|
+
# GetWithdrawLimits — доступный остаток для вывода средств
|
|
30
|
+
rpc :GetWithdrawLimits, ::Tinkoff::Public::Invest::Api::Contract::V1::WithdrawLimitsRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::WithdrawLimitsResponse
|
|
31
|
+
# GetBrokerReport — брокерский отчет.
|
|
32
|
+
rpc :GetBrokerReport, ::Tinkoff::Public::Invest::Api::Contract::V1::BrokerReportRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::BrokerReportResponse
|
|
33
|
+
# GetDividendsForeignIssuer — отчет «Справка о доходах за пределами РФ»
|
|
34
|
+
rpc :GetDividendsForeignIssuer, ::Tinkoff::Public::Invest::Api::Contract::V1::GetDividendsForeignIssuerRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::GetDividendsForeignIssuerResponse
|
|
35
|
+
# GetOperationsByCursor — список операций по счету с пагинацией
|
|
36
|
+
# При работе с методом учитывайте [особенности взаимодействия](/invest/services/operations/operations_problems).
|
|
37
|
+
rpc :GetOperationsByCursor, ::Tinkoff::Public::Invest::Api::Contract::V1::GetOperationsByCursorRequest, ::Tinkoff::Public::Invest::Api::Contract::V1::GetOperationsByCursorResponse
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
Stub = Service.rpc_stub_class
|
|
41
|
+
end
|
|
42
|
+
# С помощью методов сервиса можно получить:<br/><br/> **1**. Список операций по счету.<br/> **2**.
|
|
43
|
+
# Портфель по счету.<br/> **3**. Позиции ценных бумаг на счете.<br/> **4**.
|
|
44
|
+
# Доступный остаток для вывода средств.<br/> **5**. Различные отчеты.
|
|
45
|
+
module OperationsStreamService
|
|
46
|
+
class Service
|
|
47
|
+
|
|
48
|
+
include ::GRPC::GenericService
|
|
49
|
+
|
|
50
|
+
self.marshal_class_method = :encode
|
|
51
|
+
self.unmarshal_class_method = :decode
|
|
52
|
+
self.service_name = 'tinkoff.public.invest.api.contract.v1.OperationsStreamService'
|
|
53
|
+
|
|
54
|
+
# PortfolioStream — стрим обновлений портфеля
|
|
55
|
+
rpc :PortfolioStream, ::Tinkoff::Public::Invest::Api::Contract::V1::PortfolioStreamRequest, stream(::Tinkoff::Public::Invest::Api::Contract::V1::PortfolioStreamResponse)
|
|
56
|
+
# PositionsStream — стрим обновлений информации по изменению позиций портфеля
|
|
57
|
+
rpc :PositionsStream, ::Tinkoff::Public::Invest::Api::Contract::V1::PositionsStreamRequest, stream(::Tinkoff::Public::Invest::Api::Contract::V1::PositionsStreamResponse)
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
Stub = Service.rpc_stub_class
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|