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.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/.cursor/rules/git-flow.mdc +49 -5
  3. data/.cursor/rules/sdk-architecture.mdc +30 -0
  4. data/.cursor/rules/sdk-code-standards.mdc +22 -0
  5. data/.cursor/rules/sdk-patterns.mdc +22 -0
  6. data/.cursor/rules/sdk-testing.mdc +19 -0
  7. data/CHANGELOG.md +4 -0
  8. data/README.md +195 -4
  9. data/Rakefile +4 -0
  10. data/contracts.lock +6 -0
  11. data/lib/t/tech/investments/client.rb +70 -0
  12. data/lib/t/tech/investments/coercers.rb +171 -0
  13. data/lib/t/tech/investments/configuration.rb +74 -0
  14. data/lib/t/tech/investments/errors.rb +24 -0
  15. data/lib/t/tech/investments/proto/common_pb.rb +42 -0
  16. data/lib/t/tech/investments/proto/google/api/field_behavior_pb.rb +19 -0
  17. data/lib/t/tech/investments/proto/instruments_pb.rb +157 -0
  18. data/lib/t/tech/investments/proto/instruments_services_pb.rb +115 -0
  19. data/lib/t/tech/investments/proto/marketdata_pb.rb +99 -0
  20. data/lib/t/tech/investments/proto/marketdata_services_pb.rb +68 -0
  21. data/lib/t/tech/investments/proto/operations_pb.rb +78 -0
  22. data/lib/t/tech/investments/proto/operations_services_pb.rb +67 -0
  23. data/lib/t/tech/investments/proto/orders_pb.rb +64 -0
  24. data/lib/t/tech/investments/proto/orders_services_pb.rb +69 -0
  25. data/lib/t/tech/investments/proto/sandbox_pb.rb +37 -0
  26. data/lib/t/tech/investments/proto/sandbox_services_pb.rb +75 -0
  27. data/lib/t/tech/investments/proto/signals_pb.rb +37 -0
  28. data/lib/t/tech/investments/proto/signals_services_pb.rb +36 -0
  29. data/lib/t/tech/investments/proto/stoporders_pb.rb +45 -0
  30. data/lib/t/tech/investments/proto/stoporders_services_pb.rb +38 -0
  31. data/lib/t/tech/investments/proto/users_pb.rb +47 -0
  32. data/lib/t/tech/investments/proto/users_services_pb.rb +51 -0
  33. data/lib/t/tech/investments/proto_loader.rb +49 -0
  34. data/lib/t/tech/investments/services/market_data_facade.rb +35 -0
  35. data/lib/t/tech/investments/services/market_data_stream_session.rb +148 -0
  36. data/lib/t/tech/investments/services/registry.rb +38 -0
  37. data/lib/t/tech/investments/services/unary_adapter.rb +64 -0
  38. data/lib/t/tech/investments/services.rb +6 -0
  39. data/lib/t/tech/investments/transport.rb +137 -0
  40. data/lib/t/tech/investments/version.rb +1 -1
  41. data/lib/t/tech/investments.rb +30 -1
  42. data/script/regenerate_proto +119 -0
  43. data/sig/t/tech/investments.rbs +114 -1
  44. 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