1pub mod messages;
2
3#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
6pub struct MessageType {
7 #[prost(int32, required, tag = "154467")]
9 pub template_id: i32,
10}
11#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
12pub struct RequestLogin {
13 #[prost(int32, required, tag = "154467")]
14 pub template_id: i32,
15 #[prost(string, optional, tag = "153634")]
16 pub template_version: ::core::option::Option<::prost::alloc::string::String>,
17 #[prost(string, repeated, tag = "132760")]
18 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
19 #[prost(string, optional, tag = "131003")]
20 pub user: ::core::option::Option<::prost::alloc::string::String>,
21 #[prost(string, optional, tag = "130004")]
22 pub password: ::core::option::Option<::prost::alloc::string::String>,
23 #[prost(string, optional, tag = "130002")]
24 pub app_name: ::core::option::Option<::prost::alloc::string::String>,
25 #[prost(string, optional, tag = "131803")]
26 pub app_version: ::core::option::Option<::prost::alloc::string::String>,
27 #[prost(string, optional, tag = "153628")]
28 pub system_name: ::core::option::Option<::prost::alloc::string::String>,
29 #[prost(enumeration = "request_login::SysInfraType", optional, tag = "153621")]
30 pub infra_type: ::core::option::Option<i32>,
31 #[prost(string, repeated, tag = "144108")]
32 pub mac_addr: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
33 #[prost(string, optional, tag = "144021")]
34 pub os_version: ::core::option::Option<::prost::alloc::string::String>,
35 #[prost(string, optional, tag = "144020")]
36 pub os_platform: ::core::option::Option<::prost::alloc::string::String>,
37 #[prost(bool, optional, tag = "153644")]
39 pub aggregated_quotes: ::core::option::Option<bool>,
40}
41pub mod request_login {
43 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
44 #[repr(i32)]
45 pub enum SysInfraType {
46 TickerPlant = 1,
47 OrderPlant = 2,
48 HistoryPlant = 3,
49 PnlPlant = 4,
50 RepositoryPlant = 5,
51 }
52 impl SysInfraType {
53 pub fn as_str_name(&self) -> &'static str {
58 match self {
59 Self::TickerPlant => "TICKER_PLANT",
60 Self::OrderPlant => "ORDER_PLANT",
61 Self::HistoryPlant => "HISTORY_PLANT",
62 Self::PnlPlant => "PNL_PLANT",
63 Self::RepositoryPlant => "REPOSITORY_PLANT",
64 }
65 }
66 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
68 match value {
69 "TICKER_PLANT" => Some(Self::TickerPlant),
70 "ORDER_PLANT" => Some(Self::OrderPlant),
71 "HISTORY_PLANT" => Some(Self::HistoryPlant),
72 "PNL_PLANT" => Some(Self::PnlPlant),
73 "REPOSITORY_PLANT" => Some(Self::RepositoryPlant),
74 _ => None,
75 }
76 }
77 }
78}
79#[derive(Clone, PartialEq, ::prost::Message)]
80pub struct ResponseLogin {
81 #[prost(int32, required, tag = "154467")]
82 pub template_id: i32,
83 #[prost(string, optional, tag = "153634")]
84 pub template_version: ::core::option::Option<::prost::alloc::string::String>,
85 #[prost(string, repeated, tag = "132760")]
86 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
87 #[prost(string, repeated, tag = "132766")]
88 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
89 #[prost(string, optional, tag = "154013")]
90 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
91 #[prost(string, optional, tag = "154014")]
92 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
93 #[prost(string, optional, tag = "154712")]
94 pub country_code: ::core::option::Option<::prost::alloc::string::String>,
95 #[prost(string, optional, tag = "154713")]
96 pub state_code: ::core::option::Option<::prost::alloc::string::String>,
97 #[prost(string, optional, tag = "153428")]
98 pub unique_user_id: ::core::option::Option<::prost::alloc::string::String>,
99 #[prost(double, optional, tag = "153633")]
100 pub heartbeat_interval: ::core::option::Option<f64>,
101}
102#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
104pub struct RequestLogout {
105 #[prost(int32, required, tag = "154467")]
107 pub template_id: i32,
108 #[prost(string, repeated, tag = "132760")]
110 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
111}
112#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
114pub struct ResponseLogout {
115 #[prost(int32, required, tag = "154467")]
117 pub template_id: i32,
118 #[prost(string, repeated, tag = "132760")]
120 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
121 #[prost(string, repeated, tag = "132766")]
123 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
124}
125#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
126pub struct RequestReferenceData {
127 #[prost(int32, required, tag = "154467")]
128 pub template_id: i32,
129 #[prost(string, repeated, tag = "132760")]
130 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
131 #[prost(string, optional, tag = "110100")]
132 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
133 #[prost(string, optional, tag = "110101")]
134 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
135}
136#[derive(Clone, PartialEq, ::prost::Message)]
139pub struct ResponseReferenceData {
140 #[prost(int32, required, tag = "154467")]
141 pub template_id: i32,
142 #[prost(string, repeated, tag = "132760")]
143 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
144 #[prost(string, repeated, tag = "132766")]
145 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
146 #[prost(uint32, optional, tag = "149138")]
147 pub presence_bits: ::core::option::Option<u32>,
148 #[prost(uint32, optional, tag = "154571")]
149 pub clear_bits: ::core::option::Option<u32>,
150 #[prost(string, optional, tag = "110100")]
151 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
152 #[prost(string, optional, tag = "110101")]
153 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
154 #[prost(string, optional, tag = "110114")]
155 pub exchange_symbol: ::core::option::Option<::prost::alloc::string::String>,
156 #[prost(string, optional, tag = "100003")]
157 pub symbol_name: ::core::option::Option<::prost::alloc::string::String>,
158 #[prost(string, optional, tag = "157095")]
159 pub trading_symbol: ::core::option::Option<::prost::alloc::string::String>,
160 #[prost(string, optional, tag = "157096")]
161 pub trading_exchange: ::core::option::Option<::prost::alloc::string::String>,
162 #[prost(string, optional, tag = "100749")]
163 pub product_code: ::core::option::Option<::prost::alloc::string::String>,
164 #[prost(string, optional, tag = "110116")]
165 pub instrument_type: ::core::option::Option<::prost::alloc::string::String>,
166 #[prost(string, optional, tag = "101026")]
167 pub underlying_symbol: ::core::option::Option<::prost::alloc::string::String>,
168 #[prost(string, optional, tag = "100067")]
169 pub expiration_date: ::core::option::Option<::prost::alloc::string::String>,
170 #[prost(string, optional, tag = "154382")]
171 pub currency: ::core::option::Option<::prost::alloc::string::String>,
172 #[prost(string, optional, tag = "100109")]
173 pub put_call_indicator: ::core::option::Option<::prost::alloc::string::String>,
174 #[prost(string, optional, tag = "154167")]
175 pub tick_size_type: ::core::option::Option<::prost::alloc::string::String>,
176 #[prost(string, optional, tag = "154390")]
177 pub price_display_format: ::core::option::Option<::prost::alloc::string::String>,
178 #[prost(string, optional, tag = "154844")]
179 pub is_tradable: ::core::option::Option<::prost::alloc::string::String>,
180 #[prost(string, optional, tag = "154952")]
181 pub is_underlying_for_binary_contrats: ::core::option::Option<::prost::alloc::string::String>,
182 #[prost(double, optional, tag = "100066")]
183 pub strike_price: ::core::option::Option<f64>,
184 #[prost(double, optional, tag = "154384")]
185 pub ftoq_price: ::core::option::Option<f64>,
186 #[prost(double, optional, tag = "154385")]
187 pub qtof_price: ::core::option::Option<f64>,
188 #[prost(double, optional, tag = "154386")]
189 pub min_qprice_change: ::core::option::Option<f64>,
190 #[prost(double, optional, tag = "154387")]
191 pub min_fprice_change: ::core::option::Option<f64>,
192 #[prost(double, optional, tag = "154389")]
193 pub single_point_value: ::core::option::Option<f64>,
194}
195pub mod response_reference_data {
197 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
199 #[repr(i32)]
200 pub enum PresenceBits {
201 ExchangeSymbol = 1,
202 SymbolName = 2,
203 ProductCode = 4,
204 InstrumentType = 8,
205 UnderlyingSymbol = 16,
206 ExpirationDate = 32,
207 Currency = 64,
208 PutCallIndicator = 128,
209 StrikePrice = 256,
210 FpriceToQprice = 512,
211 QpriceToFprice = 1024,
212 MinQpriceChange = 2048,
213 MinFrpiceChange = 4096,
214 SinglePointValue = 8192,
215 TickSizeType = 16384,
216 PriceDisplayFormat = 32768,
217 IsTradable = 65536,
218 TradingSymbol = 131072,
219 TradingExchange = 262144,
220 IsUnderlyingForBinaryContracts = 8388608,
221 }
222 impl PresenceBits {
223 pub fn as_str_name(&self) -> &'static str {
228 match self {
229 Self::ExchangeSymbol => "EXCHANGE_SYMBOL",
230 Self::SymbolName => "SYMBOL_NAME",
231 Self::ProductCode => "PRODUCT_CODE",
232 Self::InstrumentType => "INSTRUMENT_TYPE",
233 Self::UnderlyingSymbol => "UNDERLYING_SYMBOL",
234 Self::ExpirationDate => "EXPIRATION_DATE",
235 Self::Currency => "CURRENCY",
236 Self::PutCallIndicator => "PUT_CALL_INDICATOR",
237 Self::StrikePrice => "STRIKE_PRICE",
238 Self::FpriceToQprice => "FPRICE_TO_QPRICE",
239 Self::QpriceToFprice => "QPRICE_TO_FPRICE",
240 Self::MinQpriceChange => "MIN_QPRICE_CHANGE",
241 Self::MinFrpiceChange => "MIN_FRPICE_CHANGE",
242 Self::SinglePointValue => "SINGLE_POINT_VALUE",
243 Self::TickSizeType => "TICK_SIZE_TYPE",
244 Self::PriceDisplayFormat => "PRICE_DISPLAY_FORMAT",
245 Self::IsTradable => "IS_TRADABLE",
246 Self::TradingSymbol => "TRADING_SYMBOL",
247 Self::TradingExchange => "TRADING_EXCHANGE",
248 Self::IsUnderlyingForBinaryContracts => "IS_UNDERLYING_FOR_BINARY_CONTRACTS",
249 }
250 }
251 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
253 match value {
254 "EXCHANGE_SYMBOL" => Some(Self::ExchangeSymbol),
255 "SYMBOL_NAME" => Some(Self::SymbolName),
256 "PRODUCT_CODE" => Some(Self::ProductCode),
257 "INSTRUMENT_TYPE" => Some(Self::InstrumentType),
258 "UNDERLYING_SYMBOL" => Some(Self::UnderlyingSymbol),
259 "EXPIRATION_DATE" => Some(Self::ExpirationDate),
260 "CURRENCY" => Some(Self::Currency),
261 "PUT_CALL_INDICATOR" => Some(Self::PutCallIndicator),
262 "STRIKE_PRICE" => Some(Self::StrikePrice),
263 "FPRICE_TO_QPRICE" => Some(Self::FpriceToQprice),
264 "QPRICE_TO_FPRICE" => Some(Self::QpriceToFprice),
265 "MIN_QPRICE_CHANGE" => Some(Self::MinQpriceChange),
266 "MIN_FRPICE_CHANGE" => Some(Self::MinFrpiceChange),
267 "SINGLE_POINT_VALUE" => Some(Self::SinglePointValue),
268 "TICK_SIZE_TYPE" => Some(Self::TickSizeType),
269 "PRICE_DISPLAY_FORMAT" => Some(Self::PriceDisplayFormat),
270 "IS_TRADABLE" => Some(Self::IsTradable),
271 "TRADING_SYMBOL" => Some(Self::TradingSymbol),
272 "TRADING_EXCHANGE" => Some(Self::TradingExchange),
273 "IS_UNDERLYING_FOR_BINARY_CONTRACTS" => Some(Self::IsUnderlyingForBinaryContracts),
274 _ => None,
275 }
276 }
277 }
278}
279#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
280pub struct RequestRithmicSystemInfo {
281 #[prost(int32, required, tag = "154467")]
282 pub template_id: i32,
283 #[prost(string, repeated, tag = "132760")]
284 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
285}
286#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
287pub struct ResponseRithmicSystemInfo {
288 #[prost(int32, required, tag = "154467")]
289 pub template_id: i32,
290 #[prost(string, repeated, tag = "132760")]
291 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
292 #[prost(string, repeated, tag = "132766")]
293 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
294 #[prost(string, repeated, tag = "153628")]
295 pub system_name: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
296 #[prost(bool, repeated, packed = "false", tag = "153649")]
297 pub has_aggregated_quotes: ::prost::alloc::vec::Vec<bool>,
298}
299#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
300pub struct RequestRithmicSystemGatewayInfo {
301 #[prost(int32, required, tag = "154467")]
302 pub template_id: i32,
303 #[prost(string, repeated, tag = "132760")]
304 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
305 #[prost(string, optional, tag = "153628")]
306 pub system_name: ::core::option::Option<::prost::alloc::string::String>,
307}
308#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
309pub struct ResponseRithmicSystemGatewayInfo {
310 #[prost(int32, required, tag = "154467")]
311 pub template_id: i32,
312 #[prost(string, repeated, tag = "132760")]
313 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
314 #[prost(string, repeated, tag = "132766")]
315 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
316 #[prost(string, optional, tag = "153628")]
317 pub system_name: ::core::option::Option<::prost::alloc::string::String>,
318 #[prost(string, repeated, tag = "153640")]
319 pub gateway_name: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
320 #[prost(string, repeated, tag = "153641")]
321 pub gateway_uri: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
322}
323#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
325pub struct RequestHeartbeat {
326 #[prost(int32, required, tag = "154467")]
328 pub template_id: i32,
329 #[prost(string, repeated, tag = "132760")]
331 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
332 #[prost(int32, optional, tag = "150100")]
334 pub ssboe: ::core::option::Option<i32>,
335 #[prost(int32, optional, tag = "150101")]
337 pub usecs: ::core::option::Option<i32>,
338}
339#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
341pub struct ResponseHeartbeat {
342 #[prost(int32, required, tag = "154467")]
344 pub template_id: i32,
345 #[prost(string, repeated, tag = "132760")]
347 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
348 #[prost(string, repeated, tag = "132766")]
350 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
351 #[prost(int32, optional, tag = "150100")]
353 pub ssboe: ::core::option::Option<i32>,
354 #[prost(int32, optional, tag = "150101")]
356 pub usecs: ::core::option::Option<i32>,
357}
358#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
360pub struct Reject {
361 #[prost(int32, required, tag = "154467")]
363 pub template_id: i32,
364 #[prost(string, repeated, tag = "132760")]
366 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
367 #[prost(string, repeated, tag = "132766")]
369 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
370}
371#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
373pub struct ForcedLogout {
374 #[prost(int32, required, tag = "154467")]
376 pub template_id: i32,
377}
378#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
379pub struct UserAccountUpdate {
380 #[prost(int32, required, tag = "154467")]
381 pub template_id: i32,
382 #[prost(
383 enumeration = "user_account_update::UpdateType",
384 optional,
385 tag = "154288"
386 )]
387 pub update_type: ::core::option::Option<i32>,
388 #[prost(
389 enumeration = "user_account_update::AccessType",
390 optional,
391 tag = "154000"
392 )]
393 pub access_type: ::core::option::Option<i32>,
394 #[prost(string, optional, tag = "154247")]
395 pub source_user_id: ::core::option::Option<::prost::alloc::string::String>,
396 #[prost(string, optional, tag = "131003")]
397 pub user: ::core::option::Option<::prost::alloc::string::String>,
398 #[prost(string, optional, tag = "154013")]
399 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
400 #[prost(string, optional, tag = "154014")]
401 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
402 #[prost(string, optional, tag = "154008")]
403 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
404 #[prost(string, optional, tag = "154002")]
405 pub account_name: ::core::option::Option<::prost::alloc::string::String>,
406 #[prost(int32, optional, tag = "150100")]
407 pub ssboe: ::core::option::Option<i32>,
408 #[prost(int32, optional, tag = "150101")]
409 pub usecs: ::core::option::Option<i32>,
410}
411pub mod user_account_update {
413 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
414 #[repr(i32)]
415 pub enum UpdateType {
416 Add = 1,
417 Remove = 2,
418 }
419 impl UpdateType {
420 pub fn as_str_name(&self) -> &'static str {
425 match self {
426 Self::Add => "ADD",
427 Self::Remove => "REMOVE",
428 }
429 }
430 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
432 match value {
433 "ADD" => Some(Self::Add),
434 "REMOVE" => Some(Self::Remove),
435 _ => None,
436 }
437 }
438 }
439 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
440 #[repr(i32)]
441 pub enum AccessType {
442 ReadOnly = 0,
443 ReadWrite = 1,
444 }
445 impl AccessType {
446 pub fn as_str_name(&self) -> &'static str {
451 match self {
452 Self::ReadOnly => "READ_ONLY",
453 Self::ReadWrite => "READ_WRITE",
454 }
455 }
456 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
458 match value {
459 "READ_ONLY" => Some(Self::ReadOnly),
460 "READ_WRITE" => Some(Self::ReadWrite),
461 _ => None,
462 }
463 }
464 }
465}
466#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
469pub struct RequestMarketDataUpdate {
470 #[prost(int32, required, tag = "154467")]
471 pub template_id: i32,
472 #[prost(string, repeated, tag = "132760")]
473 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
474 #[prost(string, optional, tag = "110100")]
475 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
476 #[prost(string, optional, tag = "110101")]
477 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
478 #[prost(
479 enumeration = "request_market_data_update::Request",
480 optional,
481 tag = "100000"
482 )]
483 pub request: ::core::option::Option<i32>,
484 #[prost(uint32, optional, tag = "154211")]
485 pub update_bits: ::core::option::Option<u32>,
486}
487pub mod request_market_data_update {
489 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
491 #[repr(i32)]
492 pub enum UpdateBits {
493 LastTrade = 1,
494 Bbo = 2,
495 OrderBook = 4,
496 Open = 8,
497 OpeningIndicator = 16,
498 HighLow = 32,
499 HighBidLowAsk = 64,
500 Close = 128,
501 ClosingIndicator = 256,
502 Settlement = 512,
503 MarketMode = 1024,
504 OpenInterest = 2048,
505 MarginRate = 4096,
506 HighPriceLimit = 8192,
507 LowPriceLimit = 16384,
508 ProjectedSettlement = 32768,
509 AdjustedClose = 65536,
510 }
511 impl UpdateBits {
512 pub fn as_str_name(&self) -> &'static str {
517 match self {
518 Self::LastTrade => "LAST_TRADE",
519 Self::Bbo => "BBO",
520 Self::OrderBook => "ORDER_BOOK",
521 Self::Open => "OPEN",
522 Self::OpeningIndicator => "OPENING_INDICATOR",
523 Self::HighLow => "HIGH_LOW",
524 Self::HighBidLowAsk => "HIGH_BID_LOW_ASK",
525 Self::Close => "CLOSE",
526 Self::ClosingIndicator => "CLOSING_INDICATOR",
527 Self::Settlement => "SETTLEMENT",
528 Self::MarketMode => "MARKET_MODE",
529 Self::OpenInterest => "OPEN_INTEREST",
530 Self::MarginRate => "MARGIN_RATE",
531 Self::HighPriceLimit => "HIGH_PRICE_LIMIT",
532 Self::LowPriceLimit => "LOW_PRICE_LIMIT",
533 Self::ProjectedSettlement => "PROJECTED_SETTLEMENT",
534 Self::AdjustedClose => "ADJUSTED_CLOSE",
535 }
536 }
537 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
539 match value {
540 "LAST_TRADE" => Some(Self::LastTrade),
541 "BBO" => Some(Self::Bbo),
542 "ORDER_BOOK" => Some(Self::OrderBook),
543 "OPEN" => Some(Self::Open),
544 "OPENING_INDICATOR" => Some(Self::OpeningIndicator),
545 "HIGH_LOW" => Some(Self::HighLow),
546 "HIGH_BID_LOW_ASK" => Some(Self::HighBidLowAsk),
547 "CLOSE" => Some(Self::Close),
548 "CLOSING_INDICATOR" => Some(Self::ClosingIndicator),
549 "SETTLEMENT" => Some(Self::Settlement),
550 "MARKET_MODE" => Some(Self::MarketMode),
551 "OPEN_INTEREST" => Some(Self::OpenInterest),
552 "MARGIN_RATE" => Some(Self::MarginRate),
553 "HIGH_PRICE_LIMIT" => Some(Self::HighPriceLimit),
554 "LOW_PRICE_LIMIT" => Some(Self::LowPriceLimit),
555 "PROJECTED_SETTLEMENT" => Some(Self::ProjectedSettlement),
556 "ADJUSTED_CLOSE" => Some(Self::AdjustedClose),
557 _ => None,
558 }
559 }
560 }
561 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
562 #[repr(i32)]
563 pub enum Request {
564 Subscribe = 1,
565 Unsubscribe = 2,
566 }
567 impl Request {
568 pub fn as_str_name(&self) -> &'static str {
573 match self {
574 Self::Subscribe => "SUBSCRIBE",
575 Self::Unsubscribe => "UNSUBSCRIBE",
576 }
577 }
578 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
580 match value {
581 "SUBSCRIBE" => Some(Self::Subscribe),
582 "UNSUBSCRIBE" => Some(Self::Unsubscribe),
583 _ => None,
584 }
585 }
586 }
587}
588#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
589pub struct ResponseMarketDataUpdate {
590 #[prost(int32, required, tag = "154467")]
591 pub template_id: i32,
592 #[prost(string, repeated, tag = "132760")]
593 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
594 #[prost(string, repeated, tag = "132766")]
595 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
596}
597#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
599pub struct RequestAuxilliaryReferenceData {
600 #[prost(int32, required, tag = "154467")]
602 pub template_id: i32,
603 #[prost(string, repeated, tag = "132760")]
605 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
606 #[prost(string, optional, tag = "110100")]
608 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
609 #[prost(string, optional, tag = "110101")]
611 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
612}
613#[derive(Clone, PartialEq, ::prost::Message)]
616pub struct ResponseAuxilliaryReferenceData {
617 #[prost(int32, required, tag = "154467")]
619 pub template_id: i32,
620 #[prost(string, repeated, tag = "132760")]
622 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
623 #[prost(string, repeated, tag = "132766")]
625 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
626 #[prost(uint32, optional, tag = "149138")]
628 pub presence_bits: ::core::option::Option<u32>,
629 #[prost(uint32, optional, tag = "154571")]
631 pub clear_bits: ::core::option::Option<u32>,
632 #[prost(string, optional, tag = "110100")]
634 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
635 #[prost(string, optional, tag = "110101")]
637 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
638 #[prost(string, optional, tag = "153294")]
640 pub settlement_method: ::core::option::Option<::prost::alloc::string::String>,
641 #[prost(string, optional, tag = "154932")]
643 pub first_notice_date: ::core::option::Option<::prost::alloc::string::String>,
644 #[prost(string, optional, tag = "154933")]
646 pub last_notice_date: ::core::option::Option<::prost::alloc::string::String>,
647 #[prost(string, optional, tag = "154996")]
649 pub first_trading_date: ::core::option::Option<::prost::alloc::string::String>,
650 #[prost(string, optional, tag = "154236")]
652 pub last_trading_date: ::core::option::Option<::prost::alloc::string::String>,
653 #[prost(string, optional, tag = "154994")]
655 pub first_delivery_date: ::core::option::Option<::prost::alloc::string::String>,
656 #[prost(string, optional, tag = "154995")]
658 pub last_delivery_date: ::core::option::Option<::prost::alloc::string::String>,
659 #[prost(string, optional, tag = "154997")]
661 pub first_position_date: ::core::option::Option<::prost::alloc::string::String>,
662 #[prost(string, optional, tag = "154998")]
664 pub last_position_date: ::core::option::Option<::prost::alloc::string::String>,
665 #[prost(string, optional, tag = "157023")]
667 pub unit_of_measure: ::core::option::Option<::prost::alloc::string::String>,
668 #[prost(double, optional, tag = "157024")]
670 pub unit_of_measure_qty: ::core::option::Option<f64>,
671}
672pub mod response_auxilliary_reference_data {
674 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
676 #[repr(i32)]
677 pub enum PresenceBits {
678 SettlementMethod = 1,
679 FirstNoticeDate = 2,
680 LastNoticeDate = 4,
681 FirstTradingDate = 8,
682 LastTradingDate = 16,
683 FirstDeliveryDate = 32,
684 LastDeliveryDate = 64,
685 FirstPositionDate = 128,
686 LastPositionDate = 256,
687 UnitOfMeasure = 512,
688 UnitOfMeasureQty = 1024,
689 }
690 impl PresenceBits {
691 pub fn as_str_name(&self) -> &'static str {
696 match self {
697 Self::SettlementMethod => "SETTLEMENT_METHOD",
698 Self::FirstNoticeDate => "FIRST_NOTICE_DATE",
699 Self::LastNoticeDate => "LAST_NOTICE_DATE",
700 Self::FirstTradingDate => "FIRST_TRADING_DATE",
701 Self::LastTradingDate => "LAST_TRADING_DATE",
702 Self::FirstDeliveryDate => "FIRST_DELIVERY_DATE",
703 Self::LastDeliveryDate => "LAST_DELIVERY_DATE",
704 Self::FirstPositionDate => "FIRST_POSITION_DATE",
705 Self::LastPositionDate => "LAST_POSITION_DATE",
706 Self::UnitOfMeasure => "UNIT_OF_MEASURE",
707 Self::UnitOfMeasureQty => "UNIT_OF_MEASURE_QTY",
708 }
709 }
710 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
712 match value {
713 "SETTLEMENT_METHOD" => Some(Self::SettlementMethod),
714 "FIRST_NOTICE_DATE" => Some(Self::FirstNoticeDate),
715 "LAST_NOTICE_DATE" => Some(Self::LastNoticeDate),
716 "FIRST_TRADING_DATE" => Some(Self::FirstTradingDate),
717 "LAST_TRADING_DATE" => Some(Self::LastTradingDate),
718 "FIRST_DELIVERY_DATE" => Some(Self::FirstDeliveryDate),
719 "LAST_DELIVERY_DATE" => Some(Self::LastDeliveryDate),
720 "FIRST_POSITION_DATE" => Some(Self::FirstPositionDate),
721 "LAST_POSITION_DATE" => Some(Self::LastPositionDate),
722 "UNIT_OF_MEASURE" => Some(Self::UnitOfMeasure),
723 "UNIT_OF_MEASURE_QTY" => Some(Self::UnitOfMeasureQty),
724 _ => None,
725 }
726 }
727 }
728}
729#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
731pub struct RequestGiveTickSizeTypeTable {
732 #[prost(int32, required, tag = "154467")]
734 pub template_id: i32,
735 #[prost(string, repeated, tag = "132760")]
737 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
738 #[prost(string, optional, tag = "154167")]
740 pub tick_size_type: ::core::option::Option<::prost::alloc::string::String>,
741}
742#[derive(Clone, PartialEq, ::prost::Message)]
744pub struct ResponseGiveTickSizeTypeTable {
745 #[prost(int32, required, tag = "154467")]
747 pub template_id: i32,
748 #[prost(string, repeated, tag = "132760")]
750 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
751 #[prost(string, repeated, tag = "132764")]
753 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
754 #[prost(string, repeated, tag = "132766")]
756 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
757 #[prost(uint32, optional, tag = "149138")]
759 pub presence_bits: ::core::option::Option<u32>,
760 #[prost(string, optional, tag = "154167")]
762 pub tick_size_type: ::core::option::Option<::prost::alloc::string::String>,
763 #[prost(string, optional, tag = "154170")]
765 pub tick_size_fp_operator: ::core::option::Option<::prost::alloc::string::String>,
766 #[prost(string, optional, tag = "154171")]
768 pub tick_size_lp_operator: ::core::option::Option<::prost::alloc::string::String>,
769 #[prost(double, optional, tag = "154387")]
771 pub min_fprice_change: ::core::option::Option<f64>,
772 #[prost(double, optional, tag = "154168")]
774 pub tick_size_first_price: ::core::option::Option<f64>,
775 #[prost(double, optional, tag = "154169")]
777 pub tick_size_last_price: ::core::option::Option<f64>,
778}
779pub mod response_give_tick_size_type_table {
781 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
783 #[repr(i32)]
784 pub enum PresenceBits {
785 TickSizeFirstPrice = 1,
786 TickSizeLastPrice = 2,
787 TickSizeFpOperator = 4,
788 TickSizeLpOperator = 8,
789 }
790 impl PresenceBits {
791 pub fn as_str_name(&self) -> &'static str {
796 match self {
797 Self::TickSizeFirstPrice => "TICK_SIZE_FIRST_PRICE",
798 Self::TickSizeLastPrice => "TICK_SIZE_LAST_PRICE",
799 Self::TickSizeFpOperator => "TICK_SIZE_FP_OPERATOR",
800 Self::TickSizeLpOperator => "TICK_SIZE_LP_OPERATOR",
801 }
802 }
803 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
805 match value {
806 "TICK_SIZE_FIRST_PRICE" => Some(Self::TickSizeFirstPrice),
807 "TICK_SIZE_LAST_PRICE" => Some(Self::TickSizeLastPrice),
808 "TICK_SIZE_FP_OPERATOR" => Some(Self::TickSizeFpOperator),
809 "TICK_SIZE_LP_OPERATOR" => Some(Self::TickSizeLpOperator),
810 _ => None,
811 }
812 }
813 }
814}
815#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
817pub struct RequestGetInstrumentByUnderlying {
818 #[prost(int32, required, tag = "154467")]
820 pub template_id: i32,
821 #[prost(string, repeated, tag = "132760")]
823 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
824 #[prost(string, optional, tag = "101026")]
826 pub underlying_symbol: ::core::option::Option<::prost::alloc::string::String>,
827 #[prost(string, optional, tag = "110101")]
829 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
830 #[prost(string, optional, tag = "100067")]
832 pub expiration_date: ::core::option::Option<::prost::alloc::string::String>,
833}
834#[derive(Clone, PartialEq, ::prost::Message)]
837pub struct ResponseGetInstrumentByUnderlying {
838 #[prost(int32, required, tag = "154467")]
840 pub template_id: i32,
841 #[prost(string, repeated, tag = "132760")]
843 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
844 #[prost(string, repeated, tag = "132764")]
846 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
847 #[prost(string, repeated, tag = "132766")]
849 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
850 #[prost(uint32, optional, tag = "149138")]
852 pub presence_bits: ::core::option::Option<u32>,
853 #[prost(uint32, optional, tag = "154571")]
855 pub clear_bits: ::core::option::Option<u32>,
856 #[prost(string, optional, tag = "110100")]
858 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
859 #[prost(string, optional, tag = "110101")]
861 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
862 #[prost(string, optional, tag = "110114")]
864 pub exchange_symbol: ::core::option::Option<::prost::alloc::string::String>,
865 #[prost(string, optional, tag = "100003")]
867 pub symbol_name: ::core::option::Option<::prost::alloc::string::String>,
868 #[prost(string, optional, tag = "100749")]
870 pub product_code: ::core::option::Option<::prost::alloc::string::String>,
871 #[prost(string, optional, tag = "110116")]
873 pub instrument_type: ::core::option::Option<::prost::alloc::string::String>,
874 #[prost(string, optional, tag = "101026")]
876 pub underlying_symbol: ::core::option::Option<::prost::alloc::string::String>,
877 #[prost(string, optional, tag = "100067")]
879 pub expiration_date: ::core::option::Option<::prost::alloc::string::String>,
880 #[prost(string, optional, tag = "154382")]
882 pub currency: ::core::option::Option<::prost::alloc::string::String>,
883 #[prost(string, optional, tag = "100109")]
885 pub put_call_indicator: ::core::option::Option<::prost::alloc::string::String>,
886 #[prost(string, optional, tag = "154167")]
888 pub tick_size_type: ::core::option::Option<::prost::alloc::string::String>,
889 #[prost(string, optional, tag = "154390")]
891 pub price_display_format: ::core::option::Option<::prost::alloc::string::String>,
892 #[prost(double, optional, tag = "100066")]
894 pub strike_price: ::core::option::Option<f64>,
895 #[prost(double, optional, tag = "154384")]
897 pub ftoq_price: ::core::option::Option<f64>,
898 #[prost(double, optional, tag = "154385")]
900 pub qtof_price: ::core::option::Option<f64>,
901 #[prost(double, optional, tag = "154386")]
903 pub min_qprice_change: ::core::option::Option<f64>,
904 #[prost(double, optional, tag = "154387")]
906 pub min_fprice_change: ::core::option::Option<f64>,
907 #[prost(double, optional, tag = "154389")]
909 pub single_point_value: ::core::option::Option<f64>,
910}
911pub mod response_get_instrument_by_underlying {
913 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
915 #[repr(i32)]
916 pub enum PresenceBits {
917 ExchangeSymbol = 1,
918 SymbolName = 2,
919 ProductCode = 4,
920 InstrumentType = 8,
921 UnderlyingSymbol = 16,
922 ExpirationDate = 32,
923 Currency = 64,
924 PutCallIndicator = 128,
925 StrikePrice = 256,
926 FpriceToQprice = 512,
927 QpriceToFprice = 1024,
928 MinQpriceChange = 2048,
929 MinFrpiceChange = 4096,
930 SinglePointValue = 8192,
931 TickSizeType = 16384,
932 PriceDisplayFormat = 32768,
933 }
934 impl PresenceBits {
935 pub fn as_str_name(&self) -> &'static str {
940 match self {
941 Self::ExchangeSymbol => "EXCHANGE_SYMBOL",
942 Self::SymbolName => "SYMBOL_NAME",
943 Self::ProductCode => "PRODUCT_CODE",
944 Self::InstrumentType => "INSTRUMENT_TYPE",
945 Self::UnderlyingSymbol => "UNDERLYING_SYMBOL",
946 Self::ExpirationDate => "EXPIRATION_DATE",
947 Self::Currency => "CURRENCY",
948 Self::PutCallIndicator => "PUT_CALL_INDICATOR",
949 Self::StrikePrice => "STRIKE_PRICE",
950 Self::FpriceToQprice => "FPRICE_TO_QPRICE",
951 Self::QpriceToFprice => "QPRICE_TO_FPRICE",
952 Self::MinQpriceChange => "MIN_QPRICE_CHANGE",
953 Self::MinFrpiceChange => "MIN_FRPICE_CHANGE",
954 Self::SinglePointValue => "SINGLE_POINT_VALUE",
955 Self::TickSizeType => "TICK_SIZE_TYPE",
956 Self::PriceDisplayFormat => "PRICE_DISPLAY_FORMAT",
957 }
958 }
959 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
961 match value {
962 "EXCHANGE_SYMBOL" => Some(Self::ExchangeSymbol),
963 "SYMBOL_NAME" => Some(Self::SymbolName),
964 "PRODUCT_CODE" => Some(Self::ProductCode),
965 "INSTRUMENT_TYPE" => Some(Self::InstrumentType),
966 "UNDERLYING_SYMBOL" => Some(Self::UnderlyingSymbol),
967 "EXPIRATION_DATE" => Some(Self::ExpirationDate),
968 "CURRENCY" => Some(Self::Currency),
969 "PUT_CALL_INDICATOR" => Some(Self::PutCallIndicator),
970 "STRIKE_PRICE" => Some(Self::StrikePrice),
971 "FPRICE_TO_QPRICE" => Some(Self::FpriceToQprice),
972 "QPRICE_TO_FPRICE" => Some(Self::QpriceToFprice),
973 "MIN_QPRICE_CHANGE" => Some(Self::MinQpriceChange),
974 "MIN_FRPICE_CHANGE" => Some(Self::MinFrpiceChange),
975 "SINGLE_POINT_VALUE" => Some(Self::SinglePointValue),
976 "TICK_SIZE_TYPE" => Some(Self::TickSizeType),
977 "PRICE_DISPLAY_FORMAT" => Some(Self::PriceDisplayFormat),
978 _ => None,
979 }
980 }
981 }
982}
983#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
985pub struct ResponseGetInstrumentByUnderlyingKeys {
986 #[prost(int32, required, tag = "154467")]
988 pub template_id: i32,
989 #[prost(string, repeated, tag = "132760")]
991 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
992 #[prost(string, repeated, tag = "132766")]
994 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
995 #[prost(string, repeated, tag = "101026")]
997 pub underlying_symbol: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
998 #[prost(string, repeated, tag = "110101")]
1000 pub exchange: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1001 #[prost(string, repeated, tag = "100067")]
1003 pub expiration_date: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1004}
1005#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1008pub struct RequestMarketDataUpdateByUnderlying {
1009 #[prost(int32, required, tag = "154467")]
1011 pub template_id: i32,
1012 #[prost(string, repeated, tag = "132760")]
1014 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1015 #[prost(string, optional, tag = "101026")]
1017 pub underlying_symbol: ::core::option::Option<::prost::alloc::string::String>,
1018 #[prost(string, optional, tag = "110101")]
1020 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
1021 #[prost(string, optional, tag = "100067")]
1023 pub expiration_date: ::core::option::Option<::prost::alloc::string::String>,
1024 #[prost(
1026 enumeration = "request_market_data_update_by_underlying::Request",
1027 optional,
1028 tag = "100000"
1029 )]
1030 pub request: ::core::option::Option<i32>,
1031 #[prost(uint32, optional, tag = "154211")]
1033 pub update_bits: ::core::option::Option<u32>,
1034}
1035pub mod request_market_data_update_by_underlying {
1037 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1038 #[repr(i32)]
1039 pub enum UpdateBits {
1040 LastTrade = 1,
1041 Bbo = 2,
1042 OrderBook = 4,
1043 Open = 8,
1044 OpeningIndicator = 16,
1045 HighLow = 32,
1046 HighBidLowAsk = 64,
1047 Close = 128,
1048 ClosingIndicator = 256,
1049 Settlement = 512,
1050 MarketMode = 1024,
1051 OpenInterest = 2048,
1052 MarginRate = 4096,
1053 HighPriceLimit = 8192,
1054 LowPriceLimit = 16384,
1055 ProjectedSettlement = 32768,
1056 }
1057 impl UpdateBits {
1058 pub fn as_str_name(&self) -> &'static str {
1063 match self {
1064 Self::LastTrade => "LAST_TRADE",
1065 Self::Bbo => "BBO",
1066 Self::OrderBook => "ORDER_BOOK",
1067 Self::Open => "OPEN",
1068 Self::OpeningIndicator => "OPENING_INDICATOR",
1069 Self::HighLow => "HIGH_LOW",
1070 Self::HighBidLowAsk => "HIGH_BID_LOW_ASK",
1071 Self::Close => "CLOSE",
1072 Self::ClosingIndicator => "CLOSING_INDICATOR",
1073 Self::Settlement => "SETTLEMENT",
1074 Self::MarketMode => "MARKET_MODE",
1075 Self::OpenInterest => "OPEN_INTEREST",
1076 Self::MarginRate => "MARGIN_RATE",
1077 Self::HighPriceLimit => "HIGH_PRICE_LIMIT",
1078 Self::LowPriceLimit => "LOW_PRICE_LIMIT",
1079 Self::ProjectedSettlement => "PROJECTED_SETTLEMENT",
1080 }
1081 }
1082 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1084 match value {
1085 "LAST_TRADE" => Some(Self::LastTrade),
1086 "BBO" => Some(Self::Bbo),
1087 "ORDER_BOOK" => Some(Self::OrderBook),
1088 "OPEN" => Some(Self::Open),
1089 "OPENING_INDICATOR" => Some(Self::OpeningIndicator),
1090 "HIGH_LOW" => Some(Self::HighLow),
1091 "HIGH_BID_LOW_ASK" => Some(Self::HighBidLowAsk),
1092 "CLOSE" => Some(Self::Close),
1093 "CLOSING_INDICATOR" => Some(Self::ClosingIndicator),
1094 "SETTLEMENT" => Some(Self::Settlement),
1095 "MARKET_MODE" => Some(Self::MarketMode),
1096 "OPEN_INTEREST" => Some(Self::OpenInterest),
1097 "MARGIN_RATE" => Some(Self::MarginRate),
1098 "HIGH_PRICE_LIMIT" => Some(Self::HighPriceLimit),
1099 "LOW_PRICE_LIMIT" => Some(Self::LowPriceLimit),
1100 "PROJECTED_SETTLEMENT" => Some(Self::ProjectedSettlement),
1101 _ => None,
1102 }
1103 }
1104 }
1105 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1106 #[repr(i32)]
1107 pub enum Request {
1108 Subscribe = 1,
1109 Unsubscribe = 2,
1110 }
1111 impl Request {
1112 pub fn as_str_name(&self) -> &'static str {
1117 match self {
1118 Self::Subscribe => "SUBSCRIBE",
1119 Self::Unsubscribe => "UNSUBSCRIBE",
1120 }
1121 }
1122 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1124 match value {
1125 "SUBSCRIBE" => Some(Self::Subscribe),
1126 "UNSUBSCRIBE" => Some(Self::Unsubscribe),
1127 _ => None,
1128 }
1129 }
1130 }
1131}
1132#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1134pub struct ResponseMarketDataUpdateByUnderlying {
1135 #[prost(int32, required, tag = "154467")]
1137 pub template_id: i32,
1138 #[prost(string, repeated, tag = "132760")]
1140 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1141 #[prost(string, repeated, tag = "132766")]
1143 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1144}
1145#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1147pub struct RequestSearchSymbols {
1148 #[prost(int32, required, tag = "154467")]
1150 pub template_id: i32,
1151 #[prost(string, repeated, tag = "132760")]
1153 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1154 #[prost(string, optional, tag = "120008")]
1156 pub search_text: ::core::option::Option<::prost::alloc::string::String>,
1157 #[prost(string, optional, tag = "110101")]
1159 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
1160 #[prost(string, optional, tag = "100749")]
1162 pub product_code: ::core::option::Option<::prost::alloc::string::String>,
1163 #[prost(
1165 enumeration = "request_search_symbols::InstrumentType",
1166 optional,
1167 tag = "110116"
1168 )]
1169 pub instrument_type: ::core::option::Option<i32>,
1170 #[prost(
1172 enumeration = "request_search_symbols::Pattern",
1173 optional,
1174 tag = "155008"
1175 )]
1176 pub pattern: ::core::option::Option<i32>,
1177}
1178pub mod request_search_symbols {
1180 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1181 #[repr(i32)]
1182 pub enum Pattern {
1183 Equals = 1,
1184 Contains = 2,
1185 }
1186 impl Pattern {
1187 pub fn as_str_name(&self) -> &'static str {
1192 match self {
1193 Self::Equals => "EQUALS",
1194 Self::Contains => "CONTAINS",
1195 }
1196 }
1197 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1199 match value {
1200 "EQUALS" => Some(Self::Equals),
1201 "CONTAINS" => Some(Self::Contains),
1202 _ => None,
1203 }
1204 }
1205 }
1206 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1207 #[repr(i32)]
1208 pub enum InstrumentType {
1209 Future = 1,
1210 FutureOption = 2,
1211 FutureStrategy = 3,
1212 Equity = 4,
1213 EquityOption = 5,
1214 EquityStrategy = 6,
1215 Index = 7,
1216 IndexOption = 8,
1217 Spread = 9,
1218 Synthetic = 10,
1219 }
1220 impl InstrumentType {
1221 pub fn as_str_name(&self) -> &'static str {
1226 match self {
1227 Self::Future => "FUTURE",
1228 Self::FutureOption => "FUTURE_OPTION",
1229 Self::FutureStrategy => "FUTURE_STRATEGY",
1230 Self::Equity => "EQUITY",
1231 Self::EquityOption => "EQUITY_OPTION",
1232 Self::EquityStrategy => "EQUITY_STRATEGY",
1233 Self::Index => "INDEX",
1234 Self::IndexOption => "INDEX_OPTION",
1235 Self::Spread => "SPREAD",
1236 Self::Synthetic => "SYNTHETIC",
1237 }
1238 }
1239 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1241 match value {
1242 "FUTURE" => Some(Self::Future),
1243 "FUTURE_OPTION" => Some(Self::FutureOption),
1244 "FUTURE_STRATEGY" => Some(Self::FutureStrategy),
1245 "EQUITY" => Some(Self::Equity),
1246 "EQUITY_OPTION" => Some(Self::EquityOption),
1247 "EQUITY_STRATEGY" => Some(Self::EquityStrategy),
1248 "INDEX" => Some(Self::Index),
1249 "INDEX_OPTION" => Some(Self::IndexOption),
1250 "SPREAD" => Some(Self::Spread),
1251 "SYNTHETIC" => Some(Self::Synthetic),
1252 _ => None,
1253 }
1254 }
1255 }
1256}
1257#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1259pub struct ResponseSearchSymbols {
1260 #[prost(int32, required, tag = "154467")]
1262 pub template_id: i32,
1263 #[prost(string, repeated, tag = "132760")]
1265 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1266 #[prost(string, repeated, tag = "132764")]
1268 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1269 #[prost(string, repeated, tag = "132766")]
1271 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1272 #[prost(string, optional, tag = "110100")]
1274 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
1275 #[prost(string, optional, tag = "110101")]
1277 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
1278 #[prost(string, optional, tag = "100003")]
1280 pub symbol_name: ::core::option::Option<::prost::alloc::string::String>,
1281 #[prost(string, optional, tag = "100749")]
1283 pub product_code: ::core::option::Option<::prost::alloc::string::String>,
1284 #[prost(string, optional, tag = "110116")]
1286 pub instrument_type: ::core::option::Option<::prost::alloc::string::String>,
1287 #[prost(string, optional, tag = "100067")]
1289 pub expiration_date: ::core::option::Option<::prost::alloc::string::String>,
1290}
1291#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1293pub struct RequestProductCodes {
1294 #[prost(int32, required, tag = "154467")]
1296 pub template_id: i32,
1297 #[prost(string, repeated, tag = "132760")]
1299 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1300 #[prost(string, optional, tag = "110101")]
1302 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
1303 #[prost(bool, optional, tag = "153499")]
1305 pub give_toi_products_only: ::core::option::Option<bool>,
1306}
1307#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1309pub struct ResponseProductCodes {
1310 #[prost(int32, required, tag = "154467")]
1312 pub template_id: i32,
1313 #[prost(string, repeated, tag = "132760")]
1315 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1316 #[prost(string, repeated, tag = "132764")]
1318 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1319 #[prost(string, repeated, tag = "132766")]
1321 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1322 #[prost(string, optional, tag = "110101")]
1324 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
1325 #[prost(string, optional, tag = "100003")]
1327 pub symbol_name: ::core::option::Option<::prost::alloc::string::String>,
1328 #[prost(string, optional, tag = "100749")]
1330 pub product_code: ::core::option::Option<::prost::alloc::string::String>,
1331 #[prost(string, optional, tag = "154682")]
1333 pub timezone_time_of_interest: ::core::option::Option<::prost::alloc::string::String>,
1334 #[prost(int32, optional, tag = "154680")]
1336 pub begin_time_of_interest_msm: ::core::option::Option<i32>,
1337 #[prost(int32, optional, tag = "154681")]
1339 pub end_time_of_interest_msm: ::core::option::Option<i32>,
1340}
1341#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1343pub struct RequestFrontMonthContract {
1344 #[prost(int32, required, tag = "154467")]
1346 pub template_id: i32,
1347 #[prost(string, repeated, tag = "132760")]
1349 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1350 #[prost(string, optional, tag = "110100")]
1352 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
1353 #[prost(string, optional, tag = "110101")]
1355 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
1356 #[prost(bool, optional, tag = "154352")]
1358 pub need_updates: ::core::option::Option<bool>,
1359}
1360#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1362pub struct ResponseFrontMonthContract {
1363 #[prost(int32, required, tag = "154467")]
1365 pub template_id: i32,
1366 #[prost(string, repeated, tag = "132760")]
1368 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1369 #[prost(string, repeated, tag = "132766")]
1371 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1372 #[prost(string, optional, tag = "110100")]
1374 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
1375 #[prost(string, optional, tag = "110101")]
1377 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
1378 #[prost(bool, optional, tag = "149166")]
1380 pub is_front_month_symbol: ::core::option::Option<bool>,
1381 #[prost(string, optional, tag = "100003")]
1383 pub symbol_name: ::core::option::Option<::prost::alloc::string::String>,
1384 #[prost(string, optional, tag = "157095")]
1386 pub trading_symbol: ::core::option::Option<::prost::alloc::string::String>,
1387 #[prost(string, optional, tag = "157096")]
1389 pub trading_exchange: ::core::option::Option<::prost::alloc::string::String>,
1390}
1391#[derive(Clone, PartialEq, ::prost::Message)]
1393pub struct RequestDepthByOrderSnapshot {
1394 #[prost(int32, required, tag = "154467")]
1396 pub template_id: i32,
1397 #[prost(string, repeated, tag = "132760")]
1399 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1400 #[prost(string, optional, tag = "110100")]
1402 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
1403 #[prost(string, optional, tag = "110101")]
1405 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
1406 #[prost(double, optional, tag = "154405")]
1408 pub depth_price: ::core::option::Option<f64>,
1409}
1410#[derive(Clone, PartialEq, ::prost::Message)]
1412pub struct ResponseDepthByOrderSnapshot {
1413 #[prost(int32, required, tag = "154467")]
1415 pub template_id: i32,
1416 #[prost(string, repeated, tag = "132760")]
1418 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1419 #[prost(string, repeated, tag = "132764")]
1421 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1422 #[prost(string, repeated, tag = "132766")]
1424 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1425 #[prost(string, optional, tag = "110101")]
1427 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
1428 #[prost(string, optional, tag = "110100")]
1430 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
1431 #[prost(uint64, optional, tag = "112002")]
1433 pub sequence_number: ::core::option::Option<u64>,
1434 #[prost(
1436 enumeration = "response_depth_by_order_snapshot::TransactionType",
1437 optional,
1438 tag = "153612"
1439 )]
1440 pub depth_side: ::core::option::Option<i32>,
1441 #[prost(double, optional, tag = "154405")]
1443 pub depth_price: ::core::option::Option<f64>,
1444 #[prost(int32, repeated, packed = "false", tag = "154406")]
1446 pub depth_size: ::prost::alloc::vec::Vec<i32>,
1447 #[prost(uint64, repeated, packed = "false", tag = "153613")]
1449 pub depth_order_priority: ::prost::alloc::vec::Vec<u64>,
1450 #[prost(string, repeated, tag = "149238")]
1452 pub exchange_order_id: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1453}
1454pub mod response_depth_by_order_snapshot {
1456 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1457 #[repr(i32)]
1458 pub enum TransactionType {
1459 Buy = 1,
1460 Sell = 2,
1461 }
1462 impl TransactionType {
1463 pub fn as_str_name(&self) -> &'static str {
1468 match self {
1469 Self::Buy => "BUY",
1470 Self::Sell => "SELL",
1471 }
1472 }
1473 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1475 match value {
1476 "BUY" => Some(Self::Buy),
1477 "SELL" => Some(Self::Sell),
1478 _ => None,
1479 }
1480 }
1481 }
1482}
1483#[derive(Clone, PartialEq, ::prost::Message)]
1485pub struct RequestDepthByOrderUpdates {
1486 #[prost(int32, required, tag = "154467")]
1488 pub template_id: i32,
1489 #[prost(string, repeated, tag = "132760")]
1491 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1492 #[prost(
1494 enumeration = "request_depth_by_order_updates::Request",
1495 optional,
1496 tag = "100000"
1497 )]
1498 pub request: ::core::option::Option<i32>,
1499 #[prost(string, optional, tag = "110100")]
1501 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
1502 #[prost(string, optional, tag = "110101")]
1504 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
1505 #[prost(double, optional, tag = "154405")]
1507 pub depth_price: ::core::option::Option<f64>,
1508}
1509pub mod request_depth_by_order_updates {
1511 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1512 #[repr(i32)]
1513 pub enum Request {
1514 Subscribe = 1,
1515 Unsubscribe = 2,
1516 }
1517 impl Request {
1518 pub fn as_str_name(&self) -> &'static str {
1523 match self {
1524 Self::Subscribe => "SUBSCRIBE",
1525 Self::Unsubscribe => "UNSUBSCRIBE",
1526 }
1527 }
1528 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1530 match value {
1531 "SUBSCRIBE" => Some(Self::Subscribe),
1532 "UNSUBSCRIBE" => Some(Self::Unsubscribe),
1533 _ => None,
1534 }
1535 }
1536 }
1537}
1538#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1540pub struct ResponseDepthByOrderUpdates {
1541 #[prost(int32, required, tag = "154467")]
1543 pub template_id: i32,
1544 #[prost(string, repeated, tag = "132760")]
1546 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1547 #[prost(string, repeated, tag = "132766")]
1549 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1550}
1551#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1553pub struct RequestGetVolumeAtPrice {
1554 #[prost(int32, required, tag = "154467")]
1556 pub template_id: i32,
1557 #[prost(string, repeated, tag = "132760")]
1559 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1560 #[prost(string, optional, tag = "110100")]
1562 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
1563 #[prost(string, optional, tag = "110101")]
1565 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
1566}
1567#[derive(Clone, PartialEq, ::prost::Message)]
1569pub struct ResponseGetVolumeAtPrice {
1570 #[prost(int32, required, tag = "154467")]
1572 pub template_id: i32,
1573 #[prost(string, repeated, tag = "132760")]
1575 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1576 #[prost(string, repeated, tag = "132764")]
1578 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1579 #[prost(string, repeated, tag = "132766")]
1581 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1582 #[prost(string, optional, tag = "110100")]
1584 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
1585 #[prost(string, optional, tag = "110101")]
1587 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
1588 #[prost(double, repeated, packed = "false", tag = "100006")]
1590 pub trade_price: ::prost::alloc::vec::Vec<f64>,
1591 #[prost(int32, repeated, packed = "false", tag = "156980")]
1593 pub volume_at_price: ::prost::alloc::vec::Vec<i32>,
1594 #[prost(int32, optional, tag = "150100")]
1596 pub ssboe: ::core::option::Option<i32>,
1597 #[prost(int32, optional, tag = "150101")]
1599 pub usecs: ::core::option::Option<i32>,
1600}
1601#[derive(Clone, PartialEq, ::prost::Message)]
1603pub struct BestBidOffer {
1604 #[prost(int32, required, tag = "154467")]
1606 pub template_id: i32,
1607 #[prost(string, optional, tag = "110100")]
1609 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
1610 #[prost(string, optional, tag = "110101")]
1612 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
1613 #[prost(uint32, optional, tag = "149138")]
1615 pub presence_bits: ::core::option::Option<u32>,
1616 #[prost(uint32, optional, tag = "154571")]
1618 pub clear_bits: ::core::option::Option<u32>,
1619 #[prost(bool, optional, tag = "110121")]
1621 pub is_snapshot: ::core::option::Option<bool>,
1622 #[prost(double, optional, tag = "100022")]
1624 pub bid_price: ::core::option::Option<f64>,
1625 #[prost(int32, optional, tag = "100030")]
1627 pub bid_size: ::core::option::Option<i32>,
1628 #[prost(int32, optional, tag = "154403")]
1630 pub bid_orders: ::core::option::Option<i32>,
1631 #[prost(int32, optional, tag = "154867")]
1633 pub bid_implicit_size: ::core::option::Option<i32>,
1634 #[prost(string, optional, tag = "100266")]
1635 pub bid_time: ::core::option::Option<::prost::alloc::string::String>,
1636 #[prost(double, optional, tag = "100025")]
1638 pub ask_price: ::core::option::Option<f64>,
1639 #[prost(int32, optional, tag = "100031")]
1641 pub ask_size: ::core::option::Option<i32>,
1642 #[prost(int32, optional, tag = "154404")]
1644 pub ask_orders: ::core::option::Option<i32>,
1645 #[prost(int32, optional, tag = "154868")]
1647 pub ask_implicit_size: ::core::option::Option<i32>,
1648 #[prost(string, optional, tag = "100267")]
1649 pub ask_time: ::core::option::Option<::prost::alloc::string::String>,
1650 #[prost(double, optional, tag = "154909")]
1652 pub lean_price: ::core::option::Option<f64>,
1653 #[prost(int32, optional, tag = "150100")]
1655 pub ssboe: ::core::option::Option<i32>,
1656 #[prost(int32, optional, tag = "150101")]
1658 pub usecs: ::core::option::Option<i32>,
1659}
1660pub mod best_bid_offer {
1662 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1664 #[repr(i32)]
1665 pub enum PresenceBits {
1666 Bid = 1,
1667 Ask = 2,
1668 LeanPrice = 4,
1669 }
1670 impl PresenceBits {
1671 pub fn as_str_name(&self) -> &'static str {
1676 match self {
1677 Self::Bid => "BID",
1678 Self::Ask => "ASK",
1679 Self::LeanPrice => "LEAN_PRICE",
1680 }
1681 }
1682 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1684 match value {
1685 "BID" => Some(Self::Bid),
1686 "ASK" => Some(Self::Ask),
1687 "LEAN_PRICE" => Some(Self::LeanPrice),
1688 _ => None,
1689 }
1690 }
1691 }
1692}
1693#[derive(Clone, PartialEq, ::prost::Message)]
1695pub struct OrderBook {
1696 #[prost(int32, required, tag = "154467")]
1698 pub template_id: i32,
1699 #[prost(string, optional, tag = "110100")]
1701 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
1702 #[prost(string, optional, tag = "110101")]
1704 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
1705 #[prost(uint32, optional, tag = "149138")]
1707 pub presence_bits: ::core::option::Option<u32>,
1708 #[prost(enumeration = "order_book::UpdateType", optional, tag = "157608")]
1710 pub update_type: ::core::option::Option<i32>,
1711 #[prost(double, repeated, packed = "false", tag = "154282")]
1713 pub bid_price: ::prost::alloc::vec::Vec<f64>,
1714 #[prost(int32, repeated, packed = "false", tag = "154283")]
1716 pub bid_size: ::prost::alloc::vec::Vec<i32>,
1717 #[prost(int32, repeated, packed = "false", tag = "154401")]
1719 pub bid_orders: ::prost::alloc::vec::Vec<i32>,
1720 #[prost(int32, repeated, packed = "false", tag = "154412")]
1722 pub impl_bid_size: ::prost::alloc::vec::Vec<i32>,
1723 #[prost(double, repeated, packed = "false", tag = "154284")]
1725 pub ask_price: ::prost::alloc::vec::Vec<f64>,
1726 #[prost(int32, repeated, packed = "false", tag = "154285")]
1728 pub ask_size: ::prost::alloc::vec::Vec<i32>,
1729 #[prost(int32, repeated, packed = "false", tag = "154402")]
1731 pub ask_orders: ::prost::alloc::vec::Vec<i32>,
1732 #[prost(int32, repeated, packed = "false", tag = "154415")]
1734 pub impl_ask_size: ::prost::alloc::vec::Vec<i32>,
1735 #[prost(int32, optional, tag = "150100")]
1737 pub ssboe: ::core::option::Option<i32>,
1738 #[prost(int32, optional, tag = "150101")]
1740 pub usecs: ::core::option::Option<i32>,
1741}
1742pub mod order_book {
1744 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1746 #[repr(i32)]
1747 pub enum PresenceBits {
1748 Bid = 1,
1749 Ask = 2,
1750 }
1751 impl PresenceBits {
1752 pub fn as_str_name(&self) -> &'static str {
1757 match self {
1758 Self::Bid => "BID",
1759 Self::Ask => "ASK",
1760 }
1761 }
1762 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1764 match value {
1765 "BID" => Some(Self::Bid),
1766 "ASK" => Some(Self::Ask),
1767 _ => None,
1768 }
1769 }
1770 }
1771 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1772 #[repr(i32)]
1773 pub enum UpdateType {
1774 ClearOrderBook = 1,
1775 NoBook = 2,
1776 SnapshotImage = 3,
1777 Begin = 4,
1778 Middle = 5,
1779 End = 6,
1780 Solo = 7,
1781 }
1782 impl UpdateType {
1783 pub fn as_str_name(&self) -> &'static str {
1788 match self {
1789 Self::ClearOrderBook => "CLEAR_ORDER_BOOK",
1790 Self::NoBook => "NO_BOOK",
1791 Self::SnapshotImage => "SNAPSHOT_IMAGE",
1792 Self::Begin => "BEGIN",
1793 Self::Middle => "MIDDLE",
1794 Self::End => "END",
1795 Self::Solo => "SOLO",
1796 }
1797 }
1798 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1800 match value {
1801 "CLEAR_ORDER_BOOK" => Some(Self::ClearOrderBook),
1802 "NO_BOOK" => Some(Self::NoBook),
1803 "SNAPSHOT_IMAGE" => Some(Self::SnapshotImage),
1804 "BEGIN" => Some(Self::Begin),
1805 "MIDDLE" => Some(Self::Middle),
1806 "END" => Some(Self::End),
1807 "SOLO" => Some(Self::Solo),
1808 _ => None,
1809 }
1810 }
1811 }
1812}
1813#[derive(Clone, PartialEq, ::prost::Message)]
1815pub struct LastTrade {
1816 #[prost(int32, required, tag = "154467")]
1818 pub template_id: i32,
1819 #[prost(string, optional, tag = "110100")]
1821 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
1822 #[prost(string, optional, tag = "110101")]
1824 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
1825 #[prost(uint32, optional, tag = "149138")]
1827 pub presence_bits: ::core::option::Option<u32>,
1828 #[prost(uint32, optional, tag = "154571")]
1830 pub clear_bits: ::core::option::Option<u32>,
1831 #[prost(bool, optional, tag = "110121")]
1833 pub is_snapshot: ::core::option::Option<bool>,
1834 #[prost(double, optional, tag = "100006")]
1836 pub trade_price: ::core::option::Option<f64>,
1837 #[prost(int32, optional, tag = "100178")]
1839 pub trade_size: ::core::option::Option<i32>,
1840 #[prost(enumeration = "last_trade::TransactionType", optional, tag = "112003")]
1842 pub aggressor: ::core::option::Option<i32>,
1843 #[prost(string, optional, tag = "149238")]
1845 pub exchange_order_id: ::core::option::Option<::prost::alloc::string::String>,
1846 #[prost(string, optional, tag = "154641")]
1848 pub aggressor_exchange_order_id: ::core::option::Option<::prost::alloc::string::String>,
1849 #[prost(double, optional, tag = "100011")]
1851 pub net_change: ::core::option::Option<f64>,
1852 #[prost(double, optional, tag = "100056")]
1854 pub percent_change: ::core::option::Option<f64>,
1855 #[prost(uint64, optional, tag = "100032")]
1857 pub volume: ::core::option::Option<u64>,
1858 #[prost(double, optional, tag = "101379")]
1860 pub vwap: ::core::option::Option<f64>,
1861 #[prost(string, optional, tag = "100379")]
1862 pub trade_time: ::core::option::Option<::prost::alloc::string::String>,
1863 #[prost(int32, optional, tag = "150100")]
1865 pub ssboe: ::core::option::Option<i32>,
1866 #[prost(int32, optional, tag = "150101")]
1868 pub usecs: ::core::option::Option<i32>,
1869 #[prost(int32, optional, tag = "150400")]
1871 pub source_ssboe: ::core::option::Option<i32>,
1872 #[prost(int32, optional, tag = "150401")]
1874 pub source_usecs: ::core::option::Option<i32>,
1875 #[prost(int32, optional, tag = "150404")]
1877 pub source_nsecs: ::core::option::Option<i32>,
1878 #[prost(int32, optional, tag = "150600")]
1880 pub jop_ssboe: ::core::option::Option<i32>,
1881 #[prost(int32, optional, tag = "150604")]
1883 pub jop_nsecs: ::core::option::Option<i32>,
1884}
1885pub mod last_trade {
1887 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1889 #[repr(i32)]
1890 pub enum PresenceBits {
1891 LastTrade = 1,
1892 NetChange = 2,
1893 PrecentChange = 4,
1894 Volume = 8,
1895 Vwap = 16,
1896 }
1897 impl PresenceBits {
1898 pub fn as_str_name(&self) -> &'static str {
1903 match self {
1904 Self::LastTrade => "LAST_TRADE",
1905 Self::NetChange => "NET_CHANGE",
1906 Self::PrecentChange => "PRECENT_CHANGE",
1907 Self::Volume => "VOLUME",
1908 Self::Vwap => "VWAP",
1909 }
1910 }
1911 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1913 match value {
1914 "LAST_TRADE" => Some(Self::LastTrade),
1915 "NET_CHANGE" => Some(Self::NetChange),
1916 "PRECENT_CHANGE" => Some(Self::PrecentChange),
1917 "VOLUME" => Some(Self::Volume),
1918 "VWAP" => Some(Self::Vwap),
1919 _ => None,
1920 }
1921 }
1922 }
1923 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1924 #[repr(i32)]
1925 pub enum TransactionType {
1926 Buy = 1,
1927 Sell = 2,
1928 }
1929 impl TransactionType {
1930 pub fn as_str_name(&self) -> &'static str {
1935 match self {
1936 Self::Buy => "BUY",
1937 Self::Sell => "SELL",
1938 }
1939 }
1940 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1942 match value {
1943 "BUY" => Some(Self::Buy),
1944 "SELL" => Some(Self::Sell),
1945 _ => None,
1946 }
1947 }
1948 }
1949}
1950#[derive(Clone, PartialEq, ::prost::Message)]
1952pub struct TradeStatistics {
1953 #[prost(int32, required, tag = "154467")]
1955 pub template_id: i32,
1956 #[prost(string, optional, tag = "110100")]
1958 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
1959 #[prost(string, optional, tag = "110101")]
1961 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
1962 #[prost(uint32, optional, tag = "149138")]
1964 pub presence_bits: ::core::option::Option<u32>,
1965 #[prost(uint32, optional, tag = "154571")]
1967 pub clear_bits: ::core::option::Option<u32>,
1968 #[prost(bool, optional, tag = "110121")]
1970 pub is_snapshot: ::core::option::Option<bool>,
1971 #[prost(double, optional, tag = "100019")]
1973 pub open_price: ::core::option::Option<f64>,
1974 #[prost(double, optional, tag = "100012")]
1976 pub high_price: ::core::option::Option<f64>,
1977 #[prost(double, optional, tag = "100013")]
1979 pub low_price: ::core::option::Option<f64>,
1980 #[prost(int32, optional, tag = "150100")]
1982 pub ssboe: ::core::option::Option<i32>,
1983 #[prost(int32, optional, tag = "150101")]
1985 pub usecs: ::core::option::Option<i32>,
1986 #[prost(int32, optional, tag = "150400")]
1988 pub source_ssboe: ::core::option::Option<i32>,
1989 #[prost(int32, optional, tag = "150401")]
1991 pub source_usecs: ::core::option::Option<i32>,
1992 #[prost(int32, optional, tag = "150404")]
1994 pub source_nsecs: ::core::option::Option<i32>,
1995 #[prost(int32, optional, tag = "150600")]
1997 pub jop_ssboe: ::core::option::Option<i32>,
1998 #[prost(int32, optional, tag = "150604")]
2000 pub jop_nsecs: ::core::option::Option<i32>,
2001}
2002pub mod trade_statistics {
2004 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2006 #[repr(i32)]
2007 pub enum PresenceBits {
2008 Open = 1,
2009 High = 2,
2010 Low = 4,
2011 }
2012 impl PresenceBits {
2013 pub fn as_str_name(&self) -> &'static str {
2018 match self {
2019 Self::Open => "OPEN",
2020 Self::High => "HIGH",
2021 Self::Low => "LOW",
2022 }
2023 }
2024 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2026 match value {
2027 "OPEN" => Some(Self::Open),
2028 "HIGH" => Some(Self::High),
2029 "LOW" => Some(Self::Low),
2030 _ => None,
2031 }
2032 }
2033 }
2034}
2035#[derive(Clone, PartialEq, ::prost::Message)]
2037pub struct QuoteStatistics {
2038 #[prost(int32, required, tag = "154467")]
2040 pub template_id: i32,
2041 #[prost(string, optional, tag = "110100")]
2043 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
2044 #[prost(string, optional, tag = "110101")]
2046 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
2047 #[prost(uint32, optional, tag = "149138")]
2049 pub presence_bits: ::core::option::Option<u32>,
2050 #[prost(uint32, optional, tag = "154571")]
2052 pub clear_bits: ::core::option::Option<u32>,
2053 #[prost(bool, optional, tag = "110121")]
2055 pub is_snapshot: ::core::option::Option<bool>,
2056 #[prost(double, optional, tag = "154195")]
2058 pub highest_bid_price: ::core::option::Option<f64>,
2059 #[prost(double, optional, tag = "154197")]
2061 pub lowest_ask_price: ::core::option::Option<f64>,
2062 #[prost(int32, optional, tag = "150100")]
2064 pub ssboe: ::core::option::Option<i32>,
2065 #[prost(int32, optional, tag = "150101")]
2067 pub usecs: ::core::option::Option<i32>,
2068}
2069pub mod quote_statistics {
2071 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2073 #[repr(i32)]
2074 pub enum PresenceBits {
2075 HighestBid = 1,
2076 LowestAsk = 2,
2077 }
2078 impl PresenceBits {
2079 pub fn as_str_name(&self) -> &'static str {
2084 match self {
2085 Self::HighestBid => "HIGHEST_BID",
2086 Self::LowestAsk => "LOWEST_ASK",
2087 }
2088 }
2089 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2091 match value {
2092 "HIGHEST_BID" => Some(Self::HighestBid),
2093 "LOWEST_ASK" => Some(Self::LowestAsk),
2094 _ => None,
2095 }
2096 }
2097 }
2098}
2099#[derive(Clone, PartialEq, ::prost::Message)]
2101pub struct IndicatorPrices {
2102 #[prost(int32, required, tag = "154467")]
2104 pub template_id: i32,
2105 #[prost(string, optional, tag = "110100")]
2107 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
2108 #[prost(string, optional, tag = "110101")]
2110 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
2111 #[prost(uint32, optional, tag = "149138")]
2113 pub presence_bits: ::core::option::Option<u32>,
2114 #[prost(uint32, optional, tag = "154571")]
2116 pub clear_bits: ::core::option::Option<u32>,
2117 #[prost(bool, optional, tag = "110121")]
2119 pub is_snapshot: ::core::option::Option<bool>,
2120 #[prost(double, optional, tag = "154522")]
2122 pub opening_indicator: ::core::option::Option<f64>,
2123 #[prost(double, optional, tag = "154064")]
2125 pub closing_indicator: ::core::option::Option<f64>,
2126 #[prost(int32, optional, tag = "150100")]
2128 pub ssboe: ::core::option::Option<i32>,
2129 #[prost(int32, optional, tag = "150101")]
2131 pub usecs: ::core::option::Option<i32>,
2132}
2133pub mod indicator_prices {
2135 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2137 #[repr(i32)]
2138 pub enum PresenceBits {
2139 OpeningIndicator = 1,
2140 ClosingIndicator = 2,
2141 }
2142 impl PresenceBits {
2143 pub fn as_str_name(&self) -> &'static str {
2148 match self {
2149 Self::OpeningIndicator => "OPENING_INDICATOR",
2150 Self::ClosingIndicator => "CLOSING_INDICATOR",
2151 }
2152 }
2153 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2155 match value {
2156 "OPENING_INDICATOR" => Some(Self::OpeningIndicator),
2157 "CLOSING_INDICATOR" => Some(Self::ClosingIndicator),
2158 _ => None,
2159 }
2160 }
2161 }
2162}
2163#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2165pub struct OpenInterest {
2166 #[prost(int32, required, tag = "154467")]
2168 pub template_id: i32,
2169 #[prost(string, optional, tag = "110100")]
2171 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
2172 #[prost(string, optional, tag = "110101")]
2174 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
2175 #[prost(bool, optional, tag = "110121")]
2177 pub is_snapshot: ::core::option::Option<bool>,
2178 #[prost(bool, optional, tag = "154571")]
2180 pub should_clear: ::core::option::Option<bool>,
2181 #[prost(uint64, optional, tag = "100064")]
2183 pub open_interest: ::core::option::Option<u64>,
2184 #[prost(int32, optional, tag = "150100")]
2186 pub ssboe: ::core::option::Option<i32>,
2187 #[prost(int32, optional, tag = "150101")]
2189 pub usecs: ::core::option::Option<i32>,
2190}
2191#[derive(Clone, PartialEq, ::prost::Message)]
2192pub struct EndOfDayPrices {
2193 #[prost(int32, required, tag = "154467")]
2194 pub template_id: i32,
2195 #[prost(string, optional, tag = "110100")]
2196 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
2197 #[prost(string, optional, tag = "110101")]
2198 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
2199 #[prost(uint32, optional, tag = "149138")]
2200 pub presence_bits: ::core::option::Option<u32>,
2201 #[prost(uint32, optional, tag = "154571")]
2202 pub clear_bits: ::core::option::Option<u32>,
2203 #[prost(bool, optional, tag = "110121")]
2204 pub is_snapshot: ::core::option::Option<bool>,
2205 #[prost(double, optional, tag = "100021")]
2206 pub close_price: ::core::option::Option<f64>,
2207 #[prost(string, optional, tag = "100079")]
2208 pub close_date: ::core::option::Option<::prost::alloc::string::String>,
2209 #[prost(double, optional, tag = "154124")]
2210 pub adjusted_close_price: ::core::option::Option<f64>,
2211 #[prost(double, optional, tag = "100070")]
2212 pub settlement_price: ::core::option::Option<f64>,
2213 #[prost(string, optional, tag = "154132")]
2214 pub settlement_date: ::core::option::Option<::prost::alloc::string::String>,
2215 #[prost(string, optional, tag = "154637")]
2216 pub settlement_price_type: ::core::option::Option<::prost::alloc::string::String>,
2217 #[prost(double, optional, tag = "155005")]
2218 pub projected_settlement_price: ::core::option::Option<f64>,
2219 #[prost(int32, optional, tag = "150100")]
2220 pub ssboe: ::core::option::Option<i32>,
2221 #[prost(int32, optional, tag = "150101")]
2222 pub usecs: ::core::option::Option<i32>,
2223}
2224pub mod end_of_day_prices {
2226 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2228 #[repr(i32)]
2229 pub enum PresenceBits {
2230 Close = 1,
2231 Settlement = 2,
2232 ProjectedSettlement = 4,
2233 AdjustedClose = 8,
2234 }
2235 impl PresenceBits {
2236 pub fn as_str_name(&self) -> &'static str {
2241 match self {
2242 Self::Close => "CLOSE",
2243 Self::Settlement => "SETTLEMENT",
2244 Self::ProjectedSettlement => "PROJECTED_SETTLEMENT",
2245 Self::AdjustedClose => "ADJUSTED_CLOSE",
2246 }
2247 }
2248 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2250 match value {
2251 "CLOSE" => Some(Self::Close),
2252 "SETTLEMENT" => Some(Self::Settlement),
2253 "PROJECTED_SETTLEMENT" => Some(Self::ProjectedSettlement),
2254 "ADJUSTED_CLOSE" => Some(Self::AdjustedClose),
2255 _ => None,
2256 }
2257 }
2258 }
2259}
2260#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2261pub struct MarketMode {
2262 #[prost(int32, required, tag = "154467")]
2263 pub template_id: i32,
2264 #[prost(string, optional, tag = "110100")]
2265 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
2266 #[prost(string, optional, tag = "110101")]
2267 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
2268 #[prost(string, optional, tag = "154106")]
2269 pub market_mode: ::core::option::Option<::prost::alloc::string::String>,
2270 #[prost(string, optional, tag = "154838")]
2271 pub halt_reason: ::core::option::Option<::prost::alloc::string::String>,
2272 #[prost(string, optional, tag = "100016")]
2273 pub trade_date: ::core::option::Option<::prost::alloc::string::String>,
2274 #[prost(int32, optional, tag = "150100")]
2275 pub ssboe: ::core::option::Option<i32>,
2276 #[prost(int32, optional, tag = "150101")]
2277 pub usecs: ::core::option::Option<i32>,
2278}
2279#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2281pub struct FrontMonthContractUpdate {
2282 #[prost(int32, required, tag = "154467")]
2284 pub template_id: i32,
2285 #[prost(string, optional, tag = "110100")]
2287 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
2288 #[prost(string, optional, tag = "110101")]
2290 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
2291 #[prost(bool, optional, tag = "149166")]
2293 pub is_front_month_symbol: ::core::option::Option<bool>,
2294 #[prost(string, optional, tag = "100003")]
2296 pub symbol_name: ::core::option::Option<::prost::alloc::string::String>,
2297 #[prost(string, optional, tag = "157095")]
2299 pub trading_symbol: ::core::option::Option<::prost::alloc::string::String>,
2300 #[prost(string, optional, tag = "157096")]
2302 pub trading_exchange: ::core::option::Option<::prost::alloc::string::String>,
2303}
2304#[derive(Clone, PartialEq, ::prost::Message)]
2306pub struct DepthByOrder {
2307 #[prost(int32, required, tag = "154467")]
2309 pub template_id: i32,
2310 #[prost(string, optional, tag = "110100")]
2312 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
2313 #[prost(string, optional, tag = "110101")]
2315 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
2316 #[prost(uint64, optional, tag = "112002")]
2318 pub sequence_number: ::core::option::Option<u64>,
2319 #[prost(
2321 enumeration = "depth_by_order::UpdateType",
2322 repeated,
2323 packed = "false",
2324 tag = "110121"
2325 )]
2326 pub update_type: ::prost::alloc::vec::Vec<i32>,
2327 #[prost(
2329 enumeration = "depth_by_order::TransactionType",
2330 repeated,
2331 packed = "false",
2332 tag = "153612"
2333 )]
2334 pub transaction_type: ::prost::alloc::vec::Vec<i32>,
2335 #[prost(double, repeated, packed = "false", tag = "154405")]
2337 pub depth_price: ::prost::alloc::vec::Vec<f64>,
2338 #[prost(double, repeated, packed = "false", tag = "154906")]
2340 pub prev_depth_price: ::prost::alloc::vec::Vec<f64>,
2341 #[prost(bool, repeated, packed = "false", tag = "154930")]
2343 pub prev_depth_price_flag: ::prost::alloc::vec::Vec<bool>,
2344 #[prost(int32, repeated, packed = "false", tag = "154406")]
2346 pub depth_size: ::prost::alloc::vec::Vec<i32>,
2347 #[prost(uint64, repeated, packed = "false", tag = "153613")]
2349 pub depth_order_priority: ::prost::alloc::vec::Vec<u64>,
2350 #[prost(string, repeated, tag = "149238")]
2352 pub exchange_order_id: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2353 #[prost(int32, optional, tag = "150100")]
2355 pub ssboe: ::core::option::Option<i32>,
2356 #[prost(int32, optional, tag = "150101")]
2358 pub usecs: ::core::option::Option<i32>,
2359 #[prost(int32, optional, tag = "150400")]
2361 pub source_ssboe: ::core::option::Option<i32>,
2362 #[prost(int32, optional, tag = "150401")]
2364 pub source_usecs: ::core::option::Option<i32>,
2365 #[prost(int32, optional, tag = "150404")]
2367 pub source_nsecs: ::core::option::Option<i32>,
2368 #[prost(int32, optional, tag = "150600")]
2370 pub jop_ssboe: ::core::option::Option<i32>,
2371 #[prost(int32, optional, tag = "150604")]
2373 pub jop_nsecs: ::core::option::Option<i32>,
2374}
2375pub mod depth_by_order {
2377 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2378 #[repr(i32)]
2379 pub enum TransactionType {
2380 Buy = 1,
2381 Sell = 2,
2382 }
2383 impl TransactionType {
2384 pub fn as_str_name(&self) -> &'static str {
2389 match self {
2390 Self::Buy => "BUY",
2391 Self::Sell => "SELL",
2392 }
2393 }
2394 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2396 match value {
2397 "BUY" => Some(Self::Buy),
2398 "SELL" => Some(Self::Sell),
2399 _ => None,
2400 }
2401 }
2402 }
2403 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2404 #[repr(i32)]
2405 pub enum UpdateType {
2406 New = 1,
2407 Change = 2,
2408 Delete = 3,
2409 }
2410 impl UpdateType {
2411 pub fn as_str_name(&self) -> &'static str {
2416 match self {
2417 Self::New => "NEW",
2418 Self::Change => "CHANGE",
2419 Self::Delete => "DELETE",
2420 }
2421 }
2422 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2424 match value {
2425 "NEW" => Some(Self::New),
2426 "CHANGE" => Some(Self::Change),
2427 "DELETE" => Some(Self::Delete),
2428 _ => None,
2429 }
2430 }
2431 }
2432}
2433#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2435pub struct DepthByOrderEndEvent {
2436 #[prost(int32, required, tag = "154467")]
2438 pub template_id: i32,
2439 #[prost(string, repeated, tag = "110100")]
2441 pub symbol: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2442 #[prost(string, repeated, tag = "110101")]
2444 pub exchange: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2445 #[prost(uint64, optional, tag = "112002")]
2447 pub sequence_number: ::core::option::Option<u64>,
2448 #[prost(int32, optional, tag = "150100")]
2450 pub ssboe: ::core::option::Option<i32>,
2451 #[prost(int32, optional, tag = "150101")]
2453 pub usecs: ::core::option::Option<i32>,
2454}
2455#[derive(Clone, PartialEq, ::prost::Message)]
2457pub struct SymbolMarginRate {
2458 #[prost(int32, required, tag = "154467")]
2460 pub template_id: i32,
2461 #[prost(string, optional, tag = "110100")]
2463 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
2464 #[prost(string, optional, tag = "110101")]
2466 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
2467 #[prost(bool, optional, tag = "110121")]
2469 pub is_snapshot: ::core::option::Option<bool>,
2470 #[prost(double, optional, tag = "154103")]
2472 pub margin_rate: ::core::option::Option<f64>,
2473}
2474#[derive(Clone, PartialEq, ::prost::Message)]
2476pub struct OrderPriceLimits {
2477 #[prost(int32, required, tag = "154467")]
2479 pub template_id: i32,
2480 #[prost(string, optional, tag = "110100")]
2482 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
2483 #[prost(string, optional, tag = "110101")]
2485 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
2486 #[prost(uint32, optional, tag = "149138")]
2488 pub presence_bits: ::core::option::Option<u32>,
2489 #[prost(uint32, optional, tag = "154571")]
2491 pub clear_bits: ::core::option::Option<u32>,
2492 #[prost(bool, optional, tag = "110121")]
2494 pub is_snapshot: ::core::option::Option<bool>,
2495 #[prost(double, optional, tag = "154079")]
2497 pub high_price_limit: ::core::option::Option<f64>,
2498 #[prost(double, optional, tag = "154101")]
2500 pub low_price_limit: ::core::option::Option<f64>,
2501 #[prost(int32, optional, tag = "150100")]
2503 pub ssboe: ::core::option::Option<i32>,
2504 #[prost(int32, optional, tag = "150101")]
2506 pub usecs: ::core::option::Option<i32>,
2507}
2508pub mod order_price_limits {
2510 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2512 #[repr(i32)]
2513 pub enum PresenceBits {
2514 HighPriceLimit = 1,
2515 LowPriceLimit = 2,
2516 }
2517 impl PresenceBits {
2518 pub fn as_str_name(&self) -> &'static str {
2523 match self {
2524 Self::HighPriceLimit => "HIGH_PRICE_LIMIT",
2525 Self::LowPriceLimit => "LOW_PRICE_LIMIT",
2526 }
2527 }
2528 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2530 match value {
2531 "HIGH_PRICE_LIMIT" => Some(Self::HighPriceLimit),
2532 "LOW_PRICE_LIMIT" => Some(Self::LowPriceLimit),
2533 _ => None,
2534 }
2535 }
2536 }
2537}
2538#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2540pub struct RequestLoginInfo {
2541 #[prost(int32, required, tag = "154467")]
2543 pub template_id: i32,
2544 #[prost(string, repeated, tag = "132760")]
2546 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2547}
2548#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2550pub struct ResponseLoginInfo {
2551 #[prost(int32, required, tag = "154467")]
2553 pub template_id: i32,
2554 #[prost(string, repeated, tag = "132760")]
2556 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2557 #[prost(string, repeated, tag = "132766")]
2559 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2560 #[prost(string, optional, tag = "154013")]
2562 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
2563 #[prost(string, optional, tag = "154014")]
2565 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
2566 #[prost(string, optional, tag = "154216")]
2568 pub first_name: ::core::option::Option<::prost::alloc::string::String>,
2569 #[prost(string, optional, tag = "154217")]
2571 pub last_name: ::core::option::Option<::prost::alloc::string::String>,
2572 #[prost(
2574 enumeration = "response_login_info::UserType",
2575 optional,
2576 tag = "154036"
2577 )]
2578 pub user_type: ::core::option::Option<i32>,
2579}
2580pub mod response_login_info {
2582 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2583 #[repr(i32)]
2584 pub enum UserType {
2585 Admin = 0,
2586 Fcm = 1,
2587 Ib = 2,
2588 Trader = 3,
2589 }
2590 impl UserType {
2591 pub fn as_str_name(&self) -> &'static str {
2596 match self {
2597 Self::Admin => "USER_TYPE_ADMIN",
2598 Self::Fcm => "USER_TYPE_FCM",
2599 Self::Ib => "USER_TYPE_IB",
2600 Self::Trader => "USER_TYPE_TRADER",
2601 }
2602 }
2603 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2605 match value {
2606 "USER_TYPE_ADMIN" => Some(Self::Admin),
2607 "USER_TYPE_FCM" => Some(Self::Fcm),
2608 "USER_TYPE_IB" => Some(Self::Ib),
2609 "USER_TYPE_TRADER" => Some(Self::Trader),
2610 _ => None,
2611 }
2612 }
2613 }
2614}
2615#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2617pub struct RequestAccountList {
2618 #[prost(int32, required, tag = "154467")]
2620 pub template_id: i32,
2621 #[prost(string, repeated, tag = "132760")]
2623 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2624 #[prost(string, optional, tag = "154013")]
2626 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
2627 #[prost(string, optional, tag = "154014")]
2629 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
2630 #[prost(
2632 enumeration = "request_account_list::UserType",
2633 optional,
2634 tag = "154036"
2635 )]
2636 pub user_type: ::core::option::Option<i32>,
2637}
2638pub mod request_account_list {
2640 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2641 #[repr(i32)]
2642 pub enum UserType {
2643 Fcm = 1,
2644 Ib = 2,
2645 Trader = 3,
2646 }
2647 impl UserType {
2648 pub fn as_str_name(&self) -> &'static str {
2653 match self {
2654 Self::Fcm => "USER_TYPE_FCM",
2655 Self::Ib => "USER_TYPE_IB",
2656 Self::Trader => "USER_TYPE_TRADER",
2657 }
2658 }
2659 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2661 match value {
2662 "USER_TYPE_FCM" => Some(Self::Fcm),
2663 "USER_TYPE_IB" => Some(Self::Ib),
2664 "USER_TYPE_TRADER" => Some(Self::Trader),
2665 _ => None,
2666 }
2667 }
2668 }
2669}
2670#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2671pub struct ResponseAccountList {
2672 #[prost(int32, required, tag = "154467")]
2673 pub template_id: i32,
2674 #[prost(string, repeated, tag = "132760")]
2675 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2676 #[prost(string, repeated, tag = "132764")]
2677 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2678 #[prost(string, repeated, tag = "132766")]
2679 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2680 #[prost(string, optional, tag = "154013")]
2681 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
2682 #[prost(string, optional, tag = "154014")]
2683 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
2684 #[prost(string, optional, tag = "154008")]
2685 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
2686 #[prost(string, optional, tag = "154002")]
2687 pub account_name: ::core::option::Option<::prost::alloc::string::String>,
2688 #[prost(string, optional, tag = "154383")]
2689 pub account_currency: ::core::option::Option<::prost::alloc::string::String>,
2690 #[prost(string, optional, tag = "131035")]
2691 pub account_auto_liquidate: ::core::option::Option<::prost::alloc::string::String>,
2692 #[prost(string, optional, tag = "131040")]
2693 pub auto_liq_threshold_current_value: ::core::option::Option<::prost::alloc::string::String>,
2694}
2695#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2697pub struct RequestAccountRmsInfo {
2698 #[prost(int32, required, tag = "154467")]
2700 pub template_id: i32,
2701 #[prost(string, repeated, tag = "132760")]
2703 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2704 #[prost(string, optional, tag = "154013")]
2706 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
2707 #[prost(string, optional, tag = "154014")]
2709 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
2710 #[prost(
2712 enumeration = "request_account_rms_info::UserType",
2713 optional,
2714 tag = "154036"
2715 )]
2716 pub user_type: ::core::option::Option<i32>,
2717}
2718pub mod request_account_rms_info {
2720 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2721 #[repr(i32)]
2722 pub enum UserType {
2723 Fcm = 1,
2724 Ib = 2,
2725 Trader = 3,
2726 }
2727 impl UserType {
2728 pub fn as_str_name(&self) -> &'static str {
2733 match self {
2734 Self::Fcm => "USER_TYPE_FCM",
2735 Self::Ib => "USER_TYPE_IB",
2736 Self::Trader => "USER_TYPE_TRADER",
2737 }
2738 }
2739 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2741 match value {
2742 "USER_TYPE_FCM" => Some(Self::Fcm),
2743 "USER_TYPE_IB" => Some(Self::Ib),
2744 "USER_TYPE_TRADER" => Some(Self::Trader),
2745 _ => None,
2746 }
2747 }
2748 }
2749}
2750#[derive(Clone, PartialEq, ::prost::Message)]
2752pub struct ResponseAccountRmsInfo {
2753 #[prost(int32, required, tag = "154467")]
2755 pub template_id: i32,
2756 #[prost(string, repeated, tag = "132760")]
2758 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2759 #[prost(string, repeated, tag = "132764")]
2761 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2762 #[prost(string, repeated, tag = "132766")]
2764 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2765 #[prost(uint32, optional, tag = "153622")]
2767 pub presence_bits: ::core::option::Option<u32>,
2768 #[prost(string, optional, tag = "154013")]
2770 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
2771 #[prost(string, optional, tag = "154014")]
2773 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
2774 #[prost(string, optional, tag = "154008")]
2776 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
2777 #[prost(string, optional, tag = "154383")]
2779 pub currency: ::core::option::Option<::prost::alloc::string::String>,
2780 #[prost(string, optional, tag = "154003")]
2782 pub status: ::core::option::Option<::prost::alloc::string::String>,
2783 #[prost(string, optional, tag = "150142")]
2785 pub algorithm: ::core::option::Option<::prost::alloc::string::String>,
2786 #[prost(string, optional, tag = "131036")]
2788 pub auto_liquidate_criteria: ::core::option::Option<::prost::alloc::string::String>,
2789 #[prost(
2791 enumeration = "response_account_rms_info::AutoLiquidateFlag",
2792 optional,
2793 tag = "131035"
2794 )]
2795 pub auto_liquidate: ::core::option::Option<i32>,
2796 #[prost(
2798 enumeration = "response_account_rms_info::AutoLiquidateFlag",
2799 optional,
2800 tag = "131038"
2801 )]
2802 pub disable_on_auto_liquidate: ::core::option::Option<i32>,
2803 #[prost(double, optional, tag = "131037")]
2805 pub auto_liquidate_threshold: ::core::option::Option<f64>,
2806 #[prost(double, optional, tag = "131039")]
2808 pub auto_liquidate_max_min_account_balance: ::core::option::Option<f64>,
2809 #[prost(double, optional, tag = "154019")]
2811 pub loss_limit: ::core::option::Option<f64>,
2812 #[prost(double, optional, tag = "156968")]
2814 pub min_account_balance: ::core::option::Option<f64>,
2815 #[prost(double, optional, tag = "156976")]
2817 pub min_margin_balance: ::core::option::Option<f64>,
2818 #[prost(double, optional, tag = "153368")]
2820 pub default_commission: ::core::option::Option<f64>,
2821 #[prost(int32, optional, tag = "154009")]
2823 pub buy_limit: ::core::option::Option<i32>,
2824 #[prost(int32, optional, tag = "110105")]
2826 pub max_order_quantity: ::core::option::Option<i32>,
2827 #[prost(int32, optional, tag = "154035")]
2829 pub sell_limit: ::core::option::Option<i32>,
2830 #[prost(bool, optional, tag = "156972")]
2832 pub check_min_account_balance: ::core::option::Option<bool>,
2833}
2834pub mod response_account_rms_info {
2836 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2838 #[repr(i32)]
2839 pub enum PresenceBits {
2840 BuyLimit = 1,
2841 SellLimit = 2,
2842 LossLimit = 4,
2843 MaxOrderQuantity = 8,
2844 MinAccountBalance = 16,
2845 MinMarginBalance = 32,
2846 Algorithm = 64,
2847 Status = 128,
2848 Currency = 256,
2849 DefaultCommission = 512,
2850 }
2851 impl PresenceBits {
2852 pub fn as_str_name(&self) -> &'static str {
2857 match self {
2858 Self::BuyLimit => "BUY_LIMIT",
2859 Self::SellLimit => "SELL_LIMIT",
2860 Self::LossLimit => "LOSS_LIMIT",
2861 Self::MaxOrderQuantity => "MAX_ORDER_QUANTITY",
2862 Self::MinAccountBalance => "MIN_ACCOUNT_BALANCE",
2863 Self::MinMarginBalance => "MIN_MARGIN_BALANCE",
2864 Self::Algorithm => "ALGORITHM",
2865 Self::Status => "STATUS",
2866 Self::Currency => "CURRENCY",
2867 Self::DefaultCommission => "DEFAULT_COMMISSION",
2868 }
2869 }
2870 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2872 match value {
2873 "BUY_LIMIT" => Some(Self::BuyLimit),
2874 "SELL_LIMIT" => Some(Self::SellLimit),
2875 "LOSS_LIMIT" => Some(Self::LossLimit),
2876 "MAX_ORDER_QUANTITY" => Some(Self::MaxOrderQuantity),
2877 "MIN_ACCOUNT_BALANCE" => Some(Self::MinAccountBalance),
2878 "MIN_MARGIN_BALANCE" => Some(Self::MinMarginBalance),
2879 "ALGORITHM" => Some(Self::Algorithm),
2880 "STATUS" => Some(Self::Status),
2881 "CURRENCY" => Some(Self::Currency),
2882 "DEFAULT_COMMISSION" => Some(Self::DefaultCommission),
2883 _ => None,
2884 }
2885 }
2886 }
2887 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2888 #[repr(i32)]
2889 pub enum AutoLiquidateFlag {
2890 Enabled = 1,
2891 Disabled = 2,
2892 }
2893 impl AutoLiquidateFlag {
2894 pub fn as_str_name(&self) -> &'static str {
2899 match self {
2900 Self::Enabled => "ENABLED",
2901 Self::Disabled => "DISABLED",
2902 }
2903 }
2904 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2906 match value {
2907 "ENABLED" => Some(Self::Enabled),
2908 "DISABLED" => Some(Self::Disabled),
2909 _ => None,
2910 }
2911 }
2912 }
2913}
2914#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2915pub struct RequestAccountRmsUpdates {
2916 #[prost(int32, required, tag = "154467")]
2917 pub template_id: i32,
2918 #[prost(string, repeated, tag = "132760")]
2919 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2920 #[prost(string, optional, tag = "154013")]
2921 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
2922 #[prost(string, optional, tag = "154014")]
2923 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
2924 #[prost(string, optional, tag = "154008")]
2925 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
2926 #[prost(string, optional, tag = "100000")]
2928 pub request: ::core::option::Option<::prost::alloc::string::String>,
2929 #[prost(int32, optional, tag = "154211")]
2930 pub update_bits: ::core::option::Option<i32>,
2931}
2932pub mod request_account_rms_updates {
2934 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2935 #[repr(i32)]
2936 pub enum UpdateBits {
2937 AutoLiqThresholdCurrentValue = 1,
2938 }
2939 impl UpdateBits {
2940 pub fn as_str_name(&self) -> &'static str {
2945 match self {
2946 Self::AutoLiqThresholdCurrentValue => "AUTO_LIQ_THRESHOLD_CURRENT_VALUE",
2947 }
2948 }
2949 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2951 match value {
2952 "AUTO_LIQ_THRESHOLD_CURRENT_VALUE" => Some(Self::AutoLiqThresholdCurrentValue),
2953 _ => None,
2954 }
2955 }
2956 }
2957}
2958#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2959pub struct ResponseAccountRmsUpdates {
2960 #[prost(int32, required, tag = "154467")]
2961 pub template_id: i32,
2962 #[prost(string, repeated, tag = "132760")]
2963 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2964 #[prost(string, repeated, tag = "132766")]
2965 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2966}
2967#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2969pub struct RequestProductRmsInfo {
2970 #[prost(int32, required, tag = "154467")]
2972 pub template_id: i32,
2973 #[prost(string, repeated, tag = "132760")]
2975 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2976 #[prost(string, optional, tag = "154013")]
2978 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
2979 #[prost(string, optional, tag = "154014")]
2981 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
2982 #[prost(string, optional, tag = "154008")]
2984 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
2985}
2986#[derive(Clone, PartialEq, ::prost::Message)]
2988pub struct ResponseProductRmsInfo {
2989 #[prost(int32, required, tag = "154467")]
2991 pub template_id: i32,
2992 #[prost(string, repeated, tag = "132760")]
2994 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2995 #[prost(string, repeated, tag = "132764")]
2997 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2998 #[prost(string, repeated, tag = "132766")]
3000 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3001 #[prost(uint32, optional, tag = "153622")]
3003 pub presence_bits: ::core::option::Option<u32>,
3004 #[prost(string, optional, tag = "154013")]
3006 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
3007 #[prost(string, optional, tag = "154014")]
3009 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
3010 #[prost(string, optional, tag = "154008")]
3012 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
3013 #[prost(string, optional, tag = "100749")]
3015 pub product_code: ::core::option::Option<::prost::alloc::string::String>,
3016 #[prost(double, optional, tag = "154019")]
3018 pub loss_limit: ::core::option::Option<f64>,
3019 #[prost(double, optional, tag = "156969")]
3021 pub commission_fill_rate: ::core::option::Option<f64>,
3022 #[prost(double, optional, tag = "157003")]
3024 pub buy_margin_rate: ::core::option::Option<f64>,
3025 #[prost(double, optional, tag = "157004")]
3027 pub sell_margin_rate: ::core::option::Option<f64>,
3028 #[prost(int32, optional, tag = "154009")]
3030 pub buy_limit: ::core::option::Option<i32>,
3031 #[prost(int32, optional, tag = "110105")]
3033 pub max_order_quantity: ::core::option::Option<i32>,
3034 #[prost(int32, optional, tag = "154035")]
3036 pub sell_limit: ::core::option::Option<i32>,
3037}
3038pub mod response_product_rms_info {
3040 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3042 #[repr(i32)]
3043 pub enum PresenceBits {
3044 BuyLimit = 1,
3045 SellLimit = 2,
3046 LossLimit = 4,
3047 MaxOrderQuantity = 8,
3048 BuyMarginRate = 16,
3049 SellMarginRate = 32,
3050 CommissionFillRate = 64,
3051 }
3052 impl PresenceBits {
3053 pub fn as_str_name(&self) -> &'static str {
3058 match self {
3059 Self::BuyLimit => "BUY_LIMIT",
3060 Self::SellLimit => "SELL_LIMIT",
3061 Self::LossLimit => "LOSS_LIMIT",
3062 Self::MaxOrderQuantity => "MAX_ORDER_QUANTITY",
3063 Self::BuyMarginRate => "BUY_MARGIN_RATE",
3064 Self::SellMarginRate => "SELL_MARGIN_RATE",
3065 Self::CommissionFillRate => "COMMISSION_FILL_RATE",
3066 }
3067 }
3068 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3070 match value {
3071 "BUY_LIMIT" => Some(Self::BuyLimit),
3072 "SELL_LIMIT" => Some(Self::SellLimit),
3073 "LOSS_LIMIT" => Some(Self::LossLimit),
3074 "MAX_ORDER_QUANTITY" => Some(Self::MaxOrderQuantity),
3075 "BUY_MARGIN_RATE" => Some(Self::BuyMarginRate),
3076 "SELL_MARGIN_RATE" => Some(Self::SellMarginRate),
3077 "COMMISSION_FILL_RATE" => Some(Self::CommissionFillRate),
3078 _ => None,
3079 }
3080 }
3081 }
3082}
3083#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3085pub struct RequestSubscribeForOrderUpdates {
3086 #[prost(int32, required, tag = "154467")]
3088 pub template_id: i32,
3089 #[prost(string, repeated, tag = "132760")]
3091 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3092 #[prost(string, optional, tag = "154013")]
3094 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
3095 #[prost(string, optional, tag = "154014")]
3097 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
3098 #[prost(string, optional, tag = "154008")]
3100 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
3101}
3102#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3104pub struct ResponseSubscribeForOrderUpdates {
3105 #[prost(int32, required, tag = "154467")]
3107 pub template_id: i32,
3108 #[prost(string, repeated, tag = "132760")]
3110 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3111 #[prost(string, repeated, tag = "132766")]
3113 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3114}
3115#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3117pub struct RequestTradeRoutes {
3118 #[prost(int32, required, tag = "154467")]
3120 pub template_id: i32,
3121 #[prost(string, repeated, tag = "132760")]
3123 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3124 #[prost(bool, optional, tag = "154352")]
3126 pub subscribe_for_updates: ::core::option::Option<bool>,
3127}
3128#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3130pub struct ResponseTradeRoutes {
3131 #[prost(int32, required, tag = "154467")]
3133 pub template_id: i32,
3134 #[prost(string, repeated, tag = "132760")]
3136 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3137 #[prost(string, repeated, tag = "132764")]
3139 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3140 #[prost(string, repeated, tag = "132766")]
3142 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3143 #[prost(string, optional, tag = "154013")]
3145 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
3146 #[prost(string, optional, tag = "154014")]
3148 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
3149 #[prost(string, optional, tag = "110101")]
3151 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
3152 #[prost(string, optional, tag = "112016")]
3154 pub trade_route: ::core::option::Option<::prost::alloc::string::String>,
3155 #[prost(string, optional, tag = "131407")]
3157 pub status: ::core::option::Option<::prost::alloc::string::String>,
3158 #[prost(bool, optional, tag = "154689")]
3160 pub is_default: ::core::option::Option<bool>,
3161}
3162#[derive(Clone, PartialEq, ::prost::Message)]
3163pub struct RequestNewOrder {
3164 #[prost(int32, required, tag = "154467")]
3165 pub template_id: i32,
3166 #[prost(string, repeated, tag = "132760")]
3167 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3168 #[prost(string, optional, tag = "154119")]
3169 pub user_tag: ::core::option::Option<::prost::alloc::string::String>,
3170 #[prost(string, optional, tag = "154629")]
3171 pub window_name: ::core::option::Option<::prost::alloc::string::String>,
3172 #[prost(string, optional, tag = "154013")]
3173 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
3174 #[prost(string, optional, tag = "154014")]
3175 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
3176 #[prost(string, optional, tag = "154008")]
3177 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
3178 #[prost(string, optional, tag = "110100")]
3179 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
3180 #[prost(string, optional, tag = "110101")]
3181 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
3182 #[prost(int32, optional, tag = "112004")]
3183 pub quantity: ::core::option::Option<i32>,
3184 #[prost(double, optional, tag = "110306")]
3185 pub price: ::core::option::Option<f64>,
3186 #[prost(double, optional, tag = "149247")]
3187 pub trigger_price: ::core::option::Option<f64>,
3188 #[prost(
3189 enumeration = "request_new_order::TransactionType",
3190 optional,
3191 tag = "112003"
3192 )]
3193 pub transaction_type: ::core::option::Option<i32>,
3194 #[prost(enumeration = "request_new_order::Duration", optional, tag = "112005")]
3195 pub duration: ::core::option::Option<i32>,
3196 #[prost(enumeration = "request_new_order::PriceType", optional, tag = "112008")]
3197 pub price_type: ::core::option::Option<i32>,
3198 #[prost(string, optional, tag = "112016")]
3199 pub trade_route: ::core::option::Option<::prost::alloc::string::String>,
3200 #[prost(
3201 enumeration = "request_new_order::OrderPlacement",
3202 optional,
3203 tag = "154710"
3204 )]
3205 pub manual_or_auto: ::core::option::Option<i32>,
3206 #[prost(bool, optional, tag = "157063")]
3207 pub trailing_stop: ::core::option::Option<bool>,
3208 #[prost(int32, optional, tag = "157064")]
3209 pub trail_by_ticks: ::core::option::Option<i32>,
3210 #[prost(int32, optional, tag = "157065")]
3211 pub trail_by_price_id: ::core::option::Option<i32>,
3212 #[prost(int32, optional, tag = "154487")]
3213 pub release_at_ssboe: ::core::option::Option<i32>,
3214 #[prost(int32, optional, tag = "154549")]
3215 pub release_at_usecs: ::core::option::Option<i32>,
3216 #[prost(int32, optional, tag = "157085")]
3217 pub cancel_at_ssboe: ::core::option::Option<i32>,
3218 #[prost(int32, optional, tag = "157086")]
3219 pub cancel_at_usecs: ::core::option::Option<i32>,
3220 #[prost(int32, optional, tag = "154488")]
3221 pub cancel_after_secs: ::core::option::Option<i32>,
3222 #[prost(string, optional, tag = "154451")]
3223 pub if_touched_symbol: ::core::option::Option<::prost::alloc::string::String>,
3224 #[prost(string, optional, tag = "154452")]
3225 pub if_touched_exchange: ::core::option::Option<::prost::alloc::string::String>,
3226 #[prost(enumeration = "request_new_order::Condition", optional, tag = "154453")]
3227 pub if_touched_condition: ::core::option::Option<i32>,
3228 #[prost(
3229 enumeration = "request_new_order::PriceField",
3230 optional,
3231 tag = "154454"
3232 )]
3233 pub if_touched_price_field: ::core::option::Option<i32>,
3234 #[prost(double, optional, tag = "153632")]
3235 pub if_touched_price: ::core::option::Option<f64>,
3236}
3237pub mod request_new_order {
3239 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3240 #[repr(i32)]
3241 pub enum TransactionType {
3242 Buy = 1,
3243 Sell = 2,
3244 }
3245 impl TransactionType {
3246 pub fn as_str_name(&self) -> &'static str {
3251 match self {
3252 Self::Buy => "BUY",
3253 Self::Sell => "SELL",
3254 }
3255 }
3256 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3258 match value {
3259 "BUY" => Some(Self::Buy),
3260 "SELL" => Some(Self::Sell),
3261 _ => None,
3262 }
3263 }
3264 }
3265 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3266 #[repr(i32)]
3267 pub enum OrderPlacement {
3268 Manual = 1,
3269 Auto = 2,
3270 }
3271 impl OrderPlacement {
3272 pub fn as_str_name(&self) -> &'static str {
3277 match self {
3278 Self::Manual => "MANUAL",
3279 Self::Auto => "AUTO",
3280 }
3281 }
3282 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3284 match value {
3285 "MANUAL" => Some(Self::Manual),
3286 "AUTO" => Some(Self::Auto),
3287 _ => None,
3288 }
3289 }
3290 }
3291 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3292 #[repr(i32)]
3293 pub enum Duration {
3294 Day = 1,
3295 Gtc = 2,
3296 Ioc = 3,
3297 Fok = 4,
3298 }
3299 impl Duration {
3300 pub fn as_str_name(&self) -> &'static str {
3305 match self {
3306 Self::Day => "DAY",
3307 Self::Gtc => "GTC",
3308 Self::Ioc => "IOC",
3309 Self::Fok => "FOK",
3310 }
3311 }
3312 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3314 match value {
3315 "DAY" => Some(Self::Day),
3316 "GTC" => Some(Self::Gtc),
3317 "IOC" => Some(Self::Ioc),
3318 "FOK" => Some(Self::Fok),
3319 _ => None,
3320 }
3321 }
3322 }
3323 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3324 #[repr(i32)]
3325 pub enum PriceType {
3326 Limit = 1,
3327 Market = 2,
3328 StopLimit = 3,
3329 StopMarket = 4,
3330 MarketIfTouched = 5,
3331 LimitIfTouched = 6,
3332 }
3333 impl PriceType {
3334 pub fn as_str_name(&self) -> &'static str {
3339 match self {
3340 Self::Limit => "LIMIT",
3341 Self::Market => "MARKET",
3342 Self::StopLimit => "STOP_LIMIT",
3343 Self::StopMarket => "STOP_MARKET",
3344 Self::MarketIfTouched => "MARKET_IF_TOUCHED",
3345 Self::LimitIfTouched => "LIMIT_IF_TOUCHED",
3346 }
3347 }
3348 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3350 match value {
3351 "LIMIT" => Some(Self::Limit),
3352 "MARKET" => Some(Self::Market),
3353 "STOP_LIMIT" => Some(Self::StopLimit),
3354 "STOP_MARKET" => Some(Self::StopMarket),
3355 "MARKET_IF_TOUCHED" => Some(Self::MarketIfTouched),
3356 "LIMIT_IF_TOUCHED" => Some(Self::LimitIfTouched),
3357 _ => None,
3358 }
3359 }
3360 }
3361 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3362 #[repr(i32)]
3363 pub enum PriceField {
3364 BidPrice = 1,
3365 OfferPrice = 2,
3366 TradePrice = 3,
3367 LeanPrice = 4,
3368 }
3369 impl PriceField {
3370 pub fn as_str_name(&self) -> &'static str {
3375 match self {
3376 Self::BidPrice => "BID_PRICE",
3377 Self::OfferPrice => "OFFER_PRICE",
3378 Self::TradePrice => "TRADE_PRICE",
3379 Self::LeanPrice => "LEAN_PRICE",
3380 }
3381 }
3382 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3384 match value {
3385 "BID_PRICE" => Some(Self::BidPrice),
3386 "OFFER_PRICE" => Some(Self::OfferPrice),
3387 "TRADE_PRICE" => Some(Self::TradePrice),
3388 "LEAN_PRICE" => Some(Self::LeanPrice),
3389 _ => None,
3390 }
3391 }
3392 }
3393 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3394 #[repr(i32)]
3395 pub enum Condition {
3396 EqualTo = 1,
3397 NotEqualTo = 2,
3398 GreaterThan = 3,
3399 GreaterThanEqualTo = 4,
3400 LesserThan = 5,
3401 LesserThanEqualTo = 6,
3402 }
3403 impl Condition {
3404 pub fn as_str_name(&self) -> &'static str {
3409 match self {
3410 Self::EqualTo => "EQUAL_TO",
3411 Self::NotEqualTo => "NOT_EQUAL_TO",
3412 Self::GreaterThan => "GREATER_THAN",
3413 Self::GreaterThanEqualTo => "GREATER_THAN_EQUAL_TO",
3414 Self::LesserThan => "LESSER_THAN",
3415 Self::LesserThanEqualTo => "LESSER_THAN_EQUAL_TO",
3416 }
3417 }
3418 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3420 match value {
3421 "EQUAL_TO" => Some(Self::EqualTo),
3422 "NOT_EQUAL_TO" => Some(Self::NotEqualTo),
3423 "GREATER_THAN" => Some(Self::GreaterThan),
3424 "GREATER_THAN_EQUAL_TO" => Some(Self::GreaterThanEqualTo),
3425 "LESSER_THAN" => Some(Self::LesserThan),
3426 "LESSER_THAN_EQUAL_TO" => Some(Self::LesserThanEqualTo),
3427 _ => None,
3428 }
3429 }
3430 }
3431}
3432#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3434pub struct ResponseNewOrder {
3435 #[prost(int32, required, tag = "154467")]
3437 pub template_id: i32,
3438 #[prost(string, repeated, tag = "132760")]
3440 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3441 #[prost(string, optional, tag = "154119")]
3443 pub user_tag: ::core::option::Option<::prost::alloc::string::String>,
3444 #[prost(string, repeated, tag = "132764")]
3446 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3447 #[prost(string, repeated, tag = "132766")]
3449 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3450 #[prost(string, optional, tag = "110300")]
3452 pub basket_id: ::core::option::Option<::prost::alloc::string::String>,
3453 #[prost(int32, optional, tag = "150100")]
3455 pub ssboe: ::core::option::Option<i32>,
3456 #[prost(int32, optional, tag = "150101")]
3458 pub usecs: ::core::option::Option<i32>,
3459}
3460#[derive(Clone, PartialEq, ::prost::Message)]
3461pub struct RequestModifyOrder {
3462 #[prost(int32, required, tag = "154467")]
3463 pub template_id: i32,
3464 #[prost(string, repeated, tag = "132760")]
3465 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3466 #[prost(string, optional, tag = "154629")]
3467 pub window_name: ::core::option::Option<::prost::alloc::string::String>,
3468 #[prost(string, optional, tag = "154013")]
3469 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
3470 #[prost(string, optional, tag = "154014")]
3471 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
3472 #[prost(string, optional, tag = "154008")]
3473 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
3474 #[prost(string, optional, tag = "110300")]
3475 pub basket_id: ::core::option::Option<::prost::alloc::string::String>,
3476 #[prost(string, optional, tag = "110100")]
3477 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
3478 #[prost(string, optional, tag = "110101")]
3479 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
3480 #[prost(int32, optional, tag = "112004")]
3481 pub quantity: ::core::option::Option<i32>,
3482 #[prost(double, optional, tag = "110306")]
3483 pub price: ::core::option::Option<f64>,
3484 #[prost(double, optional, tag = "149247")]
3485 pub trigger_price: ::core::option::Option<f64>,
3486 #[prost(
3487 enumeration = "request_modify_order::PriceType",
3488 optional,
3489 tag = "112008"
3490 )]
3491 pub price_type: ::core::option::Option<i32>,
3492 #[prost(
3493 enumeration = "request_modify_order::OrderPlacement",
3494 optional,
3495 tag = "154710"
3496 )]
3497 pub manual_or_auto: ::core::option::Option<i32>,
3498 #[prost(bool, optional, tag = "157063")]
3499 pub trailing_stop: ::core::option::Option<bool>,
3500 #[prost(int32, optional, tag = "157064")]
3501 pub trail_by_ticks: ::core::option::Option<i32>,
3502 #[prost(string, optional, tag = "154451")]
3503 pub if_touched_symbol: ::core::option::Option<::prost::alloc::string::String>,
3504 #[prost(string, optional, tag = "154452")]
3505 pub if_touched_exchange: ::core::option::Option<::prost::alloc::string::String>,
3506 #[prost(
3507 enumeration = "request_modify_order::Condition",
3508 optional,
3509 tag = "154453"
3510 )]
3511 pub if_touched_condition: ::core::option::Option<i32>,
3512 #[prost(
3513 enumeration = "request_modify_order::PriceField",
3514 optional,
3515 tag = "154454"
3516 )]
3517 pub if_touched_price_field: ::core::option::Option<i32>,
3518 #[prost(double, optional, tag = "153632")]
3519 pub if_touched_price: ::core::option::Option<f64>,
3520}
3521pub mod request_modify_order {
3523 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3524 #[repr(i32)]
3525 pub enum PriceType {
3526 Limit = 1,
3527 Market = 2,
3528 StopLimit = 3,
3529 StopMarket = 4,
3530 MarketIfTouched = 5,
3531 LimitIfTouched = 6,
3532 }
3533 impl PriceType {
3534 pub fn as_str_name(&self) -> &'static str {
3539 match self {
3540 Self::Limit => "LIMIT",
3541 Self::Market => "MARKET",
3542 Self::StopLimit => "STOP_LIMIT",
3543 Self::StopMarket => "STOP_MARKET",
3544 Self::MarketIfTouched => "MARKET_IF_TOUCHED",
3545 Self::LimitIfTouched => "LIMIT_IF_TOUCHED",
3546 }
3547 }
3548 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3550 match value {
3551 "LIMIT" => Some(Self::Limit),
3552 "MARKET" => Some(Self::Market),
3553 "STOP_LIMIT" => Some(Self::StopLimit),
3554 "STOP_MARKET" => Some(Self::StopMarket),
3555 "MARKET_IF_TOUCHED" => Some(Self::MarketIfTouched),
3556 "LIMIT_IF_TOUCHED" => Some(Self::LimitIfTouched),
3557 _ => None,
3558 }
3559 }
3560 }
3561 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3562 #[repr(i32)]
3563 pub enum PriceField {
3564 BidPrice = 1,
3565 OfferPrice = 2,
3566 TradePrice = 3,
3567 LeanPrice = 4,
3568 }
3569 impl PriceField {
3570 pub fn as_str_name(&self) -> &'static str {
3575 match self {
3576 Self::BidPrice => "BID_PRICE",
3577 Self::OfferPrice => "OFFER_PRICE",
3578 Self::TradePrice => "TRADE_PRICE",
3579 Self::LeanPrice => "LEAN_PRICE",
3580 }
3581 }
3582 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3584 match value {
3585 "BID_PRICE" => Some(Self::BidPrice),
3586 "OFFER_PRICE" => Some(Self::OfferPrice),
3587 "TRADE_PRICE" => Some(Self::TradePrice),
3588 "LEAN_PRICE" => Some(Self::LeanPrice),
3589 _ => None,
3590 }
3591 }
3592 }
3593 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3594 #[repr(i32)]
3595 pub enum Condition {
3596 EqualTo = 1,
3597 NotEqualTo = 2,
3598 GreaterThan = 3,
3599 GreaterThanEqualTo = 4,
3600 LesserThan = 5,
3601 LesserThanEqualTo = 6,
3602 }
3603 impl Condition {
3604 pub fn as_str_name(&self) -> &'static str {
3609 match self {
3610 Self::EqualTo => "EQUAL_TO",
3611 Self::NotEqualTo => "NOT_EQUAL_TO",
3612 Self::GreaterThan => "GREATER_THAN",
3613 Self::GreaterThanEqualTo => "GREATER_THAN_EQUAL_TO",
3614 Self::LesserThan => "LESSER_THAN",
3615 Self::LesserThanEqualTo => "LESSER_THAN_EQUAL_TO",
3616 }
3617 }
3618 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3620 match value {
3621 "EQUAL_TO" => Some(Self::EqualTo),
3622 "NOT_EQUAL_TO" => Some(Self::NotEqualTo),
3623 "GREATER_THAN" => Some(Self::GreaterThan),
3624 "GREATER_THAN_EQUAL_TO" => Some(Self::GreaterThanEqualTo),
3625 "LESSER_THAN" => Some(Self::LesserThan),
3626 "LESSER_THAN_EQUAL_TO" => Some(Self::LesserThanEqualTo),
3627 _ => None,
3628 }
3629 }
3630 }
3631 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3632 #[repr(i32)]
3633 pub enum OrderPlacement {
3634 Manual = 1,
3635 Auto = 2,
3636 }
3637 impl OrderPlacement {
3638 pub fn as_str_name(&self) -> &'static str {
3643 match self {
3644 Self::Manual => "MANUAL",
3645 Self::Auto => "AUTO",
3646 }
3647 }
3648 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3650 match value {
3651 "MANUAL" => Some(Self::Manual),
3652 "AUTO" => Some(Self::Auto),
3653 _ => None,
3654 }
3655 }
3656 }
3657}
3658#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3660pub struct ResponseModifyOrder {
3661 #[prost(int32, required, tag = "154467")]
3663 pub template_id: i32,
3664 #[prost(string, repeated, tag = "132760")]
3666 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3667 #[prost(string, repeated, tag = "132764")]
3669 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3670 #[prost(string, repeated, tag = "132766")]
3672 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3673 #[prost(string, optional, tag = "110300")]
3675 pub basket_id: ::core::option::Option<::prost::alloc::string::String>,
3676 #[prost(int32, optional, tag = "150100")]
3678 pub ssboe: ::core::option::Option<i32>,
3679 #[prost(int32, optional, tag = "150101")]
3681 pub usecs: ::core::option::Option<i32>,
3682}
3683#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3685pub struct RequestModifyOrderReferenceData {
3686 #[prost(int32, required, tag = "154467")]
3688 pub template_id: i32,
3689 #[prost(string, repeated, tag = "132760")]
3691 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3692 #[prost(string, optional, tag = "154119")]
3694 pub user_tag: ::core::option::Option<::prost::alloc::string::String>,
3695 #[prost(string, optional, tag = "154013")]
3697 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
3698 #[prost(string, optional, tag = "154014")]
3700 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
3701 #[prost(string, optional, tag = "154008")]
3703 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
3704 #[prost(string, optional, tag = "110300")]
3706 pub basket_id: ::core::option::Option<::prost::alloc::string::String>,
3707}
3708#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3710pub struct ResponseModifyOrderReferenceData {
3711 #[prost(int32, required, tag = "154467")]
3713 pub template_id: i32,
3714 #[prost(string, repeated, tag = "132760")]
3716 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3717 #[prost(string, repeated, tag = "132766")]
3719 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3720}
3721#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3722pub struct RequestCancelOrder {
3723 #[prost(int32, required, tag = "154467")]
3724 pub template_id: i32,
3725 #[prost(string, repeated, tag = "132760")]
3726 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3727 #[prost(string, optional, tag = "154629")]
3728 pub window_name: ::core::option::Option<::prost::alloc::string::String>,
3729 #[prost(string, optional, tag = "154013")]
3730 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
3731 #[prost(string, optional, tag = "154014")]
3732 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
3733 #[prost(string, optional, tag = "154008")]
3734 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
3735 #[prost(string, optional, tag = "110300")]
3736 pub basket_id: ::core::option::Option<::prost::alloc::string::String>,
3737 #[prost(
3738 enumeration = "request_cancel_order::OrderPlacement",
3739 optional,
3740 tag = "154710"
3741 )]
3742 pub manual_or_auto: ::core::option::Option<i32>,
3743}
3744pub mod request_cancel_order {
3746 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3747 #[repr(i32)]
3748 pub enum OrderPlacement {
3749 Manual = 1,
3750 Auto = 2,
3751 }
3752 impl OrderPlacement {
3753 pub fn as_str_name(&self) -> &'static str {
3758 match self {
3759 Self::Manual => "MANUAL",
3760 Self::Auto => "AUTO",
3761 }
3762 }
3763 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3765 match value {
3766 "MANUAL" => Some(Self::Manual),
3767 "AUTO" => Some(Self::Auto),
3768 _ => None,
3769 }
3770 }
3771 }
3772}
3773#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3775pub struct ResponseCancelOrder {
3776 #[prost(int32, required, tag = "154467")]
3778 pub template_id: i32,
3779 #[prost(string, repeated, tag = "132760")]
3781 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3782 #[prost(string, repeated, tag = "132764")]
3784 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3785 #[prost(string, repeated, tag = "132766")]
3787 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3788 #[prost(string, optional, tag = "110300")]
3790 pub basket_id: ::core::option::Option<::prost::alloc::string::String>,
3791 #[prost(int32, optional, tag = "150100")]
3793 pub ssboe: ::core::option::Option<i32>,
3794 #[prost(int32, optional, tag = "150101")]
3796 pub usecs: ::core::option::Option<i32>,
3797}
3798#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3800pub struct RequestCancelAllOrders {
3801 #[prost(int32, required, tag = "154467")]
3803 pub template_id: i32,
3804 #[prost(string, repeated, tag = "132760")]
3806 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3807 #[prost(string, optional, tag = "154013")]
3809 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
3810 #[prost(string, optional, tag = "154014")]
3812 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
3813 #[prost(string, optional, tag = "154008")]
3815 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
3816 #[prost(
3818 enumeration = "request_cancel_all_orders::UserType",
3819 optional,
3820 tag = "154036"
3821 )]
3822 pub user_type: ::core::option::Option<i32>,
3823 #[prost(
3825 enumeration = "request_cancel_all_orders::OrderPlacement",
3826 optional,
3827 tag = "154710"
3828 )]
3829 pub manual_or_auto: ::core::option::Option<i32>,
3830}
3831pub mod request_cancel_all_orders {
3833 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3834 #[repr(i32)]
3835 pub enum OrderPlacement {
3836 Manual = 1,
3837 Auto = 2,
3838 }
3839 impl OrderPlacement {
3840 pub fn as_str_name(&self) -> &'static str {
3845 match self {
3846 Self::Manual => "MANUAL",
3847 Self::Auto => "AUTO",
3848 }
3849 }
3850 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3852 match value {
3853 "MANUAL" => Some(Self::Manual),
3854 "AUTO" => Some(Self::Auto),
3855 _ => None,
3856 }
3857 }
3858 }
3859 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3860 #[repr(i32)]
3861 pub enum UserType {
3862 Admin = 0,
3863 Fcm = 1,
3864 Ib = 2,
3865 Trader = 3,
3866 }
3867 impl UserType {
3868 pub fn as_str_name(&self) -> &'static str {
3873 match self {
3874 Self::Admin => "USER_TYPE_ADMIN",
3875 Self::Fcm => "USER_TYPE_FCM",
3876 Self::Ib => "USER_TYPE_IB",
3877 Self::Trader => "USER_TYPE_TRADER",
3878 }
3879 }
3880 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3882 match value {
3883 "USER_TYPE_ADMIN" => Some(Self::Admin),
3884 "USER_TYPE_FCM" => Some(Self::Fcm),
3885 "USER_TYPE_IB" => Some(Self::Ib),
3886 "USER_TYPE_TRADER" => Some(Self::Trader),
3887 _ => None,
3888 }
3889 }
3890 }
3891}
3892#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3894pub struct ResponseCancelAllOrders {
3895 #[prost(int32, required, tag = "154467")]
3897 pub template_id: i32,
3898 #[prost(string, repeated, tag = "132760")]
3900 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3901 #[prost(string, repeated, tag = "132766")]
3903 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3904}
3905#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3907pub struct RequestShowOrders {
3908 #[prost(int32, required, tag = "154467")]
3910 pub template_id: i32,
3911 #[prost(string, repeated, tag = "132760")]
3913 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3914 #[prost(string, optional, tag = "154013")]
3916 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
3917 #[prost(string, optional, tag = "154014")]
3919 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
3920 #[prost(string, optional, tag = "154008")]
3922 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
3923}
3924#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3926pub struct ResponseShowOrders {
3927 #[prost(int32, required, tag = "154467")]
3929 pub template_id: i32,
3930 #[prost(string, repeated, tag = "132760")]
3932 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3933 #[prost(string, repeated, tag = "132766")]
3935 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3936}
3937#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3939pub struct RequestShowOrderHistory {
3940 #[prost(int32, required, tag = "154467")]
3942 pub template_id: i32,
3943 #[prost(string, repeated, tag = "132760")]
3945 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3946 #[prost(string, optional, tag = "154013")]
3948 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
3949 #[prost(string, optional, tag = "154014")]
3951 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
3952 #[prost(string, optional, tag = "154008")]
3954 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
3955 #[prost(string, optional, tag = "110300")]
3957 pub basket_id: ::core::option::Option<::prost::alloc::string::String>,
3958}
3959#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3961pub struct ResponseShowOrderHistory {
3962 #[prost(int32, required, tag = "154467")]
3964 pub template_id: i32,
3965 #[prost(string, repeated, tag = "132760")]
3967 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3968 #[prost(string, repeated, tag = "132766")]
3970 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3971}
3972#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3974pub struct RequestShowOrderHistorySummary {
3975 #[prost(int32, required, tag = "154467")]
3977 pub template_id: i32,
3978 #[prost(string, repeated, tag = "132760")]
3980 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3981 #[prost(string, optional, tag = "154013")]
3983 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
3984 #[prost(string, optional, tag = "154014")]
3986 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
3987 #[prost(string, optional, tag = "154008")]
3989 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
3990 #[prost(string, optional, tag = "110615")]
3992 pub date: ::core::option::Option<::prost::alloc::string::String>,
3993}
3994#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3996pub struct ResponseShowOrderHistorySummary {
3997 #[prost(int32, required, tag = "154467")]
3999 pub template_id: i32,
4000 #[prost(string, repeated, tag = "132760")]
4002 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4003 #[prost(string, repeated, tag = "132766")]
4005 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4006}
4007#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4009pub struct RequestShowOrderHistoryDetail {
4010 #[prost(int32, required, tag = "154467")]
4012 pub template_id: i32,
4013 #[prost(string, repeated, tag = "132760")]
4015 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4016 #[prost(string, optional, tag = "154013")]
4018 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
4019 #[prost(string, optional, tag = "154014")]
4021 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
4022 #[prost(string, optional, tag = "154008")]
4024 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
4025 #[prost(string, optional, tag = "110300")]
4027 pub basket_id: ::core::option::Option<::prost::alloc::string::String>,
4028 #[prost(string, optional, tag = "110615")]
4030 pub date: ::core::option::Option<::prost::alloc::string::String>,
4031}
4032#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4034pub struct ResponseShowOrderHistoryDetail {
4035 #[prost(int32, required, tag = "154467")]
4037 pub template_id: i32,
4038 #[prost(string, repeated, tag = "132760")]
4040 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4041 #[prost(string, repeated, tag = "132766")]
4043 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4044}
4045#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4047pub struct RequestShowOrderHistoryDates {
4048 #[prost(int32, required, tag = "154467")]
4050 pub template_id: i32,
4051 #[prost(string, repeated, tag = "132760")]
4053 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4054}
4055#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4057pub struct ResponseShowOrderHistoryDates {
4058 #[prost(int32, required, tag = "154467")]
4060 pub template_id: i32,
4061 #[prost(string, repeated, tag = "132760")]
4063 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4064 #[prost(string, repeated, tag = "132764")]
4066 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4067 #[prost(string, repeated, tag = "132766")]
4069 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4070 #[prost(string, repeated, tag = "110615")]
4072 pub date: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4073}
4074#[derive(Clone, PartialEq, ::prost::Message)]
4075pub struct RequestOcoOrder {
4076 #[prost(int32, required, tag = "154467")]
4077 pub template_id: i32,
4078 #[prost(string, repeated, tag = "132760")]
4079 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4080 #[prost(string, repeated, tag = "154119")]
4081 pub user_tag: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4082 #[prost(string, repeated, tag = "154629")]
4083 pub window_name: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4084 #[prost(string, optional, tag = "154013")]
4085 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
4086 #[prost(string, optional, tag = "154014")]
4087 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
4088 #[prost(string, optional, tag = "154008")]
4089 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
4090 #[prost(string, repeated, tag = "110100")]
4091 pub symbol: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4092 #[prost(string, repeated, tag = "110101")]
4093 pub exchange: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4094 #[prost(int32, repeated, packed = "false", tag = "112004")]
4095 pub quantity: ::prost::alloc::vec::Vec<i32>,
4096 #[prost(double, repeated, packed = "false", tag = "110306")]
4097 pub price: ::prost::alloc::vec::Vec<f64>,
4098 #[prost(double, repeated, packed = "false", tag = "149247")]
4099 pub trigger_price: ::prost::alloc::vec::Vec<f64>,
4100 #[prost(
4101 enumeration = "request_oco_order::TransactionType",
4102 repeated,
4103 packed = "false",
4104 tag = "112003"
4105 )]
4106 pub transaction_type: ::prost::alloc::vec::Vec<i32>,
4107 #[prost(
4108 enumeration = "request_oco_order::Duration",
4109 repeated,
4110 packed = "false",
4111 tag = "112005"
4112 )]
4113 pub duration: ::prost::alloc::vec::Vec<i32>,
4114 #[prost(
4115 enumeration = "request_oco_order::PriceType",
4116 repeated,
4117 packed = "false",
4118 tag = "112008"
4119 )]
4120 pub price_type: ::prost::alloc::vec::Vec<i32>,
4121 #[prost(string, repeated, tag = "112016")]
4122 pub trade_route: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4123 #[prost(
4124 enumeration = "request_oco_order::OrderPlacement",
4125 repeated,
4126 packed = "false",
4127 tag = "154710"
4128 )]
4129 pub manual_or_auto: ::prost::alloc::vec::Vec<i32>,
4130 #[prost(bool, repeated, packed = "false", tag = "157063")]
4131 pub trailing_stop: ::prost::alloc::vec::Vec<bool>,
4132 #[prost(int32, repeated, packed = "false", tag = "157064")]
4133 pub trail_by_ticks: ::prost::alloc::vec::Vec<i32>,
4134 #[prost(int32, repeated, packed = "false", tag = "157065")]
4135 pub trail_by_price_id: ::prost::alloc::vec::Vec<i32>,
4136 #[prost(int32, optional, tag = "157085")]
4137 pub cancel_at_ssboe: ::core::option::Option<i32>,
4138 #[prost(int32, optional, tag = "157086")]
4139 pub cancel_at_usecs: ::core::option::Option<i32>,
4140 #[prost(int32, optional, tag = "154488")]
4141 pub cancel_after_secs: ::core::option::Option<i32>,
4142}
4143pub mod request_oco_order {
4145 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4146 #[repr(i32)]
4147 pub enum TransactionType {
4148 Buy = 1,
4149 Sell = 2,
4150 }
4151 impl TransactionType {
4152 pub fn as_str_name(&self) -> &'static str {
4157 match self {
4158 Self::Buy => "BUY",
4159 Self::Sell => "SELL",
4160 }
4161 }
4162 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4164 match value {
4165 "BUY" => Some(Self::Buy),
4166 "SELL" => Some(Self::Sell),
4167 _ => None,
4168 }
4169 }
4170 }
4171 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4172 #[repr(i32)]
4173 pub enum Duration {
4174 Day = 1,
4175 Gtc = 2,
4176 Ioc = 3,
4177 Fok = 4,
4178 }
4179 impl Duration {
4180 pub fn as_str_name(&self) -> &'static str {
4185 match self {
4186 Self::Day => "DAY",
4187 Self::Gtc => "GTC",
4188 Self::Ioc => "IOC",
4189 Self::Fok => "FOK",
4190 }
4191 }
4192 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4194 match value {
4195 "DAY" => Some(Self::Day),
4196 "GTC" => Some(Self::Gtc),
4197 "IOC" => Some(Self::Ioc),
4198 "FOK" => Some(Self::Fok),
4199 _ => None,
4200 }
4201 }
4202 }
4203 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4204 #[repr(i32)]
4205 pub enum PriceType {
4206 Limit = 1,
4207 Market = 2,
4208 StopLimit = 3,
4209 StopMarket = 4,
4210 }
4211 impl PriceType {
4212 pub fn as_str_name(&self) -> &'static str {
4217 match self {
4218 Self::Limit => "LIMIT",
4219 Self::Market => "MARKET",
4220 Self::StopLimit => "STOP_LIMIT",
4221 Self::StopMarket => "STOP_MARKET",
4222 }
4223 }
4224 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4226 match value {
4227 "LIMIT" => Some(Self::Limit),
4228 "MARKET" => Some(Self::Market),
4229 "STOP_LIMIT" => Some(Self::StopLimit),
4230 "STOP_MARKET" => Some(Self::StopMarket),
4231 _ => None,
4232 }
4233 }
4234 }
4235 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4236 #[repr(i32)]
4237 pub enum OrderPlacement {
4238 Manual = 1,
4239 Auto = 2,
4240 }
4241 impl OrderPlacement {
4242 pub fn as_str_name(&self) -> &'static str {
4247 match self {
4248 Self::Manual => "MANUAL",
4249 Self::Auto => "AUTO",
4250 }
4251 }
4252 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4254 match value {
4255 "MANUAL" => Some(Self::Manual),
4256 "AUTO" => Some(Self::Auto),
4257 _ => None,
4258 }
4259 }
4260 }
4261}
4262#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4264pub struct ResponseOcoOrder {
4265 #[prost(int32, required, tag = "154467")]
4267 pub template_id: i32,
4268 #[prost(string, repeated, tag = "132760")]
4270 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4271 #[prost(string, repeated, tag = "154119")]
4273 pub user_tag: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4274 #[prost(string, repeated, tag = "132764")]
4276 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4277 #[prost(string, repeated, tag = "132766")]
4279 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4280 #[prost(string, repeated, tag = "110300")]
4282 pub basket_id: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4283 #[prost(int32, repeated, packed = "false", tag = "150100")]
4285 pub ssboe: ::prost::alloc::vec::Vec<i32>,
4286 #[prost(int32, repeated, packed = "false", tag = "150101")]
4288 pub usecs: ::prost::alloc::vec::Vec<i32>,
4289}
4290#[derive(Clone, PartialEq, ::prost::Message)]
4291pub struct RequestBracketOrder {
4292 #[prost(int32, required, tag = "154467")]
4293 pub template_id: i32,
4294 #[prost(string, repeated, tag = "132760")]
4295 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4296 #[prost(string, optional, tag = "154119")]
4297 pub user_tag: ::core::option::Option<::prost::alloc::string::String>,
4298 #[prost(string, optional, tag = "154629")]
4299 pub window_name: ::core::option::Option<::prost::alloc::string::String>,
4300 #[prost(string, optional, tag = "154013")]
4301 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
4302 #[prost(string, optional, tag = "154014")]
4303 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
4304 #[prost(string, optional, tag = "154008")]
4305 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
4306 #[prost(string, optional, tag = "110100")]
4307 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
4308 #[prost(string, optional, tag = "110101")]
4309 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
4310 #[prost(int32, optional, tag = "112004")]
4311 pub quantity: ::core::option::Option<i32>,
4312 #[prost(double, optional, tag = "110306")]
4313 pub price: ::core::option::Option<f64>,
4314 #[prost(double, optional, tag = "149247")]
4315 pub trigger_price: ::core::option::Option<f64>,
4316 #[prost(
4317 enumeration = "request_bracket_order::TransactionType",
4318 optional,
4319 tag = "112003"
4320 )]
4321 pub transaction_type: ::core::option::Option<i32>,
4322 #[prost(
4323 enumeration = "request_bracket_order::Duration",
4324 optional,
4325 tag = "112005"
4326 )]
4327 pub duration: ::core::option::Option<i32>,
4328 #[prost(
4329 enumeration = "request_bracket_order::PriceType",
4330 optional,
4331 tag = "112008"
4332 )]
4333 pub price_type: ::core::option::Option<i32>,
4334 #[prost(string, optional, tag = "112016")]
4335 pub trade_route: ::core::option::Option<::prost::alloc::string::String>,
4336 #[prost(
4337 enumeration = "request_bracket_order::OrderPlacement",
4338 optional,
4339 tag = "154710"
4340 )]
4341 pub manual_or_auto: ::core::option::Option<i32>,
4342 #[prost(
4343 enumeration = "request_bracket_order::UserType",
4344 optional,
4345 tag = "154036"
4346 )]
4347 pub user_type: ::core::option::Option<i32>,
4348 #[prost(
4349 enumeration = "request_bracket_order::BracketType",
4350 optional,
4351 tag = "157087"
4352 )]
4353 pub bracket_type: ::core::option::Option<i32>,
4354 #[prost(int32, optional, tag = "157170")]
4355 pub break_even_ticks: ::core::option::Option<i32>,
4356 #[prost(int32, optional, tag = "157172")]
4357 pub break_even_trigger_ticks: ::core::option::Option<i32>,
4358 #[prost(int32, repeated, packed = "false", tag = "154457")]
4359 pub target_quantity: ::prost::alloc::vec::Vec<i32>,
4360 #[prost(int32, repeated, packed = "false", tag = "154456")]
4361 pub target_ticks: ::prost::alloc::vec::Vec<i32>,
4362 #[prost(int32, repeated, packed = "false", tag = "154459")]
4363 pub stop_quantity: ::prost::alloc::vec::Vec<i32>,
4364 #[prost(int32, repeated, packed = "false", tag = "154458")]
4365 pub stop_ticks: ::prost::alloc::vec::Vec<i32>,
4366 #[prost(int32, optional, tag = "157124")]
4367 pub trailing_stop_trigger_ticks: ::core::option::Option<i32>,
4368 #[prost(bool, optional, tag = "157062")]
4369 pub trailing_stop_by_last_trade_price: ::core::option::Option<bool>,
4370 #[prost(bool, optional, tag = "157151")]
4371 pub target_market_order_if_touched: ::core::option::Option<bool>,
4372 #[prost(bool, optional, tag = "154857")]
4373 pub stop_market_on_reject: ::core::option::Option<bool>,
4374 #[prost(int32, optional, tag = "157145")]
4375 pub target_market_at_ssboe: ::core::option::Option<i32>,
4376 #[prost(int32, optional, tag = "157146")]
4377 pub target_market_at_usecs: ::core::option::Option<i32>,
4378 #[prost(int32, optional, tag = "157147")]
4379 pub stop_market_at_ssboe: ::core::option::Option<i32>,
4380 #[prost(int32, optional, tag = "157148")]
4381 pub stop_market_at_usecs: ::core::option::Option<i32>,
4382 #[prost(int32, optional, tag = "157149")]
4383 pub target_market_order_after_secs: ::core::option::Option<i32>,
4384 #[prost(int32, optional, tag = "154487")]
4385 pub release_at_ssboe: ::core::option::Option<i32>,
4386 #[prost(int32, optional, tag = "154549")]
4387 pub release_at_usecs: ::core::option::Option<i32>,
4388 #[prost(int32, optional, tag = "157085")]
4389 pub cancel_at_ssboe: ::core::option::Option<i32>,
4390 #[prost(int32, optional, tag = "157086")]
4391 pub cancel_at_usecs: ::core::option::Option<i32>,
4392 #[prost(int32, optional, tag = "154488")]
4393 pub cancel_after_secs: ::core::option::Option<i32>,
4394 #[prost(string, optional, tag = "154451")]
4395 pub if_touched_symbol: ::core::option::Option<::prost::alloc::string::String>,
4396 #[prost(string, optional, tag = "154452")]
4397 pub if_touched_exchange: ::core::option::Option<::prost::alloc::string::String>,
4398 #[prost(
4399 enumeration = "request_bracket_order::Condition",
4400 optional,
4401 tag = "154453"
4402 )]
4403 pub if_touched_condition: ::core::option::Option<i32>,
4404 #[prost(
4405 enumeration = "request_bracket_order::PriceField",
4406 optional,
4407 tag = "154454"
4408 )]
4409 pub if_touched_price_field: ::core::option::Option<i32>,
4410 #[prost(double, optional, tag = "153632")]
4411 pub if_touched_price: ::core::option::Option<f64>,
4412}
4413pub mod request_bracket_order {
4415 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4416 #[repr(i32)]
4417 pub enum UserType {
4418 Admin = 0,
4419 Fcm = 1,
4420 Ib = 2,
4421 Trader = 3,
4422 }
4423 impl UserType {
4424 pub fn as_str_name(&self) -> &'static str {
4429 match self {
4430 Self::Admin => "USER_TYPE_ADMIN",
4431 Self::Fcm => "USER_TYPE_FCM",
4432 Self::Ib => "USER_TYPE_IB",
4433 Self::Trader => "USER_TYPE_TRADER",
4434 }
4435 }
4436 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4438 match value {
4439 "USER_TYPE_ADMIN" => Some(Self::Admin),
4440 "USER_TYPE_FCM" => Some(Self::Fcm),
4441 "USER_TYPE_IB" => Some(Self::Ib),
4442 "USER_TYPE_TRADER" => Some(Self::Trader),
4443 _ => None,
4444 }
4445 }
4446 }
4447 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4448 #[repr(i32)]
4449 pub enum BracketType {
4450 StopOnly = 1,
4451 TargetOnly = 2,
4452 TargetAndStop = 3,
4453 StopOnlyStatic = 4,
4454 TargetOnlyStatic = 5,
4455 TargetAndStopStatic = 6,
4456 }
4457 impl BracketType {
4458 pub fn as_str_name(&self) -> &'static str {
4463 match self {
4464 Self::StopOnly => "STOP_ONLY",
4465 Self::TargetOnly => "TARGET_ONLY",
4466 Self::TargetAndStop => "TARGET_AND_STOP",
4467 Self::StopOnlyStatic => "STOP_ONLY_STATIC",
4468 Self::TargetOnlyStatic => "TARGET_ONLY_STATIC",
4469 Self::TargetAndStopStatic => "TARGET_AND_STOP_STATIC",
4470 }
4471 }
4472 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4474 match value {
4475 "STOP_ONLY" => Some(Self::StopOnly),
4476 "TARGET_ONLY" => Some(Self::TargetOnly),
4477 "TARGET_AND_STOP" => Some(Self::TargetAndStop),
4478 "STOP_ONLY_STATIC" => Some(Self::StopOnlyStatic),
4479 "TARGET_ONLY_STATIC" => Some(Self::TargetOnlyStatic),
4480 "TARGET_AND_STOP_STATIC" => Some(Self::TargetAndStopStatic),
4481 _ => None,
4482 }
4483 }
4484 }
4485 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4486 #[repr(i32)]
4487 pub enum TransactionType {
4488 Buy = 1,
4489 Sell = 2,
4490 }
4491 impl TransactionType {
4492 pub fn as_str_name(&self) -> &'static str {
4497 match self {
4498 Self::Buy => "BUY",
4499 Self::Sell => "SELL",
4500 }
4501 }
4502 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4504 match value {
4505 "BUY" => Some(Self::Buy),
4506 "SELL" => Some(Self::Sell),
4507 _ => None,
4508 }
4509 }
4510 }
4511 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4512 #[repr(i32)]
4513 pub enum Duration {
4514 Day = 1,
4515 Gtc = 2,
4516 Ioc = 3,
4517 Fok = 4,
4518 }
4519 impl Duration {
4520 pub fn as_str_name(&self) -> &'static str {
4525 match self {
4526 Self::Day => "DAY",
4527 Self::Gtc => "GTC",
4528 Self::Ioc => "IOC",
4529 Self::Fok => "FOK",
4530 }
4531 }
4532 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4534 match value {
4535 "DAY" => Some(Self::Day),
4536 "GTC" => Some(Self::Gtc),
4537 "IOC" => Some(Self::Ioc),
4538 "FOK" => Some(Self::Fok),
4539 _ => None,
4540 }
4541 }
4542 }
4543 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4544 #[repr(i32)]
4545 pub enum PriceType {
4546 Limit = 1,
4547 Market = 2,
4548 StopLimit = 3,
4549 StopMarket = 4,
4550 MarketIfTouched = 5,
4551 LimitIfTouched = 6,
4552 }
4553 impl PriceType {
4554 pub fn as_str_name(&self) -> &'static str {
4559 match self {
4560 Self::Limit => "LIMIT",
4561 Self::Market => "MARKET",
4562 Self::StopLimit => "STOP_LIMIT",
4563 Self::StopMarket => "STOP_MARKET",
4564 Self::MarketIfTouched => "MARKET_IF_TOUCHED",
4565 Self::LimitIfTouched => "LIMIT_IF_TOUCHED",
4566 }
4567 }
4568 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4570 match value {
4571 "LIMIT" => Some(Self::Limit),
4572 "MARKET" => Some(Self::Market),
4573 "STOP_LIMIT" => Some(Self::StopLimit),
4574 "STOP_MARKET" => Some(Self::StopMarket),
4575 "MARKET_IF_TOUCHED" => Some(Self::MarketIfTouched),
4576 "LIMIT_IF_TOUCHED" => Some(Self::LimitIfTouched),
4577 _ => None,
4578 }
4579 }
4580 }
4581 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4582 #[repr(i32)]
4583 pub enum OrderPlacement {
4584 Manual = 1,
4585 Auto = 2,
4586 }
4587 impl OrderPlacement {
4588 pub fn as_str_name(&self) -> &'static str {
4593 match self {
4594 Self::Manual => "MANUAL",
4595 Self::Auto => "AUTO",
4596 }
4597 }
4598 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4600 match value {
4601 "MANUAL" => Some(Self::Manual),
4602 "AUTO" => Some(Self::Auto),
4603 _ => None,
4604 }
4605 }
4606 }
4607 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4608 #[repr(i32)]
4609 pub enum PriceField {
4610 BidPrice = 1,
4611 OfferPrice = 2,
4612 TradePrice = 3,
4613 LeanPrice = 4,
4614 }
4615 impl PriceField {
4616 pub fn as_str_name(&self) -> &'static str {
4621 match self {
4622 Self::BidPrice => "BID_PRICE",
4623 Self::OfferPrice => "OFFER_PRICE",
4624 Self::TradePrice => "TRADE_PRICE",
4625 Self::LeanPrice => "LEAN_PRICE",
4626 }
4627 }
4628 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4630 match value {
4631 "BID_PRICE" => Some(Self::BidPrice),
4632 "OFFER_PRICE" => Some(Self::OfferPrice),
4633 "TRADE_PRICE" => Some(Self::TradePrice),
4634 "LEAN_PRICE" => Some(Self::LeanPrice),
4635 _ => None,
4636 }
4637 }
4638 }
4639 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4640 #[repr(i32)]
4641 pub enum Condition {
4642 EqualTo = 1,
4643 NotEqualTo = 2,
4644 GreaterThan = 3,
4645 GreaterThanEqualTo = 4,
4646 LesserThan = 5,
4647 LesserThanEqualTo = 6,
4648 }
4649 impl Condition {
4650 pub fn as_str_name(&self) -> &'static str {
4655 match self {
4656 Self::EqualTo => "EQUAL_TO",
4657 Self::NotEqualTo => "NOT_EQUAL_TO",
4658 Self::GreaterThan => "GREATER_THAN",
4659 Self::GreaterThanEqualTo => "GREATER_THAN_EQUAL_TO",
4660 Self::LesserThan => "LESSER_THAN",
4661 Self::LesserThanEqualTo => "LESSER_THAN_EQUAL_TO",
4662 }
4663 }
4664 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4666 match value {
4667 "EQUAL_TO" => Some(Self::EqualTo),
4668 "NOT_EQUAL_TO" => Some(Self::NotEqualTo),
4669 "GREATER_THAN" => Some(Self::GreaterThan),
4670 "GREATER_THAN_EQUAL_TO" => Some(Self::GreaterThanEqualTo),
4671 "LESSER_THAN" => Some(Self::LesserThan),
4672 "LESSER_THAN_EQUAL_TO" => Some(Self::LesserThanEqualTo),
4673 _ => None,
4674 }
4675 }
4676 }
4677}
4678#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4680pub struct ResponseBracketOrder {
4681 #[prost(int32, required, tag = "154467")]
4683 pub template_id: i32,
4684 #[prost(string, repeated, tag = "132760")]
4686 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4687 #[prost(string, optional, tag = "154119")]
4689 pub user_tag: ::core::option::Option<::prost::alloc::string::String>,
4690 #[prost(string, repeated, tag = "132764")]
4692 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4693 #[prost(string, repeated, tag = "132766")]
4695 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4696 #[prost(string, optional, tag = "110300")]
4698 pub basket_id: ::core::option::Option<::prost::alloc::string::String>,
4699 #[prost(int32, optional, tag = "150100")]
4701 pub ssboe: ::core::option::Option<i32>,
4702 #[prost(int32, optional, tag = "150101")]
4704 pub usecs: ::core::option::Option<i32>,
4705}
4706#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4708pub struct RequestShowBrackets {
4709 #[prost(int32, required, tag = "154467")]
4711 pub template_id: i32,
4712 #[prost(string, repeated, tag = "132760")]
4714 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4715 #[prost(string, optional, tag = "154013")]
4717 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
4718 #[prost(string, optional, tag = "154014")]
4720 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
4721 #[prost(string, optional, tag = "154008")]
4723 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
4724}
4725#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4727pub struct ResponseShowBrackets {
4728 #[prost(int32, required, tag = "154467")]
4730 pub template_id: i32,
4731 #[prost(string, repeated, tag = "132760")]
4733 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4734 #[prost(string, repeated, tag = "132764")]
4736 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4737 #[prost(string, repeated, tag = "132766")]
4739 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4740 #[prost(string, optional, tag = "110300")]
4742 pub basket_id: ::core::option::Option<::prost::alloc::string::String>,
4743 #[prost(string, optional, tag = "154457")]
4745 pub target_quantity: ::core::option::Option<::prost::alloc::string::String>,
4746 #[prost(string, optional, tag = "154460")]
4748 pub target_quantity_released: ::core::option::Option<::prost::alloc::string::String>,
4749 #[prost(string, optional, tag = "154456")]
4751 pub target_ticks: ::core::option::Option<::prost::alloc::string::String>,
4752}
4753#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4755pub struct RequestShowBracketStops {
4756 #[prost(int32, required, tag = "154467")]
4758 pub template_id: i32,
4759 #[prost(string, repeated, tag = "132760")]
4761 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4762 #[prost(string, optional, tag = "154013")]
4764 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
4765 #[prost(string, optional, tag = "154014")]
4767 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
4768 #[prost(string, optional, tag = "154008")]
4770 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
4771}
4772#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4774pub struct ResponseShowBracketStops {
4775 #[prost(int32, required, tag = "154467")]
4777 pub template_id: i32,
4778 #[prost(string, repeated, tag = "132760")]
4780 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4781 #[prost(string, repeated, tag = "132764")]
4783 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4784 #[prost(string, repeated, tag = "132766")]
4786 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4787 #[prost(string, optional, tag = "110300")]
4789 pub basket_id: ::core::option::Option<::prost::alloc::string::String>,
4790 #[prost(string, optional, tag = "154459")]
4792 pub stop_quantity: ::core::option::Option<::prost::alloc::string::String>,
4793 #[prost(string, optional, tag = "154466")]
4795 pub stop_quantity_released: ::core::option::Option<::prost::alloc::string::String>,
4796 #[prost(string, optional, tag = "154458")]
4798 pub stop_ticks: ::core::option::Option<::prost::alloc::string::String>,
4799 #[prost(string, optional, tag = "157062")]
4801 pub bracket_trailing_field_id: ::core::option::Option<::prost::alloc::string::String>,
4802 #[prost(string, optional, tag = "157124")]
4804 pub trailing_stop_trigger_ticks: ::core::option::Option<::prost::alloc::string::String>,
4805}
4806#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4808pub struct RequestUpdateTargetBracketLevel {
4809 #[prost(int32, required, tag = "154467")]
4811 pub template_id: i32,
4812 #[prost(string, repeated, tag = "132760")]
4814 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4815 #[prost(string, optional, tag = "154013")]
4817 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
4818 #[prost(string, optional, tag = "154014")]
4820 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
4821 #[prost(string, optional, tag = "154008")]
4823 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
4824 #[prost(string, optional, tag = "110300")]
4826 pub basket_id: ::core::option::Option<::prost::alloc::string::String>,
4827 #[prost(int32, optional, tag = "154244")]
4829 pub level: ::core::option::Option<i32>,
4830 #[prost(int32, optional, tag = "154456")]
4832 pub target_ticks: ::core::option::Option<i32>,
4833}
4834#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4836pub struct ResponseUpdateTargetBracketLevel {
4837 #[prost(int32, required, tag = "154467")]
4839 pub template_id: i32,
4840 #[prost(string, repeated, tag = "132760")]
4842 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4843 #[prost(string, repeated, tag = "132766")]
4845 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4846}
4847#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4849pub struct RequestUpdateStopBracketLevel {
4850 #[prost(int32, required, tag = "154467")]
4852 pub template_id: i32,
4853 #[prost(string, repeated, tag = "132760")]
4855 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4856 #[prost(string, optional, tag = "154013")]
4858 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
4859 #[prost(string, optional, tag = "154014")]
4861 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
4862 #[prost(string, optional, tag = "154008")]
4864 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
4865 #[prost(string, optional, tag = "110300")]
4867 pub basket_id: ::core::option::Option<::prost::alloc::string::String>,
4868 #[prost(int32, optional, tag = "154244")]
4870 pub level: ::core::option::Option<i32>,
4871 #[prost(int32, optional, tag = "154458")]
4873 pub stop_ticks: ::core::option::Option<i32>,
4874}
4875#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4877pub struct ResponseUpdateStopBracketLevel {
4878 #[prost(int32, required, tag = "154467")]
4880 pub template_id: i32,
4881 #[prost(string, repeated, tag = "132760")]
4883 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4884 #[prost(string, repeated, tag = "132766")]
4886 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4887}
4888#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4890pub struct RequestSubscribeToBracketUpdates {
4891 #[prost(int32, required, tag = "154467")]
4893 pub template_id: i32,
4894 #[prost(string, repeated, tag = "132760")]
4896 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4897 #[prost(string, optional, tag = "154013")]
4899 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
4900 #[prost(string, optional, tag = "154014")]
4902 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
4903 #[prost(string, optional, tag = "154008")]
4905 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
4906}
4907#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4909pub struct ResponseSubscribeToBracketUpdates {
4910 #[prost(int32, required, tag = "154467")]
4912 pub template_id: i32,
4913 #[prost(string, repeated, tag = "132760")]
4915 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4916 #[prost(string, repeated, tag = "132766")]
4918 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4919}
4920#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4922pub struct RequestListExchangePermissions {
4923 #[prost(int32, required, tag = "154467")]
4925 pub template_id: i32,
4926 #[prost(string, repeated, tag = "132760")]
4928 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4929 #[prost(string, optional, tag = "154220")]
4931 pub user: ::core::option::Option<::prost::alloc::string::String>,
4932}
4933#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4935pub struct ResponseListExchangePermissions {
4936 #[prost(int32, required, tag = "154467")]
4938 pub template_id: i32,
4939 #[prost(string, repeated, tag = "132760")]
4941 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4942 #[prost(string, repeated, tag = "132764")]
4944 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4945 #[prost(string, repeated, tag = "132766")]
4947 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4948 #[prost(string, optional, tag = "110101")]
4950 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
4951 #[prost(
4953 enumeration = "response_list_exchange_permissions::EntitlementFlag",
4954 optional,
4955 tag = "153400"
4956 )]
4957 pub entitlement_flag: ::core::option::Option<i32>,
4958}
4959pub mod response_list_exchange_permissions {
4961 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4962 #[repr(i32)]
4963 pub enum EntitlementFlag {
4964 Enabled = 1,
4965 Disabled = 2,
4966 }
4967 impl EntitlementFlag {
4968 pub fn as_str_name(&self) -> &'static str {
4973 match self {
4974 Self::Enabled => "ENABLED",
4975 Self::Disabled => "DISABLED",
4976 }
4977 }
4978 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4980 match value {
4981 "ENABLED" => Some(Self::Enabled),
4982 "DISABLED" => Some(Self::Disabled),
4983 _ => None,
4984 }
4985 }
4986 }
4987}
4988#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4990pub struct RequestLinkOrders {
4991 #[prost(int32, required, tag = "154467")]
4993 pub template_id: i32,
4994 #[prost(string, repeated, tag = "132760")]
4996 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4997 #[prost(string, repeated, tag = "154013")]
4999 pub fcm_id: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5000 #[prost(string, repeated, tag = "154014")]
5002 pub ib_id: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5003 #[prost(string, repeated, tag = "154008")]
5005 pub account_id: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5006 #[prost(string, repeated, tag = "110300")]
5008 pub basket_id: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5009}
5010#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5012pub struct ResponseLinkOrders {
5013 #[prost(int32, required, tag = "154467")]
5015 pub template_id: i32,
5016 #[prost(string, repeated, tag = "132760")]
5018 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5019 #[prost(string, repeated, tag = "132766")]
5021 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5022}
5023#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5025pub struct RequestEasyToBorrowList {
5026 #[prost(int32, required, tag = "154467")]
5028 pub template_id: i32,
5029 #[prost(string, repeated, tag = "132760")]
5031 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5032 #[prost(
5034 enumeration = "request_easy_to_borrow_list::Request",
5035 optional,
5036 tag = "100000"
5037 )]
5038 pub request: ::core::option::Option<i32>,
5039}
5040pub mod request_easy_to_borrow_list {
5042 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5043 #[repr(i32)]
5044 pub enum Request {
5045 Subscribe = 1,
5046 Unsubscribe = 2,
5047 }
5048 impl Request {
5049 pub fn as_str_name(&self) -> &'static str {
5054 match self {
5055 Self::Subscribe => "SUBSCRIBE",
5056 Self::Unsubscribe => "UNSUBSCRIBE",
5057 }
5058 }
5059 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5061 match value {
5062 "SUBSCRIBE" => Some(Self::Subscribe),
5063 "UNSUBSCRIBE" => Some(Self::Unsubscribe),
5064 _ => None,
5065 }
5066 }
5067 }
5068}
5069#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5071pub struct ResponseEasyToBorrowList {
5072 #[prost(int32, required, tag = "154467")]
5074 pub template_id: i32,
5075 #[prost(string, repeated, tag = "132760")]
5077 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5078 #[prost(string, repeated, tag = "132764")]
5080 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5081 #[prost(string, repeated, tag = "132766")]
5083 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5084 #[prost(string, optional, tag = "154612")]
5086 pub broker_dealer: ::core::option::Option<::prost::alloc::string::String>,
5087 #[prost(string, optional, tag = "110100")]
5089 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
5090 #[prost(string, optional, tag = "100003")]
5092 pub symbol_name: ::core::option::Option<::prost::alloc::string::String>,
5093 #[prost(int32, optional, tag = "154613")]
5095 pub qty_available: ::core::option::Option<i32>,
5096 #[prost(int32, optional, tag = "154614")]
5098 pub qty_needed: ::core::option::Option<i32>,
5099 #[prost(bool, optional, tag = "110353")]
5101 pub borrowable: ::core::option::Option<bool>,
5102}
5103#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5104pub struct RequestOrderSessionConfig {
5105 #[prost(int32, required, tag = "154467")]
5106 pub template_id: i32,
5107 #[prost(string, repeated, tag = "132760")]
5108 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5109 #[prost(bool, optional, tag = "157750")]
5111 pub should_defer_request: ::core::option::Option<bool>,
5112}
5113#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5114pub struct ResponseOrderSessionConfig {
5115 #[prost(int32, required, tag = "154467")]
5116 pub template_id: i32,
5117 #[prost(string, repeated, tag = "132760")]
5118 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5119 #[prost(string, repeated, tag = "132766")]
5120 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5121}
5122#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5123pub struct RequestExitPosition {
5124 #[prost(int32, required, tag = "154467")]
5125 pub template_id: i32,
5126 #[prost(string, repeated, tag = "132760")]
5127 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5128 #[prost(string, optional, tag = "154629")]
5129 pub window_name: ::core::option::Option<::prost::alloc::string::String>,
5130 #[prost(string, optional, tag = "154013")]
5131 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
5132 #[prost(string, optional, tag = "154014")]
5133 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
5134 #[prost(string, optional, tag = "154008")]
5135 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
5136 #[prost(string, optional, tag = "110100")]
5138 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
5139 #[prost(string, optional, tag = "110101")]
5141 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
5142 #[prost(string, optional, tag = "154698")]
5144 pub trading_algorithm: ::core::option::Option<::prost::alloc::string::String>,
5145 #[prost(
5147 enumeration = "request_exit_position::OrderPlacement",
5148 optional,
5149 tag = "154710"
5150 )]
5151 pub manual_or_auto: ::core::option::Option<i32>,
5152}
5153pub mod request_exit_position {
5155 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5156 #[repr(i32)]
5157 pub enum OrderPlacement {
5158 Manual = 1,
5159 Auto = 2,
5160 }
5161 impl OrderPlacement {
5162 pub fn as_str_name(&self) -> &'static str {
5167 match self {
5168 Self::Manual => "MANUAL",
5169 Self::Auto => "AUTO",
5170 }
5171 }
5172 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5174 match value {
5175 "MANUAL" => Some(Self::Manual),
5176 "AUTO" => Some(Self::Auto),
5177 _ => None,
5178 }
5179 }
5180 }
5181}
5182#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5183pub struct ResponseExitPosition {
5184 #[prost(int32, required, tag = "154467")]
5185 pub template_id: i32,
5186 #[prost(string, repeated, tag = "132760")]
5187 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5188 #[prost(string, repeated, tag = "132764")]
5189 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5190 #[prost(string, repeated, tag = "132766")]
5191 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5192 #[prost(string, optional, tag = "110100")]
5193 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
5194 #[prost(string, optional, tag = "110101")]
5195 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
5196}
5197#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5198pub struct RequestReplayExecutions {
5199 #[prost(int32, required, tag = "154467")]
5200 pub template_id: i32,
5201 #[prost(string, repeated, tag = "132760")]
5202 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5203 #[prost(string, optional, tag = "154013")]
5204 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
5205 #[prost(string, optional, tag = "154014")]
5206 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
5207 #[prost(string, optional, tag = "154008")]
5208 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
5209 #[prost(int32, optional, tag = "153002")]
5210 pub start_index: ::core::option::Option<i32>,
5211 #[prost(int32, optional, tag = "153003")]
5212 pub finish_index: ::core::option::Option<i32>,
5213}
5214#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5215pub struct ResponseReplayExecutions {
5216 #[prost(int32, required, tag = "154467")]
5217 pub template_id: i32,
5218 #[prost(string, repeated, tag = "132760")]
5219 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5220 #[prost(string, repeated, tag = "132766")]
5221 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5222}
5223#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5225pub struct TradeRoute {
5226 #[prost(int32, required, tag = "154467")]
5228 pub template_id: i32,
5229 #[prost(string, optional, tag = "154013")]
5231 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
5232 #[prost(string, optional, tag = "154014")]
5234 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
5235 #[prost(string, optional, tag = "110101")]
5237 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
5238 #[prost(string, optional, tag = "112016")]
5240 pub trade_route: ::core::option::Option<::prost::alloc::string::String>,
5241 #[prost(string, optional, tag = "131407")]
5243 pub status: ::core::option::Option<::prost::alloc::string::String>,
5244 #[prost(bool, optional, tag = "154689")]
5246 pub is_default: ::core::option::Option<bool>,
5247}
5248#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5250pub struct BracketUpdates {
5251 #[prost(int32, required, tag = "154467")]
5253 pub template_id: i32,
5254 #[prost(string, optional, tag = "154013")]
5256 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
5257 #[prost(string, optional, tag = "154014")]
5259 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
5260 #[prost(string, optional, tag = "154008")]
5262 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
5263 #[prost(string, optional, tag = "110300")]
5265 pub basket_id: ::core::option::Option<::prost::alloc::string::String>,
5266 #[prost(int32, optional, tag = "154458")]
5268 pub stop_ticks: ::core::option::Option<i32>,
5269 #[prost(int32, optional, tag = "154459")]
5271 pub stop_quantity: ::core::option::Option<i32>,
5272 #[prost(int32, optional, tag = "154466")]
5274 pub stop_quantity_released: ::core::option::Option<i32>,
5275 #[prost(int32, optional, tag = "154456")]
5277 pub target_ticks: ::core::option::Option<i32>,
5278 #[prost(int32, optional, tag = "154457")]
5280 pub target_quantity: ::core::option::Option<i32>,
5281 #[prost(int32, optional, tag = "154460")]
5283 pub target_quantity_released: ::core::option::Option<i32>,
5284}
5285#[derive(Clone, PartialEq, ::prost::Message)]
5286pub struct RithmicOrderNotification {
5287 #[prost(int32, required, tag = "154467")]
5288 pub template_id: i32,
5289 #[prost(string, optional, tag = "154119")]
5290 pub user_tag: ::core::option::Option<::prost::alloc::string::String>,
5291 #[prost(
5292 enumeration = "rithmic_order_notification::NotifyType",
5293 optional,
5294 tag = "153625"
5295 )]
5296 pub notify_type: ::core::option::Option<i32>,
5297 #[prost(bool, optional, tag = "110121")]
5298 pub is_snapshot: ::core::option::Option<bool>,
5299 #[prost(string, optional, tag = "110303")]
5300 pub status: ::core::option::Option<::prost::alloc::string::String>,
5301 #[prost(string, optional, tag = "110300")]
5302 pub basket_id: ::core::option::Option<::prost::alloc::string::String>,
5303 #[prost(string, optional, tag = "154497")]
5304 pub original_basket_id: ::core::option::Option<::prost::alloc::string::String>,
5305 #[prost(string, optional, tag = "110358")]
5306 pub linked_basket_ids: ::core::option::Option<::prost::alloc::string::String>,
5307 #[prost(string, optional, tag = "154013")]
5308 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
5309 #[prost(string, optional, tag = "154014")]
5310 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
5311 #[prost(string, optional, tag = "131003")]
5312 pub user_id: ::core::option::Option<::prost::alloc::string::String>,
5313 #[prost(string, optional, tag = "154008")]
5314 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
5315 #[prost(string, optional, tag = "110100")]
5316 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
5317 #[prost(string, optional, tag = "110101")]
5318 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
5319 #[prost(string, optional, tag = "112021")]
5320 pub trade_exchange: ::core::option::Option<::prost::alloc::string::String>,
5321 #[prost(string, optional, tag = "112016")]
5322 pub trade_route: ::core::option::Option<::prost::alloc::string::String>,
5323 #[prost(string, optional, tag = "149238")]
5324 pub exchange_order_id: ::core::option::Option<::prost::alloc::string::String>,
5325 #[prost(string, optional, tag = "110116")]
5326 pub instrument_type: ::core::option::Option<::prost::alloc::string::String>,
5327 #[prost(string, optional, tag = "149273")]
5328 pub completion_reason: ::core::option::Option<::prost::alloc::string::String>,
5329 #[prost(int32, optional, tag = "112004")]
5330 pub quantity: ::core::option::Option<i32>,
5331 #[prost(int32, optional, tag = "112027")]
5332 pub quan_release_pending: ::core::option::Option<i32>,
5333 #[prost(double, optional, tag = "110306")]
5334 pub price: ::core::option::Option<f64>,
5335 #[prost(double, optional, tag = "149247")]
5336 pub trigger_price: ::core::option::Option<f64>,
5337 #[prost(
5338 enumeration = "rithmic_order_notification::TransactionType",
5339 optional,
5340 tag = "112003"
5341 )]
5342 pub transaction_type: ::core::option::Option<i32>,
5343 #[prost(
5344 enumeration = "rithmic_order_notification::Duration",
5345 optional,
5346 tag = "112005"
5347 )]
5348 pub duration: ::core::option::Option<i32>,
5349 #[prost(
5350 enumeration = "rithmic_order_notification::PriceType",
5351 optional,
5352 tag = "112008"
5353 )]
5354 pub price_type: ::core::option::Option<i32>,
5355 #[prost(
5356 enumeration = "rithmic_order_notification::PriceType",
5357 optional,
5358 tag = "154770"
5359 )]
5360 pub orig_price_type: ::core::option::Option<i32>,
5361 #[prost(
5362 enumeration = "rithmic_order_notification::OrderPlacement",
5363 optional,
5364 tag = "154710"
5365 )]
5366 pub manual_or_auto: ::core::option::Option<i32>,
5367 #[prost(
5368 enumeration = "rithmic_order_notification::BracketType",
5369 optional,
5370 tag = "157087"
5371 )]
5372 pub bracket_type: ::core::option::Option<i32>,
5373 #[prost(double, optional, tag = "110322")]
5374 pub avg_fill_price: ::core::option::Option<f64>,
5375 #[prost(int32, optional, tag = "154111")]
5376 pub total_fill_size: ::core::option::Option<i32>,
5377 #[prost(int32, optional, tag = "154112")]
5378 pub total_unfilled_size: ::core::option::Option<i32>,
5379 #[prost(int32, optional, tag = "157064")]
5380 pub trail_by_ticks: ::core::option::Option<i32>,
5381 #[prost(int32, optional, tag = "157065")]
5382 pub trail_by_price_id: ::core::option::Option<i32>,
5383 #[prost(string, optional, tag = "112002")]
5384 pub sequence_number: ::core::option::Option<::prost::alloc::string::String>,
5385 #[prost(string, optional, tag = "149263")]
5386 pub orig_sequence_number: ::core::option::Option<::prost::alloc::string::String>,
5387 #[prost(string, optional, tag = "149264")]
5388 pub cor_sequence_number: ::core::option::Option<::prost::alloc::string::String>,
5389 #[prost(string, optional, tag = "154382")]
5390 pub currency: ::core::option::Option<::prost::alloc::string::String>,
5391 #[prost(string, optional, tag = "154172")]
5392 pub country_code: ::core::option::Option<::prost::alloc::string::String>,
5393 #[prost(string, optional, tag = "120008")]
5394 pub text: ::core::option::Option<::prost::alloc::string::String>,
5395 #[prost(string, optional, tag = "120028")]
5396 pub report_text: ::core::option::Option<::prost::alloc::string::String>,
5397 #[prost(string, optional, tag = "154806")]
5398 pub remarks: ::core::option::Option<::prost::alloc::string::String>,
5399 #[prost(string, optional, tag = "154629")]
5400 pub window_name: ::core::option::Option<::prost::alloc::string::String>,
5401 #[prost(string, optional, tag = "154671")]
5402 pub originator_window_name: ::core::option::Option<::prost::alloc::string::String>,
5403 #[prost(int32, optional, tag = "157085")]
5404 pub cancel_at_ssboe: ::core::option::Option<i32>,
5405 #[prost(int32, optional, tag = "157086")]
5406 pub cancel_at_usecs: ::core::option::Option<i32>,
5407 #[prost(int32, optional, tag = "154488")]
5408 pub cancel_after_secs: ::core::option::Option<i32>,
5409 #[prost(int32, optional, tag = "150100")]
5410 pub ssboe: ::core::option::Option<i32>,
5411 #[prost(int32, optional, tag = "150101")]
5412 pub usecs: ::core::option::Option<i32>,
5413}
5414pub mod rithmic_order_notification {
5416 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5417 #[repr(i32)]
5418 pub enum NotifyType {
5419 OrderRcvdFromClnt = 1,
5420 ModifyRcvdFromClnt = 2,
5421 CancelRcvdFromClnt = 3,
5422 OpenPending = 4,
5423 ModifyPending = 5,
5424 CancelPending = 6,
5425 OrderRcvdByExchGtwy = 7,
5426 ModifyRcvdByExchGtwy = 8,
5427 CancelRcvdByExchGtwy = 9,
5428 OrderSentToExch = 10,
5429 ModifySentToExch = 11,
5430 CancelSentToExch = 12,
5431 Open = 13,
5432 Modified = 14,
5433 Complete = 15,
5434 ModificationFailed = 16,
5435 CancellationFailed = 17,
5436 TriggerPending = 18,
5437 Generic = 19,
5438 LinkOrdersFailed = 20,
5439 }
5440 impl NotifyType {
5441 pub fn as_str_name(&self) -> &'static str {
5446 match self {
5447 Self::OrderRcvdFromClnt => "ORDER_RCVD_FROM_CLNT",
5448 Self::ModifyRcvdFromClnt => "MODIFY_RCVD_FROM_CLNT",
5449 Self::CancelRcvdFromClnt => "CANCEL_RCVD_FROM_CLNT",
5450 Self::OpenPending => "OPEN_PENDING",
5451 Self::ModifyPending => "MODIFY_PENDING",
5452 Self::CancelPending => "CANCEL_PENDING",
5453 Self::OrderRcvdByExchGtwy => "ORDER_RCVD_BY_EXCH_GTWY",
5454 Self::ModifyRcvdByExchGtwy => "MODIFY_RCVD_BY_EXCH_GTWY",
5455 Self::CancelRcvdByExchGtwy => "CANCEL_RCVD_BY_EXCH_GTWY",
5456 Self::OrderSentToExch => "ORDER_SENT_TO_EXCH",
5457 Self::ModifySentToExch => "MODIFY_SENT_TO_EXCH",
5458 Self::CancelSentToExch => "CANCEL_SENT_TO_EXCH",
5459 Self::Open => "OPEN",
5460 Self::Modified => "MODIFIED",
5461 Self::Complete => "COMPLETE",
5462 Self::ModificationFailed => "MODIFICATION_FAILED",
5463 Self::CancellationFailed => "CANCELLATION_FAILED",
5464 Self::TriggerPending => "TRIGGER_PENDING",
5465 Self::Generic => "GENERIC",
5466 Self::LinkOrdersFailed => "LINK_ORDERS_FAILED",
5467 }
5468 }
5469 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5471 match value {
5472 "ORDER_RCVD_FROM_CLNT" => Some(Self::OrderRcvdFromClnt),
5473 "MODIFY_RCVD_FROM_CLNT" => Some(Self::ModifyRcvdFromClnt),
5474 "CANCEL_RCVD_FROM_CLNT" => Some(Self::CancelRcvdFromClnt),
5475 "OPEN_PENDING" => Some(Self::OpenPending),
5476 "MODIFY_PENDING" => Some(Self::ModifyPending),
5477 "CANCEL_PENDING" => Some(Self::CancelPending),
5478 "ORDER_RCVD_BY_EXCH_GTWY" => Some(Self::OrderRcvdByExchGtwy),
5479 "MODIFY_RCVD_BY_EXCH_GTWY" => Some(Self::ModifyRcvdByExchGtwy),
5480 "CANCEL_RCVD_BY_EXCH_GTWY" => Some(Self::CancelRcvdByExchGtwy),
5481 "ORDER_SENT_TO_EXCH" => Some(Self::OrderSentToExch),
5482 "MODIFY_SENT_TO_EXCH" => Some(Self::ModifySentToExch),
5483 "CANCEL_SENT_TO_EXCH" => Some(Self::CancelSentToExch),
5484 "OPEN" => Some(Self::Open),
5485 "MODIFIED" => Some(Self::Modified),
5486 "COMPLETE" => Some(Self::Complete),
5487 "MODIFICATION_FAILED" => Some(Self::ModificationFailed),
5488 "CANCELLATION_FAILED" => Some(Self::CancellationFailed),
5489 "TRIGGER_PENDING" => Some(Self::TriggerPending),
5490 "GENERIC" => Some(Self::Generic),
5491 "LINK_ORDERS_FAILED" => Some(Self::LinkOrdersFailed),
5492 _ => None,
5493 }
5494 }
5495 }
5496 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5497 #[repr(i32)]
5498 pub enum TransactionType {
5499 Buy = 1,
5500 Sell = 2,
5501 Ss = 3,
5502 }
5503 impl TransactionType {
5504 pub fn as_str_name(&self) -> &'static str {
5509 match self {
5510 Self::Buy => "BUY",
5511 Self::Sell => "SELL",
5512 Self::Ss => "SS",
5513 }
5514 }
5515 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5517 match value {
5518 "BUY" => Some(Self::Buy),
5519 "SELL" => Some(Self::Sell),
5520 "SS" => Some(Self::Ss),
5521 _ => None,
5522 }
5523 }
5524 }
5525 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5526 #[repr(i32)]
5527 pub enum Duration {
5528 Day = 1,
5529 Gtc = 2,
5530 Ioc = 3,
5531 Fok = 4,
5532 }
5533 impl Duration {
5534 pub fn as_str_name(&self) -> &'static str {
5539 match self {
5540 Self::Day => "DAY",
5541 Self::Gtc => "GTC",
5542 Self::Ioc => "IOC",
5543 Self::Fok => "FOK",
5544 }
5545 }
5546 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5548 match value {
5549 "DAY" => Some(Self::Day),
5550 "GTC" => Some(Self::Gtc),
5551 "IOC" => Some(Self::Ioc),
5552 "FOK" => Some(Self::Fok),
5553 _ => None,
5554 }
5555 }
5556 }
5557 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5558 #[repr(i32)]
5559 pub enum PriceType {
5560 Limit = 1,
5561 Market = 2,
5562 StopLimit = 3,
5563 StopMarket = 4,
5564 }
5565 impl PriceType {
5566 pub fn as_str_name(&self) -> &'static str {
5571 match self {
5572 Self::Limit => "LIMIT",
5573 Self::Market => "MARKET",
5574 Self::StopLimit => "STOP_LIMIT",
5575 Self::StopMarket => "STOP_MARKET",
5576 }
5577 }
5578 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5580 match value {
5581 "LIMIT" => Some(Self::Limit),
5582 "MARKET" => Some(Self::Market),
5583 "STOP_LIMIT" => Some(Self::StopLimit),
5584 "STOP_MARKET" => Some(Self::StopMarket),
5585 _ => None,
5586 }
5587 }
5588 }
5589 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5590 #[repr(i32)]
5591 pub enum BracketType {
5592 StopOnly = 1,
5593 TargetOnly = 2,
5594 TargetAndStop = 3,
5595 StopOnlyStatic = 4,
5596 TargetOnlyStatic = 5,
5597 TargetAndStopStatic = 6,
5598 }
5599 impl BracketType {
5600 pub fn as_str_name(&self) -> &'static str {
5605 match self {
5606 Self::StopOnly => "STOP_ONLY",
5607 Self::TargetOnly => "TARGET_ONLY",
5608 Self::TargetAndStop => "TARGET_AND_STOP",
5609 Self::StopOnlyStatic => "STOP_ONLY_STATIC",
5610 Self::TargetOnlyStatic => "TARGET_ONLY_STATIC",
5611 Self::TargetAndStopStatic => "TARGET_AND_STOP_STATIC",
5612 }
5613 }
5614 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5616 match value {
5617 "STOP_ONLY" => Some(Self::StopOnly),
5618 "TARGET_ONLY" => Some(Self::TargetOnly),
5619 "TARGET_AND_STOP" => Some(Self::TargetAndStop),
5620 "STOP_ONLY_STATIC" => Some(Self::StopOnlyStatic),
5621 "TARGET_ONLY_STATIC" => Some(Self::TargetOnlyStatic),
5622 "TARGET_AND_STOP_STATIC" => Some(Self::TargetAndStopStatic),
5623 _ => None,
5624 }
5625 }
5626 }
5627 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5628 #[repr(i32)]
5629 pub enum OrderPlacement {
5630 Manual = 1,
5631 Auto = 2,
5632 }
5633 impl OrderPlacement {
5634 pub fn as_str_name(&self) -> &'static str {
5639 match self {
5640 Self::Manual => "MANUAL",
5641 Self::Auto => "AUTO",
5642 }
5643 }
5644 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5646 match value {
5647 "MANUAL" => Some(Self::Manual),
5648 "AUTO" => Some(Self::Auto),
5649 _ => None,
5650 }
5651 }
5652 }
5653}
5654#[derive(Clone, PartialEq, ::prost::Message)]
5655pub struct ExchangeOrderNotification {
5656 #[prost(int32, required, tag = "154467")]
5657 pub template_id: i32,
5658 #[prost(string, optional, tag = "154119")]
5659 pub user_tag: ::core::option::Option<::prost::alloc::string::String>,
5660 #[prost(
5661 enumeration = "exchange_order_notification::NotifyType",
5662 optional,
5663 tag = "153625"
5664 )]
5665 pub notify_type: ::core::option::Option<i32>,
5666 #[prost(bool, optional, tag = "110121")]
5667 pub is_snapshot: ::core::option::Option<bool>,
5668 #[prost(bool, optional, tag = "149373")]
5669 pub is_rithmic_internal_msg: ::core::option::Option<bool>,
5670 #[prost(string, optional, tag = "120001")]
5671 pub report_type: ::core::option::Option<::prost::alloc::string::String>,
5672 #[prost(string, optional, tag = "110303")]
5673 pub status: ::core::option::Option<::prost::alloc::string::String>,
5674 #[prost(string, optional, tag = "110300")]
5675 pub basket_id: ::core::option::Option<::prost::alloc::string::String>,
5676 #[prost(string, optional, tag = "154497")]
5677 pub original_basket_id: ::core::option::Option<::prost::alloc::string::String>,
5678 #[prost(string, optional, tag = "110358")]
5679 pub linked_basket_ids: ::core::option::Option<::prost::alloc::string::String>,
5680 #[prost(string, optional, tag = "154013")]
5681 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
5682 #[prost(string, optional, tag = "154014")]
5683 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
5684 #[prost(string, optional, tag = "131003")]
5685 pub user_id: ::core::option::Option<::prost::alloc::string::String>,
5686 #[prost(string, optional, tag = "154008")]
5687 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
5688 #[prost(string, optional, tag = "110100")]
5689 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
5690 #[prost(string, optional, tag = "110101")]
5691 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
5692 #[prost(string, optional, tag = "112021")]
5693 pub trade_exchange: ::core::option::Option<::prost::alloc::string::String>,
5694 #[prost(string, optional, tag = "112016")]
5695 pub trade_route: ::core::option::Option<::prost::alloc::string::String>,
5696 #[prost(string, optional, tag = "149238")]
5697 pub exchange_order_id: ::core::option::Option<::prost::alloc::string::String>,
5698 #[prost(string, optional, tag = "153647")]
5699 pub tp_exchange_order_id: ::core::option::Option<::prost::alloc::string::String>,
5700 #[prost(string, optional, tag = "110116")]
5701 pub instrument_type: ::core::option::Option<::prost::alloc::string::String>,
5702 #[prost(int32, optional, tag = "112004")]
5703 pub quantity: ::core::option::Option<i32>,
5704 #[prost(double, optional, tag = "110306")]
5705 pub price: ::core::option::Option<f64>,
5706 #[prost(double, optional, tag = "149247")]
5707 pub trigger_price: ::core::option::Option<f64>,
5708 #[prost(
5709 enumeration = "exchange_order_notification::TransactionType",
5710 optional,
5711 tag = "112003"
5712 )]
5713 pub transaction_type: ::core::option::Option<i32>,
5714 #[prost(
5715 enumeration = "exchange_order_notification::Duration",
5716 optional,
5717 tag = "112005"
5718 )]
5719 pub duration: ::core::option::Option<i32>,
5720 #[prost(
5721 enumeration = "exchange_order_notification::PriceType",
5722 optional,
5723 tag = "112008"
5724 )]
5725 pub price_type: ::core::option::Option<i32>,
5726 #[prost(
5727 enumeration = "exchange_order_notification::PriceType",
5728 optional,
5729 tag = "154770"
5730 )]
5731 pub orig_price_type: ::core::option::Option<i32>,
5732 #[prost(
5733 enumeration = "exchange_order_notification::OrderPlacement",
5734 optional,
5735 tag = "154710"
5736 )]
5737 pub manual_or_auto: ::core::option::Option<i32>,
5738 #[prost(
5739 enumeration = "exchange_order_notification::BracketType",
5740 optional,
5741 tag = "157087"
5742 )]
5743 pub bracket_type: ::core::option::Option<i32>,
5744 #[prost(int32, optional, tag = "110329")]
5745 pub confirmed_size: ::core::option::Option<i32>,
5746 #[prost(string, optional, tag = "110326")]
5747 pub confirmed_time: ::core::option::Option<::prost::alloc::string::String>,
5748 #[prost(string, optional, tag = "110327")]
5749 pub confirmed_date: ::core::option::Option<::prost::alloc::string::String>,
5750 #[prost(string, optional, tag = "110330")]
5751 pub confirmed_id: ::core::option::Option<::prost::alloc::string::String>,
5752 #[prost(int32, optional, tag = "149267")]
5753 pub modified_size: ::core::option::Option<i32>,
5754 #[prost(string, optional, tag = "149268")]
5755 pub modified_time: ::core::option::Option<::prost::alloc::string::String>,
5756 #[prost(string, optional, tag = "149269")]
5757 pub modified_date: ::core::option::Option<::prost::alloc::string::String>,
5758 #[prost(string, optional, tag = "149244")]
5759 pub modify_id: ::core::option::Option<::prost::alloc::string::String>,
5760 #[prost(int32, optional, tag = "110318")]
5761 pub cancelled_size: ::core::option::Option<i32>,
5762 #[prost(string, optional, tag = "110319")]
5763 pub cancelled_time: ::core::option::Option<::prost::alloc::string::String>,
5764 #[prost(string, optional, tag = "110320")]
5765 pub cancelled_date: ::core::option::Option<::prost::alloc::string::String>,
5766 #[prost(string, optional, tag = "110321")]
5767 pub cancelled_id: ::core::option::Option<::prost::alloc::string::String>,
5768 #[prost(double, optional, tag = "110307")]
5769 pub fill_price: ::core::option::Option<f64>,
5770 #[prost(int32, optional, tag = "110308")]
5771 pub fill_size: ::core::option::Option<i32>,
5772 #[prost(string, optional, tag = "110309")]
5773 pub fill_time: ::core::option::Option<::prost::alloc::string::String>,
5774 #[prost(string, optional, tag = "110310")]
5775 pub fill_date: ::core::option::Option<::prost::alloc::string::String>,
5776 #[prost(string, optional, tag = "110311")]
5777 pub fill_id: ::core::option::Option<::prost::alloc::string::String>,
5778 #[prost(double, optional, tag = "110322")]
5779 pub avg_fill_price: ::core::option::Option<f64>,
5780 #[prost(int32, optional, tag = "154111")]
5781 pub total_fill_size: ::core::option::Option<i32>,
5782 #[prost(int32, optional, tag = "154112")]
5783 pub total_unfilled_size: ::core::option::Option<i32>,
5784 #[prost(string, optional, tag = "149266")]
5785 pub trigger_id: ::core::option::Option<::prost::alloc::string::String>,
5786 #[prost(int32, optional, tag = "157064")]
5787 pub trail_by_ticks: ::core::option::Option<i32>,
5788 #[prost(int32, optional, tag = "157065")]
5789 pub trail_by_price_id: ::core::option::Option<i32>,
5790 #[prost(string, optional, tag = "112002")]
5791 pub sequence_number: ::core::option::Option<::prost::alloc::string::String>,
5792 #[prost(string, optional, tag = "149263")]
5793 pub orig_sequence_number: ::core::option::Option<::prost::alloc::string::String>,
5794 #[prost(string, optional, tag = "149264")]
5795 pub cor_sequence_number: ::core::option::Option<::prost::alloc::string::String>,
5796 #[prost(string, optional, tag = "154382")]
5797 pub currency: ::core::option::Option<::prost::alloc::string::String>,
5798 #[prost(string, optional, tag = "154172")]
5799 pub country_code: ::core::option::Option<::prost::alloc::string::String>,
5800 #[prost(string, optional, tag = "120008")]
5801 pub text: ::core::option::Option<::prost::alloc::string::String>,
5802 #[prost(string, optional, tag = "120028")]
5803 pub report_text: ::core::option::Option<::prost::alloc::string::String>,
5804 #[prost(string, optional, tag = "154806")]
5805 pub remarks: ::core::option::Option<::prost::alloc::string::String>,
5806 #[prost(string, optional, tag = "154629")]
5807 pub window_name: ::core::option::Option<::prost::alloc::string::String>,
5808 #[prost(string, optional, tag = "154671")]
5809 pub originator_window_name: ::core::option::Option<::prost::alloc::string::String>,
5810 #[prost(int32, optional, tag = "157085")]
5811 pub cancel_at_ssboe: ::core::option::Option<i32>,
5812 #[prost(int32, optional, tag = "157086")]
5813 pub cancel_at_usecs: ::core::option::Option<i32>,
5814 #[prost(int32, optional, tag = "154488")]
5815 pub cancel_after_secs: ::core::option::Option<i32>,
5816 #[prost(int32, optional, tag = "150100")]
5817 pub ssboe: ::core::option::Option<i32>,
5818 #[prost(int32, optional, tag = "150101")]
5819 pub usecs: ::core::option::Option<i32>,
5820 #[prost(int32, optional, tag = "150405")]
5821 pub exch_receipt_ssboe: ::core::option::Option<i32>,
5822 #[prost(int32, optional, tag = "150406")]
5823 pub exch_receipt_nsecs: ::core::option::Option<i32>,
5824}
5825pub mod exchange_order_notification {
5827 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5828 #[repr(i32)]
5829 pub enum NotifyType {
5830 Status = 1,
5831 Modify = 2,
5832 Cancel = 3,
5833 Trigger = 4,
5834 Fill = 5,
5835 Reject = 6,
5836 NotModified = 7,
5837 NotCancelled = 8,
5838 Generic = 9,
5839 }
5840 impl NotifyType {
5841 pub fn as_str_name(&self) -> &'static str {
5846 match self {
5847 Self::Status => "STATUS",
5848 Self::Modify => "MODIFY",
5849 Self::Cancel => "CANCEL",
5850 Self::Trigger => "TRIGGER",
5851 Self::Fill => "FILL",
5852 Self::Reject => "REJECT",
5853 Self::NotModified => "NOT_MODIFIED",
5854 Self::NotCancelled => "NOT_CANCELLED",
5855 Self::Generic => "GENERIC",
5856 }
5857 }
5858 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5860 match value {
5861 "STATUS" => Some(Self::Status),
5862 "MODIFY" => Some(Self::Modify),
5863 "CANCEL" => Some(Self::Cancel),
5864 "TRIGGER" => Some(Self::Trigger),
5865 "FILL" => Some(Self::Fill),
5866 "REJECT" => Some(Self::Reject),
5867 "NOT_MODIFIED" => Some(Self::NotModified),
5868 "NOT_CANCELLED" => Some(Self::NotCancelled),
5869 "GENERIC" => Some(Self::Generic),
5870 _ => None,
5871 }
5872 }
5873 }
5874 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5875 #[repr(i32)]
5876 pub enum TransactionType {
5877 Buy = 1,
5878 Sell = 2,
5879 Ss = 3,
5880 }
5881 impl TransactionType {
5882 pub fn as_str_name(&self) -> &'static str {
5887 match self {
5888 Self::Buy => "BUY",
5889 Self::Sell => "SELL",
5890 Self::Ss => "SS",
5891 }
5892 }
5893 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5895 match value {
5896 "BUY" => Some(Self::Buy),
5897 "SELL" => Some(Self::Sell),
5898 "SS" => Some(Self::Ss),
5899 _ => None,
5900 }
5901 }
5902 }
5903 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5904 #[repr(i32)]
5905 pub enum Duration {
5906 Day = 1,
5907 Gtc = 2,
5908 Ioc = 3,
5909 Fok = 4,
5910 }
5911 impl Duration {
5912 pub fn as_str_name(&self) -> &'static str {
5917 match self {
5918 Self::Day => "DAY",
5919 Self::Gtc => "GTC",
5920 Self::Ioc => "IOC",
5921 Self::Fok => "FOK",
5922 }
5923 }
5924 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5926 match value {
5927 "DAY" => Some(Self::Day),
5928 "GTC" => Some(Self::Gtc),
5929 "IOC" => Some(Self::Ioc),
5930 "FOK" => Some(Self::Fok),
5931 _ => None,
5932 }
5933 }
5934 }
5935 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5936 #[repr(i32)]
5937 pub enum PriceType {
5938 Limit = 1,
5939 Market = 2,
5940 StopLimit = 3,
5941 StopMarket = 4,
5942 }
5943 impl PriceType {
5944 pub fn as_str_name(&self) -> &'static str {
5949 match self {
5950 Self::Limit => "LIMIT",
5951 Self::Market => "MARKET",
5952 Self::StopLimit => "STOP_LIMIT",
5953 Self::StopMarket => "STOP_MARKET",
5954 }
5955 }
5956 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5958 match value {
5959 "LIMIT" => Some(Self::Limit),
5960 "MARKET" => Some(Self::Market),
5961 "STOP_LIMIT" => Some(Self::StopLimit),
5962 "STOP_MARKET" => Some(Self::StopMarket),
5963 _ => None,
5964 }
5965 }
5966 }
5967 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5968 #[repr(i32)]
5969 pub enum BracketType {
5970 StopOnly = 1,
5971 TargetOnly = 2,
5972 TargetAndStop = 3,
5973 StopOnlyStatic = 4,
5974 TargetOnlyStatic = 5,
5975 TargetAndStopStatic = 6,
5976 }
5977 impl BracketType {
5978 pub fn as_str_name(&self) -> &'static str {
5983 match self {
5984 Self::StopOnly => "STOP_ONLY",
5985 Self::TargetOnly => "TARGET_ONLY",
5986 Self::TargetAndStop => "TARGET_AND_STOP",
5987 Self::StopOnlyStatic => "STOP_ONLY_STATIC",
5988 Self::TargetOnlyStatic => "TARGET_ONLY_STATIC",
5989 Self::TargetAndStopStatic => "TARGET_AND_STOP_STATIC",
5990 }
5991 }
5992 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5994 match value {
5995 "STOP_ONLY" => Some(Self::StopOnly),
5996 "TARGET_ONLY" => Some(Self::TargetOnly),
5997 "TARGET_AND_STOP" => Some(Self::TargetAndStop),
5998 "STOP_ONLY_STATIC" => Some(Self::StopOnlyStatic),
5999 "TARGET_ONLY_STATIC" => Some(Self::TargetOnlyStatic),
6000 "TARGET_AND_STOP_STATIC" => Some(Self::TargetAndStopStatic),
6001 _ => None,
6002 }
6003 }
6004 }
6005 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6006 #[repr(i32)]
6007 pub enum OrderPlacement {
6008 Manual = 1,
6009 Auto = 2,
6010 }
6011 impl OrderPlacement {
6012 pub fn as_str_name(&self) -> &'static str {
6017 match self {
6018 Self::Manual => "MANUAL",
6019 Self::Auto => "AUTO",
6020 }
6021 }
6022 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6024 match value {
6025 "MANUAL" => Some(Self::Manual),
6026 "AUTO" => Some(Self::Auto),
6027 _ => None,
6028 }
6029 }
6030 }
6031}
6032#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6034pub struct AccountListUpdates {
6035 #[prost(int32, required, tag = "154467")]
6037 pub template_id: i32,
6038 #[prost(string, optional, tag = "154013")]
6040 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
6041 #[prost(string, optional, tag = "154014")]
6043 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
6044 #[prost(string, optional, tag = "154008")]
6046 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
6047 #[prost(string, optional, tag = "131040")]
6049 pub auto_liq_threshold_current_value: ::core::option::Option<::prost::alloc::string::String>,
6050}
6051#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6053pub struct UpdateEasyToBorrowList {
6054 #[prost(int32, required, tag = "154467")]
6056 pub template_id: i32,
6057 #[prost(string, optional, tag = "154612")]
6059 pub broker_dealer: ::core::option::Option<::prost::alloc::string::String>,
6060 #[prost(string, optional, tag = "110100")]
6062 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
6063 #[prost(string, optional, tag = "100003")]
6065 pub symbol_name: ::core::option::Option<::prost::alloc::string::String>,
6066 #[prost(int32, optional, tag = "154613")]
6068 pub qty_available: ::core::option::Option<i32>,
6069 #[prost(int32, optional, tag = "154614")]
6071 pub qty_needed: ::core::option::Option<i32>,
6072 #[prost(bool, optional, tag = "110353")]
6074 pub borrowable: ::core::option::Option<bool>,
6075}
6076#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6077pub struct AccountRmsUpdates {
6078 #[prost(int32, required, tag = "154467")]
6079 pub template_id: i32,
6080 #[prost(int32, optional, tag = "154211")]
6081 pub update_bits: ::core::option::Option<i32>,
6082 #[prost(string, optional, tag = "154013")]
6083 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
6084 #[prost(string, optional, tag = "154014")]
6085 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
6086 #[prost(string, optional, tag = "154008")]
6087 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
6088 #[prost(string, optional, tag = "131040")]
6089 pub auto_liq_threshold_current_value: ::core::option::Option<::prost::alloc::string::String>,
6090 #[prost(string, optional, tag = "131049")]
6091 pub auto_liq_peak_account_balance: ::core::option::Option<::prost::alloc::string::String>,
6092 #[prost(string, optional, tag = "131050")]
6093 pub auto_liq_peak_account_balance_ssboe: ::core::option::Option<::prost::alloc::string::String>,
6094}
6095pub mod account_rms_updates {
6097 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6098 #[repr(i32)]
6099 pub enum UpdateBits {
6100 AutoLiqThresholdCurrentValue = 1,
6101 }
6102 impl UpdateBits {
6103 pub fn as_str_name(&self) -> &'static str {
6108 match self {
6109 Self::AutoLiqThresholdCurrentValue => "AUTO_LIQ_THRESHOLD_CURRENT_VALUE",
6110 }
6111 }
6112 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6114 match value {
6115 "AUTO_LIQ_THRESHOLD_CURRENT_VALUE" => Some(Self::AutoLiqThresholdCurrentValue),
6116 _ => None,
6117 }
6118 }
6119 }
6120}
6121#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6123pub struct RequestPnLPositionUpdates {
6124 #[prost(int32, required, tag = "154467")]
6126 pub template_id: i32,
6127 #[prost(string, repeated, tag = "132760")]
6129 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6130 #[prost(
6132 enumeration = "request_pn_l_position_updates::Request",
6133 optional,
6134 tag = "100000"
6135 )]
6136 pub request: ::core::option::Option<i32>,
6137 #[prost(string, optional, tag = "154013")]
6139 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
6140 #[prost(string, optional, tag = "154014")]
6142 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
6143 #[prost(string, optional, tag = "154008")]
6145 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
6146}
6147pub mod request_pn_l_position_updates {
6149 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6150 #[repr(i32)]
6151 pub enum Request {
6152 Subscribe = 1,
6153 Unsubscribe = 2,
6154 }
6155 impl Request {
6156 pub fn as_str_name(&self) -> &'static str {
6161 match self {
6162 Self::Subscribe => "SUBSCRIBE",
6163 Self::Unsubscribe => "UNSUBSCRIBE",
6164 }
6165 }
6166 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6168 match value {
6169 "SUBSCRIBE" => Some(Self::Subscribe),
6170 "UNSUBSCRIBE" => Some(Self::Unsubscribe),
6171 _ => None,
6172 }
6173 }
6174 }
6175}
6176#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6178pub struct ResponsePnLPositionUpdates {
6179 #[prost(int32, required, tag = "154467")]
6181 pub template_id: i32,
6182 #[prost(string, repeated, tag = "132760")]
6184 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6185 #[prost(string, repeated, tag = "132766")]
6187 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6188}
6189#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6191pub struct RequestPnLPositionSnapshot {
6192 #[prost(int32, required, tag = "154467")]
6194 pub template_id: i32,
6195 #[prost(string, repeated, tag = "132760")]
6197 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6198 #[prost(string, optional, tag = "154013")]
6200 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
6201 #[prost(string, optional, tag = "154014")]
6203 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
6204 #[prost(string, optional, tag = "154008")]
6206 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
6207}
6208#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6210pub struct ResponsePnLPositionSnapshot {
6211 #[prost(int32, required, tag = "154467")]
6213 pub template_id: i32,
6214 #[prost(string, repeated, tag = "132760")]
6216 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6217 #[prost(string, repeated, tag = "132766")]
6219 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6220}
6221#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6222pub struct AccountPnLPositionUpdate {
6223 #[prost(int32, required, tag = "154467")]
6224 pub template_id: i32,
6225 #[prost(bool, optional, tag = "110121")]
6226 pub is_snapshot: ::core::option::Option<bool>,
6227 #[prost(string, optional, tag = "154013")]
6228 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
6229 #[prost(string, optional, tag = "154014")]
6230 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
6231 #[prost(string, optional, tag = "154008")]
6232 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
6233 #[prost(int32, optional, tag = "154041")]
6234 pub fill_buy_qty: ::core::option::Option<i32>,
6235 #[prost(int32, optional, tag = "154042")]
6236 pub fill_sell_qty: ::core::option::Option<i32>,
6237 #[prost(int32, optional, tag = "154037")]
6238 pub order_buy_qty: ::core::option::Option<i32>,
6239 #[prost(int32, optional, tag = "154038")]
6240 pub order_sell_qty: ::core::option::Option<i32>,
6241 #[prost(int32, optional, tag = "154260")]
6242 pub buy_qty: ::core::option::Option<i32>,
6243 #[prost(int32, optional, tag = "154261")]
6244 pub sell_qty: ::core::option::Option<i32>,
6245 #[prost(string, optional, tag = "157105")]
6246 pub open_long_options_value: ::core::option::Option<::prost::alloc::string::String>,
6247 #[prost(string, optional, tag = "157106")]
6248 pub open_short_options_value: ::core::option::Option<::prost::alloc::string::String>,
6249 #[prost(string, optional, tag = "157107")]
6250 pub closed_options_value: ::core::option::Option<::prost::alloc::string::String>,
6251 #[prost(string, optional, tag = "157111")]
6252 pub option_cash_reserved: ::core::option::Option<::prost::alloc::string::String>,
6253 #[prost(string, optional, tag = "157113")]
6254 pub rms_account_commission: ::core::option::Option<::prost::alloc::string::String>,
6255 #[prost(string, optional, tag = "156961")]
6256 pub open_position_pnl: ::core::option::Option<::prost::alloc::string::String>,
6257 #[prost(int32, optional, tag = "156962")]
6258 pub open_position_quantity: ::core::option::Option<i32>,
6259 #[prost(string, optional, tag = "156963")]
6260 pub closed_position_pnl: ::core::option::Option<::prost::alloc::string::String>,
6261 #[prost(int32, optional, tag = "156964")]
6262 pub closed_position_quantity: ::core::option::Option<i32>,
6263 #[prost(int32, optional, tag = "156967")]
6264 pub net_quantity: ::core::option::Option<i32>,
6265 #[prost(string, optional, tag = "156991")]
6266 pub excess_buy_margin: ::core::option::Option<::prost::alloc::string::String>,
6267 #[prost(string, optional, tag = "156977")]
6268 pub margin_balance: ::core::option::Option<::prost::alloc::string::String>,
6269 #[prost(string, optional, tag = "156976")]
6270 pub min_margin_balance: ::core::option::Option<::prost::alloc::string::String>,
6271 #[prost(string, optional, tag = "156968")]
6272 pub min_account_balance: ::core::option::Option<::prost::alloc::string::String>,
6273 #[prost(string, optional, tag = "156970")]
6274 pub account_balance: ::core::option::Option<::prost::alloc::string::String>,
6275 #[prost(string, optional, tag = "156971")]
6276 pub cash_on_hand: ::core::option::Option<::prost::alloc::string::String>,
6277 #[prost(string, optional, tag = "157118")]
6278 pub option_closed_pnl: ::core::option::Option<::prost::alloc::string::String>,
6279 #[prost(string, optional, tag = "156965")]
6280 pub percent_maximum_allowable_loss: ::core::option::Option<::prost::alloc::string::String>,
6281 #[prost(string, optional, tag = "157117")]
6282 pub option_open_pnl: ::core::option::Option<::prost::alloc::string::String>,
6283 #[prost(string, optional, tag = "154262")]
6284 pub mtm_account: ::core::option::Option<::prost::alloc::string::String>,
6285 #[prost(string, optional, tag = "157015")]
6286 pub available_buying_power: ::core::option::Option<::prost::alloc::string::String>,
6287 #[prost(string, optional, tag = "157014")]
6288 pub used_buying_power: ::core::option::Option<::prost::alloc::string::String>,
6289 #[prost(string, optional, tag = "157013")]
6290 pub reserved_buying_power: ::core::option::Option<::prost::alloc::string::String>,
6291 #[prost(string, optional, tag = "156992")]
6292 pub excess_sell_margin: ::core::option::Option<::prost::alloc::string::String>,
6293 #[prost(string, optional, tag = "157954")]
6294 pub day_open_pnl: ::core::option::Option<::prost::alloc::string::String>,
6295 #[prost(string, optional, tag = "157955")]
6296 pub day_closed_pnl: ::core::option::Option<::prost::alloc::string::String>,
6297 #[prost(string, optional, tag = "157956")]
6298 pub day_pnl: ::core::option::Option<::prost::alloc::string::String>,
6299 #[prost(string, optional, tag = "157957")]
6300 pub day_open_pnl_offset: ::core::option::Option<::prost::alloc::string::String>,
6301 #[prost(string, optional, tag = "157958")]
6302 pub day_closed_pnl_offset: ::core::option::Option<::prost::alloc::string::String>,
6303 #[prost(int32, optional, tag = "150100")]
6304 pub ssboe: ::core::option::Option<i32>,
6305 #[prost(int32, optional, tag = "150101")]
6306 pub usecs: ::core::option::Option<i32>,
6307}
6308#[derive(Clone, PartialEq, ::prost::Message)]
6309pub struct InstrumentPnLPositionUpdate {
6310 #[prost(int32, required, tag = "154467")]
6311 pub template_id: i32,
6312 #[prost(bool, optional, tag = "110121")]
6313 pub is_snapshot: ::core::option::Option<bool>,
6314 #[prost(string, optional, tag = "154013")]
6315 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
6316 #[prost(string, optional, tag = "154014")]
6317 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
6318 #[prost(string, optional, tag = "154008")]
6319 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
6320 #[prost(string, optional, tag = "110100")]
6321 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
6322 #[prost(string, optional, tag = "110101")]
6323 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
6324 #[prost(string, optional, tag = "100749")]
6325 pub product_code: ::core::option::Option<::prost::alloc::string::String>,
6326 #[prost(string, optional, tag = "110116")]
6327 pub instrument_type: ::core::option::Option<::prost::alloc::string::String>,
6328 #[prost(int32, optional, tag = "154041")]
6329 pub fill_buy_qty: ::core::option::Option<i32>,
6330 #[prost(int32, optional, tag = "154042")]
6331 pub fill_sell_qty: ::core::option::Option<i32>,
6332 #[prost(int32, optional, tag = "154037")]
6333 pub order_buy_qty: ::core::option::Option<i32>,
6334 #[prost(int32, optional, tag = "154038")]
6335 pub order_sell_qty: ::core::option::Option<i32>,
6336 #[prost(int32, optional, tag = "154260")]
6337 pub buy_qty: ::core::option::Option<i32>,
6338 #[prost(int32, optional, tag = "154261")]
6339 pub sell_qty: ::core::option::Option<i32>,
6340 #[prost(double, optional, tag = "154434")]
6341 pub avg_open_fill_price: ::core::option::Option<f64>,
6342 #[prost(double, optional, tag = "157954")]
6343 pub day_open_pnl: ::core::option::Option<f64>,
6344 #[prost(double, optional, tag = "157955")]
6345 pub day_closed_pnl: ::core::option::Option<f64>,
6346 #[prost(double, optional, tag = "157956")]
6347 pub day_pnl: ::core::option::Option<f64>,
6348 #[prost(double, optional, tag = "157957")]
6349 pub day_open_pnl_offset: ::core::option::Option<f64>,
6350 #[prost(double, optional, tag = "157958")]
6351 pub day_closed_pnl_offset: ::core::option::Option<f64>,
6352 #[prost(string, optional, tag = "154263")]
6353 pub mtm_security: ::core::option::Option<::prost::alloc::string::String>,
6354 #[prost(string, optional, tag = "157105")]
6355 pub open_long_options_value: ::core::option::Option<::prost::alloc::string::String>,
6356 #[prost(string, optional, tag = "157106")]
6357 pub open_short_options_value: ::core::option::Option<::prost::alloc::string::String>,
6358 #[prost(string, optional, tag = "157107")]
6359 pub closed_options_value: ::core::option::Option<::prost::alloc::string::String>,
6360 #[prost(string, optional, tag = "157111")]
6361 pub option_cash_reserved: ::core::option::Option<::prost::alloc::string::String>,
6362 #[prost(string, optional, tag = "156961")]
6363 pub open_position_pnl: ::core::option::Option<::prost::alloc::string::String>,
6364 #[prost(int32, optional, tag = "156962")]
6365 pub open_position_quantity: ::core::option::Option<i32>,
6366 #[prost(string, optional, tag = "156963")]
6367 pub closed_position_pnl: ::core::option::Option<::prost::alloc::string::String>,
6368 #[prost(int32, optional, tag = "156964")]
6369 pub closed_position_quantity: ::core::option::Option<i32>,
6370 #[prost(int32, optional, tag = "156967")]
6371 pub net_quantity: ::core::option::Option<i32>,
6372 #[prost(int32, optional, tag = "150100")]
6373 pub ssboe: ::core::option::Option<i32>,
6374 #[prost(int32, optional, tag = "150101")]
6375 pub usecs: ::core::option::Option<i32>,
6376}
6377#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6378pub struct RequestTickBarReplay {
6379 #[prost(int32, required, tag = "154467")]
6380 pub template_id: i32,
6381 #[prost(string, repeated, tag = "132760")]
6382 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6383 #[prost(string, optional, tag = "110100")]
6384 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
6385 #[prost(string, optional, tag = "110101")]
6386 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
6387 #[prost(
6388 enumeration = "request_tick_bar_replay::BarType",
6389 optional,
6390 tag = "119200"
6391 )]
6392 pub bar_type: ::core::option::Option<i32>,
6393 #[prost(
6394 enumeration = "request_tick_bar_replay::BarSubType",
6395 optional,
6396 tag = "119208"
6397 )]
6398 pub bar_sub_type: ::core::option::Option<i32>,
6399 #[prost(string, optional, tag = "148162")]
6400 pub bar_type_specifier: ::core::option::Option<::prost::alloc::string::String>,
6401 #[prost(int32, optional, tag = "153002")]
6402 pub start_index: ::core::option::Option<i32>,
6403 #[prost(int32, optional, tag = "153003")]
6404 pub finish_index: ::core::option::Option<i32>,
6405 #[prost(int32, optional, tag = "154020")]
6406 pub user_max_count: ::core::option::Option<i32>,
6407 #[prost(int32, optional, tag = "119209")]
6408 pub custom_session_open_ssm: ::core::option::Option<i32>,
6409 #[prost(int32, optional, tag = "119210")]
6410 pub custom_session_close_ssm: ::core::option::Option<i32>,
6411 #[prost(
6412 enumeration = "request_tick_bar_replay::Direction",
6413 optional,
6414 tag = "149253"
6415 )]
6416 pub direction: ::core::option::Option<i32>,
6417 #[prost(
6418 enumeration = "request_tick_bar_replay::TimeOrder",
6419 optional,
6420 tag = "149307"
6421 )]
6422 pub time_order: ::core::option::Option<i32>,
6423 #[prost(bool, optional, tag = "153642")]
6424 pub resume_bars: ::core::option::Option<bool>,
6425}
6426pub mod request_tick_bar_replay {
6428 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6429 #[repr(i32)]
6430 pub enum BarType {
6431 TickBar = 1,
6432 RangeBar = 2,
6433 VolumeBar = 3,
6434 }
6435 impl BarType {
6436 pub fn as_str_name(&self) -> &'static str {
6441 match self {
6442 Self::TickBar => "TICK_BAR",
6443 Self::RangeBar => "RANGE_BAR",
6444 Self::VolumeBar => "VOLUME_BAR",
6445 }
6446 }
6447 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6449 match value {
6450 "TICK_BAR" => Some(Self::TickBar),
6451 "RANGE_BAR" => Some(Self::RangeBar),
6452 "VOLUME_BAR" => Some(Self::VolumeBar),
6453 _ => None,
6454 }
6455 }
6456 }
6457 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6458 #[repr(i32)]
6459 pub enum BarSubType {
6460 Regular = 1,
6461 Custom = 2,
6462 }
6463 impl BarSubType {
6464 pub fn as_str_name(&self) -> &'static str {
6469 match self {
6470 Self::Regular => "REGULAR",
6471 Self::Custom => "CUSTOM",
6472 }
6473 }
6474 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6476 match value {
6477 "REGULAR" => Some(Self::Regular),
6478 "CUSTOM" => Some(Self::Custom),
6479 _ => None,
6480 }
6481 }
6482 }
6483 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6484 #[repr(i32)]
6485 pub enum Direction {
6486 First = 1,
6487 Last = 2,
6488 }
6489 impl Direction {
6490 pub fn as_str_name(&self) -> &'static str {
6495 match self {
6496 Self::First => "FIRST",
6497 Self::Last => "LAST",
6498 }
6499 }
6500 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6502 match value {
6503 "FIRST" => Some(Self::First),
6504 "LAST" => Some(Self::Last),
6505 _ => None,
6506 }
6507 }
6508 }
6509 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6510 #[repr(i32)]
6511 pub enum TimeOrder {
6512 Forwards = 1,
6513 Backwards = 2,
6514 }
6515 impl TimeOrder {
6516 pub fn as_str_name(&self) -> &'static str {
6521 match self {
6522 Self::Forwards => "FORWARDS",
6523 Self::Backwards => "BACKWARDS",
6524 }
6525 }
6526 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6528 match value {
6529 "FORWARDS" => Some(Self::Forwards),
6530 "BACKWARDS" => Some(Self::Backwards),
6531 _ => None,
6532 }
6533 }
6534 }
6535}
6536#[derive(Clone, PartialEq, ::prost::Message)]
6537pub struct ResponseTickBarReplay {
6538 #[prost(int32, required, tag = "154467")]
6539 pub template_id: i32,
6540 #[prost(string, optional, tag = "132758")]
6541 pub request_key: ::core::option::Option<::prost::alloc::string::String>,
6542 #[prost(string, repeated, tag = "132760")]
6543 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6544 #[prost(string, repeated, tag = "132764")]
6545 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6546 #[prost(string, repeated, tag = "132766")]
6547 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6548 #[prost(string, optional, tag = "110100")]
6549 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
6550 #[prost(string, optional, tag = "110101")]
6551 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
6552 #[prost(
6553 enumeration = "response_tick_bar_replay::BarType",
6554 optional,
6555 tag = "119200"
6556 )]
6557 pub r#type: ::core::option::Option<i32>,
6558 #[prost(
6559 enumeration = "response_tick_bar_replay::BarSubType",
6560 optional,
6561 tag = "119208"
6562 )]
6563 pub sub_type: ::core::option::Option<i32>,
6564 #[prost(string, optional, tag = "148162")]
6565 pub type_specifier: ::core::option::Option<::prost::alloc::string::String>,
6566 #[prost(uint64, optional, tag = "119204")]
6567 pub num_trades: ::core::option::Option<u64>,
6568 #[prost(uint64, optional, tag = "119205")]
6569 pub volume: ::core::option::Option<u64>,
6570 #[prost(uint64, optional, tag = "119213")]
6571 pub bid_volume: ::core::option::Option<u64>,
6572 #[prost(uint64, optional, tag = "119214")]
6573 pub ask_volume: ::core::option::Option<u64>,
6574 #[prost(double, optional, tag = "100019")]
6575 pub open_price: ::core::option::Option<f64>,
6576 #[prost(double, optional, tag = "100021")]
6577 pub close_price: ::core::option::Option<f64>,
6578 #[prost(double, optional, tag = "100012")]
6579 pub high_price: ::core::option::Option<f64>,
6580 #[prost(double, optional, tag = "100013")]
6581 pub low_price: ::core::option::Option<f64>,
6582 #[prost(int32, optional, tag = "119209")]
6583 pub custom_session_open_ssm: ::core::option::Option<i32>,
6584 #[prost(int32, repeated, packed = "false", tag = "119202")]
6585 pub data_bar_ssboe: ::prost::alloc::vec::Vec<i32>,
6586 #[prost(int32, repeated, packed = "false", tag = "119203")]
6587 pub data_bar_usecs: ::prost::alloc::vec::Vec<i32>,
6588}
6589pub mod response_tick_bar_replay {
6591 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6592 #[repr(i32)]
6593 pub enum BarType {
6594 TickBar = 1,
6595 RangeBar = 2,
6596 VolumeBar = 3,
6597 }
6598 impl BarType {
6599 pub fn as_str_name(&self) -> &'static str {
6604 match self {
6605 Self::TickBar => "TICK_BAR",
6606 Self::RangeBar => "RANGE_BAR",
6607 Self::VolumeBar => "VOLUME_BAR",
6608 }
6609 }
6610 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6612 match value {
6613 "TICK_BAR" => Some(Self::TickBar),
6614 "RANGE_BAR" => Some(Self::RangeBar),
6615 "VOLUME_BAR" => Some(Self::VolumeBar),
6616 _ => None,
6617 }
6618 }
6619 }
6620 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6621 #[repr(i32)]
6622 pub enum BarSubType {
6623 Regular = 1,
6624 Custom = 2,
6625 }
6626 impl BarSubType {
6627 pub fn as_str_name(&self) -> &'static str {
6632 match self {
6633 Self::Regular => "REGULAR",
6634 Self::Custom => "CUSTOM",
6635 }
6636 }
6637 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6639 match value {
6640 "REGULAR" => Some(Self::Regular),
6641 "CUSTOM" => Some(Self::Custom),
6642 _ => None,
6643 }
6644 }
6645 }
6646}
6647#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6649pub struct RequestTickBarUpdate {
6650 #[prost(int32, required, tag = "154467")]
6652 pub template_id: i32,
6653 #[prost(string, repeated, tag = "132760")]
6655 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6656 #[prost(string, optional, tag = "110100")]
6658 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
6659 #[prost(string, optional, tag = "110101")]
6661 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
6662 #[prost(
6664 enumeration = "request_tick_bar_update::Request",
6665 optional,
6666 tag = "100000"
6667 )]
6668 pub request: ::core::option::Option<i32>,
6669 #[prost(
6671 enumeration = "request_tick_bar_update::BarType",
6672 optional,
6673 tag = "119200"
6674 )]
6675 pub bar_type: ::core::option::Option<i32>,
6676 #[prost(
6678 enumeration = "request_tick_bar_update::BarSubType",
6679 optional,
6680 tag = "119208"
6681 )]
6682 pub bar_sub_type: ::core::option::Option<i32>,
6683 #[prost(string, optional, tag = "148162")]
6685 pub bar_type_specifier: ::core::option::Option<::prost::alloc::string::String>,
6686 #[prost(int32, optional, tag = "119209")]
6688 pub custom_session_open_ssm: ::core::option::Option<i32>,
6689 #[prost(int32, optional, tag = "119210")]
6691 pub custom_session_close_ssm: ::core::option::Option<i32>,
6692}
6693pub mod request_tick_bar_update {
6695 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6696 #[repr(i32)]
6697 pub enum BarType {
6698 TickBar = 1,
6699 RangeBar = 2,
6700 VolumeBar = 3,
6701 }
6702 impl BarType {
6703 pub fn as_str_name(&self) -> &'static str {
6708 match self {
6709 Self::TickBar => "TICK_BAR",
6710 Self::RangeBar => "RANGE_BAR",
6711 Self::VolumeBar => "VOLUME_BAR",
6712 }
6713 }
6714 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6716 match value {
6717 "TICK_BAR" => Some(Self::TickBar),
6718 "RANGE_BAR" => Some(Self::RangeBar),
6719 "VOLUME_BAR" => Some(Self::VolumeBar),
6720 _ => None,
6721 }
6722 }
6723 }
6724 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6725 #[repr(i32)]
6726 pub enum BarSubType {
6727 Regular = 1,
6728 Custom = 2,
6729 }
6730 impl BarSubType {
6731 pub fn as_str_name(&self) -> &'static str {
6736 match self {
6737 Self::Regular => "REGULAR",
6738 Self::Custom => "CUSTOM",
6739 }
6740 }
6741 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6743 match value {
6744 "REGULAR" => Some(Self::Regular),
6745 "CUSTOM" => Some(Self::Custom),
6746 _ => None,
6747 }
6748 }
6749 }
6750 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6751 #[repr(i32)]
6752 pub enum Request {
6753 Subscribe = 1,
6754 Unsubscribe = 2,
6755 }
6756 impl Request {
6757 pub fn as_str_name(&self) -> &'static str {
6762 match self {
6763 Self::Subscribe => "SUBSCRIBE",
6764 Self::Unsubscribe => "UNSUBSCRIBE",
6765 }
6766 }
6767 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6769 match value {
6770 "SUBSCRIBE" => Some(Self::Subscribe),
6771 "UNSUBSCRIBE" => Some(Self::Unsubscribe),
6772 _ => None,
6773 }
6774 }
6775 }
6776}
6777#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6779pub struct ResponseTickBarUpdate {
6780 #[prost(int32, required, tag = "154467")]
6782 pub template_id: i32,
6783 #[prost(string, repeated, tag = "132760")]
6785 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6786 #[prost(string, repeated, tag = "132766")]
6788 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6789}
6790#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6791pub struct RequestTimeBarReplay {
6792 #[prost(int32, required, tag = "154467")]
6793 pub template_id: i32,
6794 #[prost(string, repeated, tag = "132760")]
6795 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6796 #[prost(string, optional, tag = "110100")]
6797 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
6798 #[prost(string, optional, tag = "110101")]
6799 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
6800 #[prost(
6801 enumeration = "request_time_bar_replay::BarType",
6802 optional,
6803 tag = "119200"
6804 )]
6805 pub bar_type: ::core::option::Option<i32>,
6806 #[prost(int32, optional, tag = "119112")]
6807 pub bar_type_period: ::core::option::Option<i32>,
6808 #[prost(int32, optional, tag = "153002")]
6809 pub start_index: ::core::option::Option<i32>,
6810 #[prost(int32, optional, tag = "153003")]
6811 pub finish_index: ::core::option::Option<i32>,
6812 #[prost(int32, optional, tag = "154020")]
6813 pub user_max_count: ::core::option::Option<i32>,
6814 #[prost(
6815 enumeration = "request_time_bar_replay::Direction",
6816 optional,
6817 tag = "149253"
6818 )]
6819 pub direction: ::core::option::Option<i32>,
6820 #[prost(
6821 enumeration = "request_time_bar_replay::TimeOrder",
6822 optional,
6823 tag = "149307"
6824 )]
6825 pub time_order: ::core::option::Option<i32>,
6826 #[prost(bool, optional, tag = "153642")]
6827 pub resume_bars: ::core::option::Option<bool>,
6828}
6829pub mod request_time_bar_replay {
6831 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6832 #[repr(i32)]
6833 pub enum BarType {
6834 SecondBar = 1,
6835 MinuteBar = 2,
6836 DailyBar = 3,
6837 WeeklyBar = 4,
6838 }
6839 impl BarType {
6840 pub fn as_str_name(&self) -> &'static str {
6845 match self {
6846 Self::SecondBar => "SECOND_BAR",
6847 Self::MinuteBar => "MINUTE_BAR",
6848 Self::DailyBar => "DAILY_BAR",
6849 Self::WeeklyBar => "WEEKLY_BAR",
6850 }
6851 }
6852 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6854 match value {
6855 "SECOND_BAR" => Some(Self::SecondBar),
6856 "MINUTE_BAR" => Some(Self::MinuteBar),
6857 "DAILY_BAR" => Some(Self::DailyBar),
6858 "WEEKLY_BAR" => Some(Self::WeeklyBar),
6859 _ => None,
6860 }
6861 }
6862 }
6863 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6864 #[repr(i32)]
6865 pub enum Direction {
6866 First = 1,
6867 Last = 2,
6868 }
6869 impl Direction {
6870 pub fn as_str_name(&self) -> &'static str {
6875 match self {
6876 Self::First => "FIRST",
6877 Self::Last => "LAST",
6878 }
6879 }
6880 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6882 match value {
6883 "FIRST" => Some(Self::First),
6884 "LAST" => Some(Self::Last),
6885 _ => None,
6886 }
6887 }
6888 }
6889 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6890 #[repr(i32)]
6891 pub enum TimeOrder {
6892 Forwards = 1,
6893 Backwards = 2,
6894 }
6895 impl TimeOrder {
6896 pub fn as_str_name(&self) -> &'static str {
6901 match self {
6902 Self::Forwards => "FORWARDS",
6903 Self::Backwards => "BACKWARDS",
6904 }
6905 }
6906 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6908 match value {
6909 "FORWARDS" => Some(Self::Forwards),
6910 "BACKWARDS" => Some(Self::Backwards),
6911 _ => None,
6912 }
6913 }
6914 }
6915}
6916#[derive(Clone, PartialEq, ::prost::Message)]
6917pub struct ResponseTimeBarReplay {
6918 #[prost(int32, required, tag = "154467")]
6919 pub template_id: i32,
6920 #[prost(string, optional, tag = "132758")]
6921 pub request_key: ::core::option::Option<::prost::alloc::string::String>,
6922 #[prost(string, repeated, tag = "132760")]
6923 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6924 #[prost(string, repeated, tag = "132764")]
6925 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6926 #[prost(string, repeated, tag = "132766")]
6927 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6928 #[prost(string, optional, tag = "110100")]
6929 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
6930 #[prost(string, optional, tag = "110101")]
6931 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
6932 #[prost(
6933 enumeration = "response_time_bar_replay::BarType",
6934 optional,
6935 tag = "119200"
6936 )]
6937 pub r#type: ::core::option::Option<i32>,
6938 #[prost(string, optional, tag = "119112")]
6939 pub period: ::core::option::Option<::prost::alloc::string::String>,
6940 #[prost(int32, optional, tag = "119100")]
6941 pub marker: ::core::option::Option<i32>,
6942 #[prost(uint64, optional, tag = "119109")]
6943 pub num_trades: ::core::option::Option<u64>,
6944 #[prost(uint64, optional, tag = "119110")]
6945 pub volume: ::core::option::Option<u64>,
6946 #[prost(uint64, optional, tag = "119117")]
6947 pub bid_volume: ::core::option::Option<u64>,
6948 #[prost(uint64, optional, tag = "119118")]
6949 pub ask_volume: ::core::option::Option<u64>,
6950 #[prost(double, optional, tag = "100019")]
6951 pub open_price: ::core::option::Option<f64>,
6952 #[prost(double, optional, tag = "100021")]
6953 pub close_price: ::core::option::Option<f64>,
6954 #[prost(double, optional, tag = "100012")]
6955 pub high_price: ::core::option::Option<f64>,
6956 #[prost(double, optional, tag = "100013")]
6957 pub low_price: ::core::option::Option<f64>,
6958 #[prost(double, optional, tag = "100070")]
6959 pub settlement_price: ::core::option::Option<f64>,
6960 #[prost(bool, optional, tag = "149138")]
6961 pub has_settlement_price: ::core::option::Option<bool>,
6962 #[prost(bool, optional, tag = "154571")]
6963 pub must_clear_settlement_price: ::core::option::Option<bool>,
6964}
6965pub mod response_time_bar_replay {
6967 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6968 #[repr(i32)]
6969 pub enum BarType {
6970 SecondBar = 1,
6971 MinuteBar = 2,
6972 DailyBar = 3,
6973 WeeklyBar = 4,
6974 }
6975 impl BarType {
6976 pub fn as_str_name(&self) -> &'static str {
6981 match self {
6982 Self::SecondBar => "SECOND_BAR",
6983 Self::MinuteBar => "MINUTE_BAR",
6984 Self::DailyBar => "DAILY_BAR",
6985 Self::WeeklyBar => "WEEKLY_BAR",
6986 }
6987 }
6988 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6990 match value {
6991 "SECOND_BAR" => Some(Self::SecondBar),
6992 "MINUTE_BAR" => Some(Self::MinuteBar),
6993 "DAILY_BAR" => Some(Self::DailyBar),
6994 "WEEKLY_BAR" => Some(Self::WeeklyBar),
6995 _ => None,
6996 }
6997 }
6998 }
6999}
7000#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
7002pub struct RequestTimeBarUpdate {
7003 #[prost(int32, required, tag = "154467")]
7005 pub template_id: i32,
7006 #[prost(string, repeated, tag = "132760")]
7008 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7009 #[prost(string, optional, tag = "110100")]
7011 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
7012 #[prost(string, optional, tag = "110101")]
7014 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
7015 #[prost(
7017 enumeration = "request_time_bar_update::Request",
7018 optional,
7019 tag = "100000"
7020 )]
7021 pub request: ::core::option::Option<i32>,
7022 #[prost(
7024 enumeration = "request_time_bar_update::BarType",
7025 optional,
7026 tag = "119200"
7027 )]
7028 pub bar_type: ::core::option::Option<i32>,
7029 #[prost(int32, optional, tag = "119112")]
7031 pub bar_type_period: ::core::option::Option<i32>,
7032}
7033pub mod request_time_bar_update {
7035 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7036 #[repr(i32)]
7037 pub enum BarType {
7038 SecondBar = 1,
7039 MinuteBar = 2,
7040 DailyBar = 3,
7041 WeeklyBar = 4,
7042 }
7043 impl BarType {
7044 pub fn as_str_name(&self) -> &'static str {
7049 match self {
7050 Self::SecondBar => "SECOND_BAR",
7051 Self::MinuteBar => "MINUTE_BAR",
7052 Self::DailyBar => "DAILY_BAR",
7053 Self::WeeklyBar => "WEEKLY_BAR",
7054 }
7055 }
7056 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7058 match value {
7059 "SECOND_BAR" => Some(Self::SecondBar),
7060 "MINUTE_BAR" => Some(Self::MinuteBar),
7061 "DAILY_BAR" => Some(Self::DailyBar),
7062 "WEEKLY_BAR" => Some(Self::WeeklyBar),
7063 _ => None,
7064 }
7065 }
7066 }
7067 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7068 #[repr(i32)]
7069 pub enum Request {
7070 Subscribe = 1,
7071 Unsubscribe = 2,
7072 }
7073 impl Request {
7074 pub fn as_str_name(&self) -> &'static str {
7079 match self {
7080 Self::Subscribe => "SUBSCRIBE",
7081 Self::Unsubscribe => "UNSUBSCRIBE",
7082 }
7083 }
7084 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7086 match value {
7087 "SUBSCRIBE" => Some(Self::Subscribe),
7088 "UNSUBSCRIBE" => Some(Self::Unsubscribe),
7089 _ => None,
7090 }
7091 }
7092 }
7093}
7094#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
7096pub struct ResponseTimeBarUpdate {
7097 #[prost(int32, required, tag = "154467")]
7099 pub template_id: i32,
7100 #[prost(string, repeated, tag = "132760")]
7102 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7103 #[prost(string, repeated, tag = "132766")]
7105 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7106}
7107#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
7108pub struct RequestVolumeProfileMinuteBars {
7109 #[prost(int32, required, tag = "154467")]
7110 pub template_id: i32,
7111 #[prost(string, repeated, tag = "132760")]
7112 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7113 #[prost(string, optional, tag = "110100")]
7114 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
7115 #[prost(string, optional, tag = "110101")]
7116 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
7117 #[prost(int32, optional, tag = "119215")]
7118 pub bar_type_period: ::core::option::Option<i32>,
7119 #[prost(int32, optional, tag = "153002")]
7120 pub start_index: ::core::option::Option<i32>,
7121 #[prost(int32, optional, tag = "153003")]
7122 pub finish_index: ::core::option::Option<i32>,
7123 #[prost(int32, optional, tag = "154020")]
7124 pub user_max_count: ::core::option::Option<i32>,
7125 #[prost(bool, optional, tag = "153642")]
7126 pub resume_bars: ::core::option::Option<bool>,
7127}
7128#[derive(Clone, PartialEq, ::prost::Message)]
7129pub struct ResponseVolumeProfileMinuteBars {
7130 #[prost(int32, required, tag = "154467")]
7131 pub template_id: i32,
7132 #[prost(string, optional, tag = "132758")]
7133 pub request_key: ::core::option::Option<::prost::alloc::string::String>,
7134 #[prost(string, repeated, tag = "132760")]
7135 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7136 #[prost(string, repeated, tag = "132764")]
7137 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7138 #[prost(string, repeated, tag = "132766")]
7139 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7140 #[prost(string, optional, tag = "110100")]
7141 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
7142 #[prost(string, optional, tag = "110101")]
7143 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
7144 #[prost(string, optional, tag = "119215")]
7145 pub period: ::core::option::Option<::prost::alloc::string::String>,
7146 #[prost(int32, optional, tag = "119100")]
7147 pub marker: ::core::option::Option<i32>,
7148 #[prost(uint64, optional, tag = "119204")]
7149 pub num_trades: ::core::option::Option<u64>,
7150 #[prost(uint64, optional, tag = "119205")]
7151 pub volume: ::core::option::Option<u64>,
7152 #[prost(uint64, optional, tag = "119213")]
7153 pub bid_volume: ::core::option::Option<u64>,
7154 #[prost(uint64, optional, tag = "119214")]
7155 pub ask_volume: ::core::option::Option<u64>,
7156 #[prost(double, optional, tag = "100019")]
7157 pub open_price: ::core::option::Option<f64>,
7158 #[prost(double, optional, tag = "100021")]
7159 pub close_price: ::core::option::Option<f64>,
7160 #[prost(double, optional, tag = "100012")]
7161 pub high_price: ::core::option::Option<f64>,
7162 #[prost(double, optional, tag = "100013")]
7163 pub low_price: ::core::option::Option<f64>,
7164 #[prost(double, repeated, packed = "false", tag = "119216")]
7165 pub profile_price: ::prost::alloc::vec::Vec<f64>,
7166 #[prost(int32, repeated, packed = "false", tag = "119217")]
7167 pub profile_no_aggressor_volume: ::prost::alloc::vec::Vec<i32>,
7168 #[prost(int32, repeated, packed = "false", tag = "119218")]
7169 pub profile_bid_volume: ::prost::alloc::vec::Vec<i32>,
7170 #[prost(int32, repeated, packed = "false", tag = "119219")]
7171 pub profile_ask_volume: ::prost::alloc::vec::Vec<i32>,
7172 #[prost(int32, repeated, packed = "false", tag = "119220")]
7173 pub profile_no_aggressor_trades: ::prost::alloc::vec::Vec<i32>,
7174 #[prost(int32, repeated, packed = "false", tag = "119221")]
7175 pub profile_bid_aggressor_trades: ::prost::alloc::vec::Vec<i32>,
7176 #[prost(int32, repeated, packed = "false", tag = "119222")]
7177 pub profile_ask_aggressor_trades: ::prost::alloc::vec::Vec<i32>,
7178}
7179#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
7180pub struct RequestResumeBars {
7181 #[prost(int32, required, tag = "154467")]
7182 pub template_id: i32,
7183 #[prost(string, repeated, tag = "132760")]
7184 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7185 #[prost(string, optional, tag = "132758")]
7186 pub request_key: ::core::option::Option<::prost::alloc::string::String>,
7187}
7188#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
7189pub struct ResponseResumeBars {
7190 #[prost(int32, required, tag = "154467")]
7191 pub template_id: i32,
7192 #[prost(string, repeated, tag = "132760")]
7193 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7194 #[prost(string, repeated, tag = "132766")]
7195 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7196}
7197#[derive(Clone, PartialEq, ::prost::Message)]
7199pub struct TickBar {
7200 #[prost(int32, required, tag = "154467")]
7202 pub template_id: i32,
7203 #[prost(string, optional, tag = "110100")]
7205 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
7206 #[prost(string, optional, tag = "110101")]
7208 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
7209 #[prost(enumeration = "tick_bar::BarType", optional, tag = "119200")]
7211 pub r#type: ::core::option::Option<i32>,
7212 #[prost(enumeration = "tick_bar::BarSubType", optional, tag = "119208")]
7214 pub sub_type: ::core::option::Option<i32>,
7215 #[prost(string, optional, tag = "148162")]
7217 pub type_specifier: ::core::option::Option<::prost::alloc::string::String>,
7218 #[prost(uint64, optional, tag = "119204")]
7220 pub num_trades: ::core::option::Option<u64>,
7221 #[prost(uint64, optional, tag = "119205")]
7223 pub volume: ::core::option::Option<u64>,
7224 #[prost(uint64, optional, tag = "119213")]
7226 pub bid_volume: ::core::option::Option<u64>,
7227 #[prost(uint64, optional, tag = "119214")]
7229 pub ask_volume: ::core::option::Option<u64>,
7230 #[prost(double, optional, tag = "100019")]
7232 pub open_price: ::core::option::Option<f64>,
7233 #[prost(double, optional, tag = "100021")]
7235 pub close_price: ::core::option::Option<f64>,
7236 #[prost(double, optional, tag = "100012")]
7238 pub high_price: ::core::option::Option<f64>,
7239 #[prost(double, optional, tag = "100013")]
7241 pub low_price: ::core::option::Option<f64>,
7242 #[prost(int32, optional, tag = "119209")]
7244 pub custom_session_open_ssm: ::core::option::Option<i32>,
7245 #[prost(int32, repeated, packed = "false", tag = "119202")]
7247 pub data_bar_ssboe: ::prost::alloc::vec::Vec<i32>,
7248 #[prost(int32, repeated, packed = "false", tag = "119203")]
7250 pub data_bar_usecs: ::prost::alloc::vec::Vec<i32>,
7251}
7252pub mod tick_bar {
7254 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7255 #[repr(i32)]
7256 pub enum BarType {
7257 TickBar = 1,
7258 RangeBar = 2,
7259 VolumeBar = 3,
7260 }
7261 impl BarType {
7262 pub fn as_str_name(&self) -> &'static str {
7267 match self {
7268 Self::TickBar => "TICK_BAR",
7269 Self::RangeBar => "RANGE_BAR",
7270 Self::VolumeBar => "VOLUME_BAR",
7271 }
7272 }
7273 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7275 match value {
7276 "TICK_BAR" => Some(Self::TickBar),
7277 "RANGE_BAR" => Some(Self::RangeBar),
7278 "VOLUME_BAR" => Some(Self::VolumeBar),
7279 _ => None,
7280 }
7281 }
7282 }
7283 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7284 #[repr(i32)]
7285 pub enum BarSubType {
7286 Regular = 1,
7287 Custom = 2,
7288 }
7289 impl BarSubType {
7290 pub fn as_str_name(&self) -> &'static str {
7295 match self {
7296 Self::Regular => "REGULAR",
7297 Self::Custom => "CUSTOM",
7298 }
7299 }
7300 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7302 match value {
7303 "REGULAR" => Some(Self::Regular),
7304 "CUSTOM" => Some(Self::Custom),
7305 _ => None,
7306 }
7307 }
7308 }
7309}
7310#[derive(Clone, PartialEq, ::prost::Message)]
7312pub struct TimeBar {
7313 #[prost(int32, required, tag = "154467")]
7315 pub template_id: i32,
7316 #[prost(string, optional, tag = "110100")]
7318 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
7319 #[prost(string, optional, tag = "110101")]
7321 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
7322 #[prost(enumeration = "time_bar::BarType", optional, tag = "119200")]
7324 pub r#type: ::core::option::Option<i32>,
7325 #[prost(string, optional, tag = "119112")]
7327 pub period: ::core::option::Option<::prost::alloc::string::String>,
7328 #[prost(int32, optional, tag = "119100")]
7330 pub marker: ::core::option::Option<i32>,
7331 #[prost(uint64, optional, tag = "119109")]
7333 pub num_trades: ::core::option::Option<u64>,
7334 #[prost(uint64, optional, tag = "119110")]
7336 pub volume: ::core::option::Option<u64>,
7337 #[prost(uint64, optional, tag = "119117")]
7339 pub bid_volume: ::core::option::Option<u64>,
7340 #[prost(uint64, optional, tag = "119118")]
7342 pub ask_volume: ::core::option::Option<u64>,
7343 #[prost(double, optional, tag = "100019")]
7345 pub open_price: ::core::option::Option<f64>,
7346 #[prost(double, optional, tag = "100021")]
7348 pub close_price: ::core::option::Option<f64>,
7349 #[prost(double, optional, tag = "100012")]
7351 pub high_price: ::core::option::Option<f64>,
7352 #[prost(double, optional, tag = "100013")]
7354 pub low_price: ::core::option::Option<f64>,
7355 #[prost(double, optional, tag = "100070")]
7357 pub settlement_price: ::core::option::Option<f64>,
7358 #[prost(bool, optional, tag = "149138")]
7360 pub has_settlement_price: ::core::option::Option<bool>,
7361 #[prost(bool, optional, tag = "154571")]
7363 pub must_clear_settlement_price: ::core::option::Option<bool>,
7364}
7365pub mod time_bar {
7367 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7368 #[repr(i32)]
7369 pub enum BarType {
7370 SecondBar = 1,
7371 MinuteBar = 2,
7372 DailyBar = 3,
7373 WeeklyBar = 4,
7374 }
7375 impl BarType {
7376 pub fn as_str_name(&self) -> &'static str {
7381 match self {
7382 Self::SecondBar => "SECOND_BAR",
7383 Self::MinuteBar => "MINUTE_BAR",
7384 Self::DailyBar => "DAILY_BAR",
7385 Self::WeeklyBar => "WEEKLY_BAR",
7386 }
7387 }
7388 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7390 match value {
7391 "SECOND_BAR" => Some(Self::SecondBar),
7392 "MINUTE_BAR" => Some(Self::MinuteBar),
7393 "DAILY_BAR" => Some(Self::DailyBar),
7394 "WEEKLY_BAR" => Some(Self::WeeklyBar),
7395 _ => None,
7396 }
7397 }
7398 }
7399}
7400#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
7401pub struct RequestListUnacceptedAgreements {
7402 #[prost(int32, required, tag = "154467")]
7403 pub template_id: i32,
7404 #[prost(string, repeated, tag = "132760")]
7405 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7406}
7407#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
7408pub struct ResponseListUnacceptedAgreements {
7409 #[prost(int32, required, tag = "154467")]
7410 pub template_id: i32,
7411 #[prost(string, repeated, tag = "132760")]
7412 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7413 #[prost(string, repeated, tag = "132764")]
7414 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7415 #[prost(string, repeated, tag = "132766")]
7416 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7417 #[prost(string, optional, tag = "154013")]
7418 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
7419 #[prost(string, optional, tag = "154014")]
7420 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
7421 #[prost(string, optional, tag = "153406")]
7422 pub agreement_title: ::core::option::Option<::prost::alloc::string::String>,
7423 #[prost(string, optional, tag = "153407")]
7424 pub agreement_id: ::core::option::Option<::prost::alloc::string::String>,
7425 #[prost(string, optional, tag = "153430")]
7426 pub agreement_acceptance_request: ::core::option::Option<::prost::alloc::string::String>,
7427}
7428#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
7429pub struct RequestListAcceptedAgreements {
7430 #[prost(int32, required, tag = "154467")]
7431 pub template_id: i32,
7432 #[prost(string, repeated, tag = "132760")]
7433 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7434}
7435#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
7436pub struct ResponseListAcceptedAgreements {
7437 #[prost(int32, required, tag = "154467")]
7438 pub template_id: i32,
7439 #[prost(string, repeated, tag = "132760")]
7440 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7441 #[prost(string, repeated, tag = "132764")]
7442 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7443 #[prost(string, repeated, tag = "132766")]
7444 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7445 #[prost(string, optional, tag = "154013")]
7446 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
7447 #[prost(string, optional, tag = "154014")]
7448 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
7449 #[prost(int32, optional, tag = "153427")]
7450 pub agreement_acceptance_ssboe: ::core::option::Option<i32>,
7451 #[prost(string, optional, tag = "153426")]
7452 pub agreement_acceptance_status: ::core::option::Option<::prost::alloc::string::String>,
7453 #[prost(string, optional, tag = "153430")]
7454 pub agreement_acceptance_request: ::core::option::Option<::prost::alloc::string::String>,
7455 #[prost(string, optional, tag = "153406")]
7456 pub agreement_title: ::core::option::Option<::prost::alloc::string::String>,
7457 #[prost(string, optional, tag = "153407")]
7458 pub agreement_id: ::core::option::Option<::prost::alloc::string::String>,
7459}
7460#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
7461pub struct RequestAcceptAgreement {
7462 #[prost(int32, required, tag = "154467")]
7463 pub template_id: i32,
7464 #[prost(string, repeated, tag = "132760")]
7465 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7466 #[prost(string, optional, tag = "153407")]
7467 pub agreement_id: ::core::option::Option<::prost::alloc::string::String>,
7468 #[prost(string, optional, tag = "153431")]
7470 pub market_data_usage_capacity: ::core::option::Option<::prost::alloc::string::String>,
7471}
7472#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
7473pub struct ResponseAcceptAgreement {
7474 #[prost(int32, required, tag = "154467")]
7475 pub template_id: i32,
7476 #[prost(string, repeated, tag = "132760")]
7477 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7478 #[prost(string, repeated, tag = "132766")]
7479 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7480}
7481#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
7482pub struct RequestSetRithmicMrktDataSelfCertStatus {
7483 #[prost(int32, required, tag = "154467")]
7484 pub template_id: i32,
7485 #[prost(string, repeated, tag = "132760")]
7486 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7487 #[prost(string, optional, tag = "153407")]
7488 pub agreement_id: ::core::option::Option<::prost::alloc::string::String>,
7489 #[prost(string, optional, tag = "153431")]
7490 pub market_data_usage_capacity: ::core::option::Option<::prost::alloc::string::String>,
7491}
7492#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
7493pub struct ResponseSetRithmicMrktDataSelfCertStatus {
7494 #[prost(int32, required, tag = "154467")]
7495 pub template_id: i32,
7496 #[prost(string, repeated, tag = "132760")]
7497 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7498 #[prost(string, repeated, tag = "132766")]
7499 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7500}
7501#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
7502pub struct RequestShowAgreement {
7503 #[prost(int32, required, tag = "154467")]
7504 pub template_id: i32,
7505 #[prost(string, repeated, tag = "132760")]
7506 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7507 #[prost(string, optional, tag = "153407")]
7508 pub agreement_id: ::core::option::Option<::prost::alloc::string::String>,
7509}
7510#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
7511pub struct ResponseShowAgreement {
7512 #[prost(int32, required, tag = "154467")]
7513 pub template_id: i32,
7514 #[prost(string, repeated, tag = "132760")]
7515 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7516 #[prost(string, repeated, tag = "132764")]
7517 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7518 #[prost(string, repeated, tag = "132766")]
7519 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7520 #[prost(string, optional, tag = "153406")]
7521 pub agreement_title: ::core::option::Option<::prost::alloc::string::String>,
7522 #[prost(string, optional, tag = "153407")]
7523 pub agreement_id: ::core::option::Option<::prost::alloc::string::String>,
7524 #[prost(bytes = "vec", optional, tag = "153405")]
7525 pub agreement: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
7526 #[prost(bytes = "vec", optional, tag = "153432")]
7527 pub agreement_html: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
7528 #[prost(string, optional, tag = "153410")]
7529 pub agreement_mandatory_flag: ::core::option::Option<::prost::alloc::string::String>,
7530 #[prost(string, optional, tag = "153415")]
7531 pub agreement_status: ::core::option::Option<::prost::alloc::string::String>,
7532 #[prost(string, optional, tag = "153430")]
7533 pub agreement_acceptance_request: ::core::option::Option<::prost::alloc::string::String>,
7534}