1pub mod messages;
2
3#[allow(clippy::derive_partial_eq_without_eq)]
5#[derive(Clone, PartialEq, ::prost::Message)]
6pub struct MessageType {
7 #[prost(int32, required, tag = "154467")]
9 pub template_id: i32,
10}
11#[allow(clippy::derive_partial_eq_without_eq)]
12#[derive(Clone, PartialEq, ::prost::Message)]
13pub struct RequestLogin {
14 #[prost(int32, required, tag = "154467")]
15 pub template_id: i32,
16 #[prost(string, optional, tag = "153634")]
17 pub template_version: ::core::option::Option<::prost::alloc::string::String>,
18 #[prost(string, repeated, tag = "132760")]
19 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
20 #[prost(string, optional, tag = "131003")]
21 pub user: ::core::option::Option<::prost::alloc::string::String>,
22 #[prost(string, optional, tag = "130004")]
23 pub password: ::core::option::Option<::prost::alloc::string::String>,
24 #[prost(string, optional, tag = "130002")]
25 pub app_name: ::core::option::Option<::prost::alloc::string::String>,
26 #[prost(string, optional, tag = "131803")]
27 pub app_version: ::core::option::Option<::prost::alloc::string::String>,
28 #[prost(string, optional, tag = "153628")]
29 pub system_name: ::core::option::Option<::prost::alloc::string::String>,
30 #[prost(enumeration = "request_login::SysInfraType", optional, tag = "153621")]
31 pub infra_type: ::core::option::Option<i32>,
32 #[prost(string, repeated, tag = "144108")]
33 pub mac_addr: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
34 #[prost(string, optional, tag = "144021")]
35 pub os_version: ::core::option::Option<::prost::alloc::string::String>,
36 #[prost(string, optional, tag = "144020")]
37 pub os_platform: ::core::option::Option<::prost::alloc::string::String>,
38 #[prost(bool, optional, tag = "153644")]
40 pub aggregated_quotes: ::core::option::Option<bool>,
41}
42pub mod request_login {
44 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
45 #[repr(i32)]
46 pub enum SysInfraType {
47 TickerPlant = 1,
48 OrderPlant = 2,
49 HistoryPlant = 3,
50 PnlPlant = 4,
51 RepositoryPlant = 5,
52 }
53 impl SysInfraType {
54 pub fn as_str_name(&self) -> &'static str {
59 match self {
60 Self::TickerPlant => "TICKER_PLANT",
61 Self::OrderPlant => "ORDER_PLANT",
62 Self::HistoryPlant => "HISTORY_PLANT",
63 Self::PnlPlant => "PNL_PLANT",
64 Self::RepositoryPlant => "REPOSITORY_PLANT",
65 }
66 }
67 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
69 match value {
70 "TICKER_PLANT" => Some(Self::TickerPlant),
71 "ORDER_PLANT" => Some(Self::OrderPlant),
72 "HISTORY_PLANT" => Some(Self::HistoryPlant),
73 "PNL_PLANT" => Some(Self::PnlPlant),
74 "REPOSITORY_PLANT" => Some(Self::RepositoryPlant),
75 _ => None,
76 }
77 }
78 }
79}
80#[derive(Clone, PartialEq, ::prost::Message)]
81pub struct ResponseLogin {
82 #[prost(int32, required, tag = "154467")]
83 pub template_id: i32,
84 #[prost(string, optional, tag = "153634")]
85 pub template_version: ::core::option::Option<::prost::alloc::string::String>,
86 #[prost(string, repeated, tag = "132760")]
87 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
88 #[prost(string, repeated, tag = "132766")]
89 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
90 #[prost(string, optional, tag = "154013")]
91 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
92 #[prost(string, optional, tag = "154014")]
93 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
94 #[prost(string, optional, tag = "154712")]
95 pub country_code: ::core::option::Option<::prost::alloc::string::String>,
96 #[prost(string, optional, tag = "154713")]
97 pub state_code: ::core::option::Option<::prost::alloc::string::String>,
98 #[prost(string, optional, tag = "153428")]
99 pub unique_user_id: ::core::option::Option<::prost::alloc::string::String>,
100 #[prost(double, optional, tag = "153633")]
101 pub heartbeat_interval: ::core::option::Option<f64>,
102}
103#[derive(Clone, PartialEq, ::prost::Message)]
105pub struct RequestLogout {
106 #[prost(int32, required, tag = "154467")]
108 pub template_id: i32,
109 #[prost(string, repeated, tag = "132760")]
111 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
112}
113#[derive(Clone, PartialEq, ::prost::Message)]
115pub struct ResponseLogout {
116 #[prost(int32, required, tag = "154467")]
118 pub template_id: i32,
119 #[prost(string, repeated, tag = "132760")]
121 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
122 #[prost(string, repeated, tag = "132766")]
124 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
125}
126#[derive(Clone, PartialEq, ::prost::Message)]
127pub struct RequestReferenceData {
128 #[prost(int32, required, tag = "154467")]
129 pub template_id: i32,
130 #[prost(string, repeated, tag = "132760")]
131 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
132 #[prost(string, optional, tag = "110100")]
133 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
134 #[prost(string, optional, tag = "110101")]
135 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
136}
137#[derive(Clone, PartialEq, ::prost::Message)]
140pub struct ResponseReferenceData {
141 #[prost(int32, required, tag = "154467")]
142 pub template_id: i32,
143 #[prost(string, repeated, tag = "132760")]
144 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
145 #[prost(string, repeated, tag = "132766")]
146 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
147 #[prost(uint32, optional, tag = "149138")]
148 pub presence_bits: ::core::option::Option<u32>,
149 #[prost(uint32, optional, tag = "154571")]
150 pub clear_bits: ::core::option::Option<u32>,
151 #[prost(string, optional, tag = "110100")]
152 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
153 #[prost(string, optional, tag = "110101")]
154 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
155 #[prost(string, optional, tag = "110114")]
156 pub exchange_symbol: ::core::option::Option<::prost::alloc::string::String>,
157 #[prost(string, optional, tag = "100003")]
158 pub symbol_name: ::core::option::Option<::prost::alloc::string::String>,
159 #[prost(string, optional, tag = "157095")]
160 pub trading_symbol: ::core::option::Option<::prost::alloc::string::String>,
161 #[prost(string, optional, tag = "157096")]
162 pub trading_exchange: ::core::option::Option<::prost::alloc::string::String>,
163 #[prost(string, optional, tag = "100749")]
164 pub product_code: ::core::option::Option<::prost::alloc::string::String>,
165 #[prost(string, optional, tag = "110116")]
166 pub instrument_type: ::core::option::Option<::prost::alloc::string::String>,
167 #[prost(string, optional, tag = "101026")]
168 pub underlying_symbol: ::core::option::Option<::prost::alloc::string::String>,
169 #[prost(string, optional, tag = "100067")]
170 pub expiration_date: ::core::option::Option<::prost::alloc::string::String>,
171 #[prost(string, optional, tag = "154382")]
172 pub currency: ::core::option::Option<::prost::alloc::string::String>,
173 #[prost(string, optional, tag = "100109")]
174 pub put_call_indicator: ::core::option::Option<::prost::alloc::string::String>,
175 #[prost(string, optional, tag = "154167")]
176 pub tick_size_type: ::core::option::Option<::prost::alloc::string::String>,
177 #[prost(string, optional, tag = "154390")]
178 pub price_display_format: ::core::option::Option<::prost::alloc::string::String>,
179 #[prost(string, optional, tag = "154844")]
180 pub is_tradable: ::core::option::Option<::prost::alloc::string::String>,
181 #[prost(string, optional, tag = "154952")]
182 pub is_underlying_for_binary_contrats: ::core::option::Option<::prost::alloc::string::String>,
183 #[prost(double, optional, tag = "100066")]
184 pub strike_price: ::core::option::Option<f64>,
185 #[prost(double, optional, tag = "154384")]
186 pub ftoq_price: ::core::option::Option<f64>,
187 #[prost(double, optional, tag = "154385")]
188 pub qtof_price: ::core::option::Option<f64>,
189 #[prost(double, optional, tag = "154386")]
190 pub min_qprice_change: ::core::option::Option<f64>,
191 #[prost(double, optional, tag = "154387")]
192 pub min_fprice_change: ::core::option::Option<f64>,
193 #[prost(double, optional, tag = "154389")]
194 pub single_point_value: ::core::option::Option<f64>,
195}
196pub mod response_reference_data {
198 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
200 #[repr(i32)]
201 pub enum PresenceBits {
202 ExchangeSymbol = 1,
203 SymbolName = 2,
204 ProductCode = 4,
205 InstrumentType = 8,
206 UnderlyingSymbol = 16,
207 ExpirationDate = 32,
208 Currency = 64,
209 PutCallIndicator = 128,
210 StrikePrice = 256,
211 FpriceToQprice = 512,
212 QpriceToFprice = 1024,
213 MinQpriceChange = 2048,
214 MinFrpiceChange = 4096,
215 SinglePointValue = 8192,
216 TickSizeType = 16384,
217 PriceDisplayFormat = 32768,
218 IsTradable = 65536,
219 TradingSymbol = 131072,
220 TradingExchange = 262144,
221 IsUnderlyingForBinaryContracts = 8388608,
222 }
223 impl PresenceBits {
224 pub fn as_str_name(&self) -> &'static str {
229 match self {
230 Self::ExchangeSymbol => "EXCHANGE_SYMBOL",
231 Self::SymbolName => "SYMBOL_NAME",
232 Self::ProductCode => "PRODUCT_CODE",
233 Self::InstrumentType => "INSTRUMENT_TYPE",
234 Self::UnderlyingSymbol => "UNDERLYING_SYMBOL",
235 Self::ExpirationDate => "EXPIRATION_DATE",
236 Self::Currency => "CURRENCY",
237 Self::PutCallIndicator => "PUT_CALL_INDICATOR",
238 Self::StrikePrice => "STRIKE_PRICE",
239 Self::FpriceToQprice => "FPRICE_TO_QPRICE",
240 Self::QpriceToFprice => "QPRICE_TO_FPRICE",
241 Self::MinQpriceChange => "MIN_QPRICE_CHANGE",
242 Self::MinFrpiceChange => "MIN_FRPICE_CHANGE",
243 Self::SinglePointValue => "SINGLE_POINT_VALUE",
244 Self::TickSizeType => "TICK_SIZE_TYPE",
245 Self::PriceDisplayFormat => "PRICE_DISPLAY_FORMAT",
246 Self::IsTradable => "IS_TRADABLE",
247 Self::TradingSymbol => "TRADING_SYMBOL",
248 Self::TradingExchange => "TRADING_EXCHANGE",
249 Self::IsUnderlyingForBinaryContracts => "IS_UNDERLYING_FOR_BINARY_CONTRACTS",
250 }
251 }
252 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
254 match value {
255 "EXCHANGE_SYMBOL" => Some(Self::ExchangeSymbol),
256 "SYMBOL_NAME" => Some(Self::SymbolName),
257 "PRODUCT_CODE" => Some(Self::ProductCode),
258 "INSTRUMENT_TYPE" => Some(Self::InstrumentType),
259 "UNDERLYING_SYMBOL" => Some(Self::UnderlyingSymbol),
260 "EXPIRATION_DATE" => Some(Self::ExpirationDate),
261 "CURRENCY" => Some(Self::Currency),
262 "PUT_CALL_INDICATOR" => Some(Self::PutCallIndicator),
263 "STRIKE_PRICE" => Some(Self::StrikePrice),
264 "FPRICE_TO_QPRICE" => Some(Self::FpriceToQprice),
265 "QPRICE_TO_FPRICE" => Some(Self::QpriceToFprice),
266 "MIN_QPRICE_CHANGE" => Some(Self::MinQpriceChange),
267 "MIN_FRPICE_CHANGE" => Some(Self::MinFrpiceChange),
268 "SINGLE_POINT_VALUE" => Some(Self::SinglePointValue),
269 "TICK_SIZE_TYPE" => Some(Self::TickSizeType),
270 "PRICE_DISPLAY_FORMAT" => Some(Self::PriceDisplayFormat),
271 "IS_TRADABLE" => Some(Self::IsTradable),
272 "TRADING_SYMBOL" => Some(Self::TradingSymbol),
273 "TRADING_EXCHANGE" => Some(Self::TradingExchange),
274 "IS_UNDERLYING_FOR_BINARY_CONTRACTS" => Some(Self::IsUnderlyingForBinaryContracts),
275 _ => None,
276 }
277 }
278 }
279}
280#[derive(Clone, PartialEq, ::prost::Message)]
281pub struct RequestRithmicSystemInfo {
282 #[prost(int32, required, tag = "154467")]
283 pub template_id: i32,
284 #[prost(string, repeated, tag = "132760")]
285 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
286}
287#[derive(Clone, PartialEq, ::prost::Message)]
288pub struct ResponseRithmicSystemInfo {
289 #[prost(int32, required, tag = "154467")]
290 pub template_id: i32,
291 #[prost(string, repeated, tag = "132760")]
292 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
293 #[prost(string, repeated, tag = "132766")]
294 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
295 #[prost(string, repeated, tag = "153628")]
296 pub system_name: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
297 #[prost(bool, repeated, packed = "false", tag = "153649")]
298 pub has_aggregated_quotes: ::prost::alloc::vec::Vec<bool>,
299}
300#[derive(Clone, PartialEq, ::prost::Message)]
301pub struct RequestRithmicSystemGatewayInfo {
302 #[prost(int32, required, tag = "154467")]
303 pub template_id: i32,
304 #[prost(string, repeated, tag = "132760")]
305 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
306 #[prost(string, optional, tag = "153628")]
307 pub system_name: ::core::option::Option<::prost::alloc::string::String>,
308}
309#[derive(Clone, PartialEq, ::prost::Message)]
310pub struct ResponseRithmicSystemGatewayInfo {
311 #[prost(int32, required, tag = "154467")]
312 pub template_id: i32,
313 #[prost(string, repeated, tag = "132760")]
314 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
315 #[prost(string, repeated, tag = "132766")]
316 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
317 #[prost(string, optional, tag = "153628")]
318 pub system_name: ::core::option::Option<::prost::alloc::string::String>,
319 #[prost(string, repeated, tag = "153640")]
320 pub gateway_name: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
321 #[prost(string, repeated, tag = "153641")]
322 pub gateway_uri: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
323}
324#[derive(Clone, PartialEq, ::prost::Message)]
326pub struct RequestHeartbeat {
327 #[prost(int32, required, tag = "154467")]
329 pub template_id: i32,
330 #[prost(string, repeated, tag = "132760")]
332 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
333 #[prost(int32, optional, tag = "150100")]
335 pub ssboe: ::core::option::Option<i32>,
336 #[prost(int32, optional, tag = "150101")]
338 pub usecs: ::core::option::Option<i32>,
339}
340#[derive(Clone, PartialEq, ::prost::Message)]
342pub struct ResponseHeartbeat {
343 #[prost(int32, required, tag = "154467")]
345 pub template_id: i32,
346 #[prost(string, repeated, tag = "132760")]
348 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
349 #[prost(string, repeated, tag = "132766")]
351 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
352 #[prost(int32, optional, tag = "150100")]
354 pub ssboe: ::core::option::Option<i32>,
355 #[prost(int32, optional, tag = "150101")]
357 pub usecs: ::core::option::Option<i32>,
358}
359#[derive(Clone, PartialEq, ::prost::Message)]
361pub struct Reject {
362 #[prost(int32, required, tag = "154467")]
364 pub template_id: i32,
365 #[prost(string, repeated, tag = "132760")]
367 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
368 #[prost(string, repeated, tag = "132766")]
370 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
371}
372#[derive(Clone, Copy, PartialEq, ::prost::Message)]
374pub struct ForcedLogout {
375 #[prost(int32, required, tag = "154467")]
377 pub template_id: i32,
378}
379#[derive(Clone, PartialEq, ::prost::Message)]
380pub struct UserAccountUpdate {
381 #[prost(int32, required, tag = "154467")]
382 pub template_id: i32,
383 #[prost(
384 enumeration = "user_account_update::UpdateType",
385 optional,
386 tag = "154288"
387 )]
388 pub update_type: ::core::option::Option<i32>,
389 #[prost(
390 enumeration = "user_account_update::AccessType",
391 optional,
392 tag = "154000"
393 )]
394 pub access_type: ::core::option::Option<i32>,
395 #[prost(string, optional, tag = "154247")]
396 pub source_user_id: ::core::option::Option<::prost::alloc::string::String>,
397 #[prost(string, optional, tag = "131003")]
398 pub user: ::core::option::Option<::prost::alloc::string::String>,
399 #[prost(string, optional, tag = "154013")]
400 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
401 #[prost(string, optional, tag = "154014")]
402 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
403 #[prost(string, optional, tag = "154008")]
404 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
405 #[prost(string, optional, tag = "154002")]
406 pub account_name: ::core::option::Option<::prost::alloc::string::String>,
407 #[prost(int32, optional, tag = "150100")]
408 pub ssboe: ::core::option::Option<i32>,
409 #[prost(int32, optional, tag = "150101")]
410 pub usecs: ::core::option::Option<i32>,
411}
412pub mod user_account_update {
414 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
415 #[repr(i32)]
416 pub enum UpdateType {
417 Add = 1,
418 Remove = 2,
419 }
420 impl UpdateType {
421 pub fn as_str_name(&self) -> &'static str {
426 match self {
427 Self::Add => "ADD",
428 Self::Remove => "REMOVE",
429 }
430 }
431 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
433 match value {
434 "ADD" => Some(Self::Add),
435 "REMOVE" => Some(Self::Remove),
436 _ => None,
437 }
438 }
439 }
440 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
441 #[repr(i32)]
442 pub enum AccessType {
443 ReadOnly = 0,
444 ReadWrite = 1,
445 }
446 impl AccessType {
447 pub fn as_str_name(&self) -> &'static str {
452 match self {
453 Self::ReadOnly => "READ_ONLY",
454 Self::ReadWrite => "READ_WRITE",
455 }
456 }
457 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
459 match value {
460 "READ_ONLY" => Some(Self::ReadOnly),
461 "READ_WRITE" => Some(Self::ReadWrite),
462 _ => None,
463 }
464 }
465 }
466}
467#[derive(Clone, PartialEq, ::prost::Message)]
470pub struct RequestMarketDataUpdate {
471 #[prost(int32, required, tag = "154467")]
472 pub template_id: i32,
473 #[prost(string, repeated, tag = "132760")]
474 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
475 #[prost(string, optional, tag = "110100")]
476 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
477 #[prost(string, optional, tag = "110101")]
478 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
479 #[prost(
480 enumeration = "request_market_data_update::Request",
481 optional,
482 tag = "100000"
483 )]
484 pub request: ::core::option::Option<i32>,
485 #[prost(uint32, optional, tag = "154211")]
486 pub update_bits: ::core::option::Option<u32>,
487}
488pub mod request_market_data_update {
490 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
492 #[repr(i32)]
493 pub enum UpdateBits {
494 LastTrade = 1,
495 Bbo = 2,
496 OrderBook = 4,
497 Open = 8,
498 OpeningIndicator = 16,
499 HighLow = 32,
500 HighBidLowAsk = 64,
501 Close = 128,
502 ClosingIndicator = 256,
503 Settlement = 512,
504 MarketMode = 1024,
505 OpenInterest = 2048,
506 MarginRate = 4096,
507 HighPriceLimit = 8192,
508 LowPriceLimit = 16384,
509 ProjectedSettlement = 32768,
510 AdjustedClose = 65536,
511 }
512 impl UpdateBits {
513 pub fn as_str_name(&self) -> &'static str {
518 match self {
519 Self::LastTrade => "LAST_TRADE",
520 Self::Bbo => "BBO",
521 Self::OrderBook => "ORDER_BOOK",
522 Self::Open => "OPEN",
523 Self::OpeningIndicator => "OPENING_INDICATOR",
524 Self::HighLow => "HIGH_LOW",
525 Self::HighBidLowAsk => "HIGH_BID_LOW_ASK",
526 Self::Close => "CLOSE",
527 Self::ClosingIndicator => "CLOSING_INDICATOR",
528 Self::Settlement => "SETTLEMENT",
529 Self::MarketMode => "MARKET_MODE",
530 Self::OpenInterest => "OPEN_INTEREST",
531 Self::MarginRate => "MARGIN_RATE",
532 Self::HighPriceLimit => "HIGH_PRICE_LIMIT",
533 Self::LowPriceLimit => "LOW_PRICE_LIMIT",
534 Self::ProjectedSettlement => "PROJECTED_SETTLEMENT",
535 Self::AdjustedClose => "ADJUSTED_CLOSE",
536 }
537 }
538 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
540 match value {
541 "LAST_TRADE" => Some(Self::LastTrade),
542 "BBO" => Some(Self::Bbo),
543 "ORDER_BOOK" => Some(Self::OrderBook),
544 "OPEN" => Some(Self::Open),
545 "OPENING_INDICATOR" => Some(Self::OpeningIndicator),
546 "HIGH_LOW" => Some(Self::HighLow),
547 "HIGH_BID_LOW_ASK" => Some(Self::HighBidLowAsk),
548 "CLOSE" => Some(Self::Close),
549 "CLOSING_INDICATOR" => Some(Self::ClosingIndicator),
550 "SETTLEMENT" => Some(Self::Settlement),
551 "MARKET_MODE" => Some(Self::MarketMode),
552 "OPEN_INTEREST" => Some(Self::OpenInterest),
553 "MARGIN_RATE" => Some(Self::MarginRate),
554 "HIGH_PRICE_LIMIT" => Some(Self::HighPriceLimit),
555 "LOW_PRICE_LIMIT" => Some(Self::LowPriceLimit),
556 "PROJECTED_SETTLEMENT" => Some(Self::ProjectedSettlement),
557 "ADJUSTED_CLOSE" => Some(Self::AdjustedClose),
558 _ => None,
559 }
560 }
561 }
562 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
563 #[repr(i32)]
564 pub enum Request {
565 Subscribe = 1,
566 Unsubscribe = 2,
567 }
568 impl Request {
569 pub fn as_str_name(&self) -> &'static str {
574 match self {
575 Self::Subscribe => "SUBSCRIBE",
576 Self::Unsubscribe => "UNSUBSCRIBE",
577 }
578 }
579 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
581 match value {
582 "SUBSCRIBE" => Some(Self::Subscribe),
583 "UNSUBSCRIBE" => Some(Self::Unsubscribe),
584 _ => None,
585 }
586 }
587 }
588}
589#[derive(Clone, PartialEq, ::prost::Message)]
590pub struct ResponseMarketDataUpdate {
591 #[prost(int32, required, tag = "154467")]
592 pub template_id: i32,
593 #[prost(string, repeated, tag = "132760")]
594 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
595 #[prost(string, repeated, tag = "132766")]
596 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
597}
598#[derive(Clone, PartialEq, ::prost::Message)]
600pub struct RequestAuxilliaryReferenceData {
601 #[prost(int32, required, tag = "154467")]
603 pub template_id: i32,
604 #[prost(string, repeated, tag = "132760")]
606 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
607 #[prost(string, optional, tag = "110100")]
609 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
610 #[prost(string, optional, tag = "110101")]
612 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
613}
614#[derive(Clone, PartialEq, ::prost::Message)]
617pub struct ResponseAuxilliaryReferenceData {
618 #[prost(int32, required, tag = "154467")]
620 pub template_id: i32,
621 #[prost(string, repeated, tag = "132760")]
623 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
624 #[prost(string, repeated, tag = "132766")]
626 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
627 #[prost(uint32, optional, tag = "149138")]
629 pub presence_bits: ::core::option::Option<u32>,
630 #[prost(uint32, optional, tag = "154571")]
632 pub clear_bits: ::core::option::Option<u32>,
633 #[prost(string, optional, tag = "110100")]
635 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
636 #[prost(string, optional, tag = "110101")]
638 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
639 #[prost(string, optional, tag = "153294")]
641 pub settlement_method: ::core::option::Option<::prost::alloc::string::String>,
642 #[prost(string, optional, tag = "154932")]
644 pub first_notice_date: ::core::option::Option<::prost::alloc::string::String>,
645 #[prost(string, optional, tag = "154933")]
647 pub last_notice_date: ::core::option::Option<::prost::alloc::string::String>,
648 #[prost(string, optional, tag = "154996")]
650 pub first_trading_date: ::core::option::Option<::prost::alloc::string::String>,
651 #[prost(string, optional, tag = "154236")]
653 pub last_trading_date: ::core::option::Option<::prost::alloc::string::String>,
654 #[prost(string, optional, tag = "154994")]
656 pub first_delivery_date: ::core::option::Option<::prost::alloc::string::String>,
657 #[prost(string, optional, tag = "154995")]
659 pub last_delivery_date: ::core::option::Option<::prost::alloc::string::String>,
660 #[prost(string, optional, tag = "154997")]
662 pub first_position_date: ::core::option::Option<::prost::alloc::string::String>,
663 #[prost(string, optional, tag = "154998")]
665 pub last_position_date: ::core::option::Option<::prost::alloc::string::String>,
666 #[prost(string, optional, tag = "157023")]
668 pub unit_of_measure: ::core::option::Option<::prost::alloc::string::String>,
669 #[prost(double, optional, tag = "157024")]
671 pub unit_of_measure_qty: ::core::option::Option<f64>,
672}
673pub mod response_auxilliary_reference_data {
675 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
677 #[repr(i32)]
678 pub enum PresenceBits {
679 SettlementMethod = 1,
680 FirstNoticeDate = 2,
681 LastNoticeDate = 4,
682 FirstTradingDate = 8,
683 LastTradingDate = 16,
684 FirstDeliveryDate = 32,
685 LastDeliveryDate = 64,
686 FirstPositionDate = 128,
687 LastPositionDate = 256,
688 UnitOfMeasure = 512,
689 UnitOfMeasureQty = 1024,
690 }
691 impl PresenceBits {
692 pub fn as_str_name(&self) -> &'static str {
697 match self {
698 Self::SettlementMethod => "SETTLEMENT_METHOD",
699 Self::FirstNoticeDate => "FIRST_NOTICE_DATE",
700 Self::LastNoticeDate => "LAST_NOTICE_DATE",
701 Self::FirstTradingDate => "FIRST_TRADING_DATE",
702 Self::LastTradingDate => "LAST_TRADING_DATE",
703 Self::FirstDeliveryDate => "FIRST_DELIVERY_DATE",
704 Self::LastDeliveryDate => "LAST_DELIVERY_DATE",
705 Self::FirstPositionDate => "FIRST_POSITION_DATE",
706 Self::LastPositionDate => "LAST_POSITION_DATE",
707 Self::UnitOfMeasure => "UNIT_OF_MEASURE",
708 Self::UnitOfMeasureQty => "UNIT_OF_MEASURE_QTY",
709 }
710 }
711 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
713 match value {
714 "SETTLEMENT_METHOD" => Some(Self::SettlementMethod),
715 "FIRST_NOTICE_DATE" => Some(Self::FirstNoticeDate),
716 "LAST_NOTICE_DATE" => Some(Self::LastNoticeDate),
717 "FIRST_TRADING_DATE" => Some(Self::FirstTradingDate),
718 "LAST_TRADING_DATE" => Some(Self::LastTradingDate),
719 "FIRST_DELIVERY_DATE" => Some(Self::FirstDeliveryDate),
720 "LAST_DELIVERY_DATE" => Some(Self::LastDeliveryDate),
721 "FIRST_POSITION_DATE" => Some(Self::FirstPositionDate),
722 "LAST_POSITION_DATE" => Some(Self::LastPositionDate),
723 "UNIT_OF_MEASURE" => Some(Self::UnitOfMeasure),
724 "UNIT_OF_MEASURE_QTY" => Some(Self::UnitOfMeasureQty),
725 _ => None,
726 }
727 }
728 }
729}
730#[derive(Clone, PartialEq, ::prost::Message)]
732pub struct RequestGiveTickSizeTypeTable {
733 #[prost(int32, required, tag = "154467")]
735 pub template_id: i32,
736 #[prost(string, repeated, tag = "132760")]
738 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
739 #[prost(string, optional, tag = "154167")]
741 pub tick_size_type: ::core::option::Option<::prost::alloc::string::String>,
742}
743#[derive(Clone, PartialEq, ::prost::Message)]
745pub struct ResponseGiveTickSizeTypeTable {
746 #[prost(int32, required, tag = "154467")]
748 pub template_id: i32,
749 #[prost(string, repeated, tag = "132760")]
751 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
752 #[prost(string, repeated, tag = "132764")]
754 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
755 #[prost(string, repeated, tag = "132766")]
757 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
758 #[prost(uint32, optional, tag = "149138")]
760 pub presence_bits: ::core::option::Option<u32>,
761 #[prost(string, optional, tag = "154167")]
763 pub tick_size_type: ::core::option::Option<::prost::alloc::string::String>,
764 #[prost(string, optional, tag = "154170")]
766 pub tick_size_fp_operator: ::core::option::Option<::prost::alloc::string::String>,
767 #[prost(string, optional, tag = "154171")]
769 pub tick_size_lp_operator: ::core::option::Option<::prost::alloc::string::String>,
770 #[prost(double, optional, tag = "154387")]
772 pub min_fprice_change: ::core::option::Option<f64>,
773 #[prost(double, optional, tag = "154168")]
775 pub tick_size_first_price: ::core::option::Option<f64>,
776 #[prost(double, optional, tag = "154169")]
778 pub tick_size_last_price: ::core::option::Option<f64>,
779}
780pub mod response_give_tick_size_type_table {
782 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
784 #[repr(i32)]
785 pub enum PresenceBits {
786 TickSizeFirstPrice = 1,
787 TickSizeLastPrice = 2,
788 TickSizeFpOperator = 4,
789 TickSizeLpOperator = 8,
790 }
791 impl PresenceBits {
792 pub fn as_str_name(&self) -> &'static str {
797 match self {
798 Self::TickSizeFirstPrice => "TICK_SIZE_FIRST_PRICE",
799 Self::TickSizeLastPrice => "TICK_SIZE_LAST_PRICE",
800 Self::TickSizeFpOperator => "TICK_SIZE_FP_OPERATOR",
801 Self::TickSizeLpOperator => "TICK_SIZE_LP_OPERATOR",
802 }
803 }
804 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
806 match value {
807 "TICK_SIZE_FIRST_PRICE" => Some(Self::TickSizeFirstPrice),
808 "TICK_SIZE_LAST_PRICE" => Some(Self::TickSizeLastPrice),
809 "TICK_SIZE_FP_OPERATOR" => Some(Self::TickSizeFpOperator),
810 "TICK_SIZE_LP_OPERATOR" => Some(Self::TickSizeLpOperator),
811 _ => None,
812 }
813 }
814 }
815}
816#[derive(Clone, PartialEq, ::prost::Message)]
818pub struct RequestGetInstrumentByUnderlying {
819 #[prost(int32, required, tag = "154467")]
821 pub template_id: i32,
822 #[prost(string, repeated, tag = "132760")]
824 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
825 #[prost(string, optional, tag = "101026")]
827 pub underlying_symbol: ::core::option::Option<::prost::alloc::string::String>,
828 #[prost(string, optional, tag = "110101")]
830 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
831 #[prost(string, optional, tag = "100067")]
833 pub expiration_date: ::core::option::Option<::prost::alloc::string::String>,
834}
835#[derive(Clone, PartialEq, ::prost::Message)]
838pub struct ResponseGetInstrumentByUnderlying {
839 #[prost(int32, required, tag = "154467")]
841 pub template_id: i32,
842 #[prost(string, repeated, tag = "132760")]
844 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
845 #[prost(string, repeated, tag = "132764")]
847 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
848 #[prost(string, repeated, tag = "132766")]
850 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
851 #[prost(uint32, optional, tag = "149138")]
853 pub presence_bits: ::core::option::Option<u32>,
854 #[prost(uint32, optional, tag = "154571")]
856 pub clear_bits: ::core::option::Option<u32>,
857 #[prost(string, optional, tag = "110100")]
859 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
860 #[prost(string, optional, tag = "110101")]
862 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
863 #[prost(string, optional, tag = "110114")]
865 pub exchange_symbol: ::core::option::Option<::prost::alloc::string::String>,
866 #[prost(string, optional, tag = "100003")]
868 pub symbol_name: ::core::option::Option<::prost::alloc::string::String>,
869 #[prost(string, optional, tag = "100749")]
871 pub product_code: ::core::option::Option<::prost::alloc::string::String>,
872 #[prost(string, optional, tag = "110116")]
874 pub instrument_type: ::core::option::Option<::prost::alloc::string::String>,
875 #[prost(string, optional, tag = "101026")]
877 pub underlying_symbol: ::core::option::Option<::prost::alloc::string::String>,
878 #[prost(string, optional, tag = "100067")]
880 pub expiration_date: ::core::option::Option<::prost::alloc::string::String>,
881 #[prost(string, optional, tag = "154382")]
883 pub currency: ::core::option::Option<::prost::alloc::string::String>,
884 #[prost(string, optional, tag = "100109")]
886 pub put_call_indicator: ::core::option::Option<::prost::alloc::string::String>,
887 #[prost(string, optional, tag = "154167")]
889 pub tick_size_type: ::core::option::Option<::prost::alloc::string::String>,
890 #[prost(string, optional, tag = "154390")]
892 pub price_display_format: ::core::option::Option<::prost::alloc::string::String>,
893 #[prost(double, optional, tag = "100066")]
895 pub strike_price: ::core::option::Option<f64>,
896 #[prost(double, optional, tag = "154384")]
898 pub ftoq_price: ::core::option::Option<f64>,
899 #[prost(double, optional, tag = "154385")]
901 pub qtof_price: ::core::option::Option<f64>,
902 #[prost(double, optional, tag = "154386")]
904 pub min_qprice_change: ::core::option::Option<f64>,
905 #[prost(double, optional, tag = "154387")]
907 pub min_fprice_change: ::core::option::Option<f64>,
908 #[prost(double, optional, tag = "154389")]
910 pub single_point_value: ::core::option::Option<f64>,
911}
912pub mod response_get_instrument_by_underlying {
914 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
916 #[repr(i32)]
917 pub enum PresenceBits {
918 ExchangeSymbol = 1,
919 SymbolName = 2,
920 ProductCode = 4,
921 InstrumentType = 8,
922 UnderlyingSymbol = 16,
923 ExpirationDate = 32,
924 Currency = 64,
925 PutCallIndicator = 128,
926 StrikePrice = 256,
927 FpriceToQprice = 512,
928 QpriceToFprice = 1024,
929 MinQpriceChange = 2048,
930 MinFrpiceChange = 4096,
931 SinglePointValue = 8192,
932 TickSizeType = 16384,
933 PriceDisplayFormat = 32768,
934 }
935 impl PresenceBits {
936 pub fn as_str_name(&self) -> &'static str {
941 match self {
942 Self::ExchangeSymbol => "EXCHANGE_SYMBOL",
943 Self::SymbolName => "SYMBOL_NAME",
944 Self::ProductCode => "PRODUCT_CODE",
945 Self::InstrumentType => "INSTRUMENT_TYPE",
946 Self::UnderlyingSymbol => "UNDERLYING_SYMBOL",
947 Self::ExpirationDate => "EXPIRATION_DATE",
948 Self::Currency => "CURRENCY",
949 Self::PutCallIndicator => "PUT_CALL_INDICATOR",
950 Self::StrikePrice => "STRIKE_PRICE",
951 Self::FpriceToQprice => "FPRICE_TO_QPRICE",
952 Self::QpriceToFprice => "QPRICE_TO_FPRICE",
953 Self::MinQpriceChange => "MIN_QPRICE_CHANGE",
954 Self::MinFrpiceChange => "MIN_FRPICE_CHANGE",
955 Self::SinglePointValue => "SINGLE_POINT_VALUE",
956 Self::TickSizeType => "TICK_SIZE_TYPE",
957 Self::PriceDisplayFormat => "PRICE_DISPLAY_FORMAT",
958 }
959 }
960 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
962 match value {
963 "EXCHANGE_SYMBOL" => Some(Self::ExchangeSymbol),
964 "SYMBOL_NAME" => Some(Self::SymbolName),
965 "PRODUCT_CODE" => Some(Self::ProductCode),
966 "INSTRUMENT_TYPE" => Some(Self::InstrumentType),
967 "UNDERLYING_SYMBOL" => Some(Self::UnderlyingSymbol),
968 "EXPIRATION_DATE" => Some(Self::ExpirationDate),
969 "CURRENCY" => Some(Self::Currency),
970 "PUT_CALL_INDICATOR" => Some(Self::PutCallIndicator),
971 "STRIKE_PRICE" => Some(Self::StrikePrice),
972 "FPRICE_TO_QPRICE" => Some(Self::FpriceToQprice),
973 "QPRICE_TO_FPRICE" => Some(Self::QpriceToFprice),
974 "MIN_QPRICE_CHANGE" => Some(Self::MinQpriceChange),
975 "MIN_FRPICE_CHANGE" => Some(Self::MinFrpiceChange),
976 "SINGLE_POINT_VALUE" => Some(Self::SinglePointValue),
977 "TICK_SIZE_TYPE" => Some(Self::TickSizeType),
978 "PRICE_DISPLAY_FORMAT" => Some(Self::PriceDisplayFormat),
979 _ => None,
980 }
981 }
982 }
983}
984#[derive(Clone, PartialEq, ::prost::Message)]
986pub struct ResponseGetInstrumentByUnderlyingKeys {
987 #[prost(int32, required, tag = "154467")]
989 pub template_id: i32,
990 #[prost(string, repeated, tag = "132760")]
992 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
993 #[prost(string, repeated, tag = "132766")]
995 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
996 #[prost(string, repeated, tag = "101026")]
998 pub underlying_symbol: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
999 #[prost(string, repeated, tag = "110101")]
1001 pub exchange: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1002 #[prost(string, repeated, tag = "100067")]
1004 pub expiration_date: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1005}
1006#[derive(Clone, PartialEq, ::prost::Message)]
1009pub struct RequestMarketDataUpdateByUnderlying {
1010 #[prost(int32, required, tag = "154467")]
1012 pub template_id: i32,
1013 #[prost(string, repeated, tag = "132760")]
1015 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1016 #[prost(string, optional, tag = "101026")]
1018 pub underlying_symbol: ::core::option::Option<::prost::alloc::string::String>,
1019 #[prost(string, optional, tag = "110101")]
1021 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
1022 #[prost(string, optional, tag = "100067")]
1024 pub expiration_date: ::core::option::Option<::prost::alloc::string::String>,
1025 #[prost(
1027 enumeration = "request_market_data_update_by_underlying::Request",
1028 optional,
1029 tag = "100000"
1030 )]
1031 pub request: ::core::option::Option<i32>,
1032 #[prost(uint32, optional, tag = "154211")]
1034 pub update_bits: ::core::option::Option<u32>,
1035}
1036pub mod request_market_data_update_by_underlying {
1038 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1039 #[repr(i32)]
1040 pub enum UpdateBits {
1041 LastTrade = 1,
1042 Bbo = 2,
1043 OrderBook = 4,
1044 Open = 8,
1045 OpeningIndicator = 16,
1046 HighLow = 32,
1047 HighBidLowAsk = 64,
1048 Close = 128,
1049 ClosingIndicator = 256,
1050 Settlement = 512,
1051 MarketMode = 1024,
1052 OpenInterest = 2048,
1053 MarginRate = 4096,
1054 HighPriceLimit = 8192,
1055 LowPriceLimit = 16384,
1056 ProjectedSettlement = 32768,
1057 }
1058 impl UpdateBits {
1059 pub fn as_str_name(&self) -> &'static str {
1064 match self {
1065 Self::LastTrade => "LAST_TRADE",
1066 Self::Bbo => "BBO",
1067 Self::OrderBook => "ORDER_BOOK",
1068 Self::Open => "OPEN",
1069 Self::OpeningIndicator => "OPENING_INDICATOR",
1070 Self::HighLow => "HIGH_LOW",
1071 Self::HighBidLowAsk => "HIGH_BID_LOW_ASK",
1072 Self::Close => "CLOSE",
1073 Self::ClosingIndicator => "CLOSING_INDICATOR",
1074 Self::Settlement => "SETTLEMENT",
1075 Self::MarketMode => "MARKET_MODE",
1076 Self::OpenInterest => "OPEN_INTEREST",
1077 Self::MarginRate => "MARGIN_RATE",
1078 Self::HighPriceLimit => "HIGH_PRICE_LIMIT",
1079 Self::LowPriceLimit => "LOW_PRICE_LIMIT",
1080 Self::ProjectedSettlement => "PROJECTED_SETTLEMENT",
1081 }
1082 }
1083 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1085 match value {
1086 "LAST_TRADE" => Some(Self::LastTrade),
1087 "BBO" => Some(Self::Bbo),
1088 "ORDER_BOOK" => Some(Self::OrderBook),
1089 "OPEN" => Some(Self::Open),
1090 "OPENING_INDICATOR" => Some(Self::OpeningIndicator),
1091 "HIGH_LOW" => Some(Self::HighLow),
1092 "HIGH_BID_LOW_ASK" => Some(Self::HighBidLowAsk),
1093 "CLOSE" => Some(Self::Close),
1094 "CLOSING_INDICATOR" => Some(Self::ClosingIndicator),
1095 "SETTLEMENT" => Some(Self::Settlement),
1096 "MARKET_MODE" => Some(Self::MarketMode),
1097 "OPEN_INTEREST" => Some(Self::OpenInterest),
1098 "MARGIN_RATE" => Some(Self::MarginRate),
1099 "HIGH_PRICE_LIMIT" => Some(Self::HighPriceLimit),
1100 "LOW_PRICE_LIMIT" => Some(Self::LowPriceLimit),
1101 "PROJECTED_SETTLEMENT" => Some(Self::ProjectedSettlement),
1102 _ => None,
1103 }
1104 }
1105 }
1106 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1107 #[repr(i32)]
1108 pub enum Request {
1109 Subscribe = 1,
1110 Unsubscribe = 2,
1111 }
1112 impl Request {
1113 pub fn as_str_name(&self) -> &'static str {
1118 match self {
1119 Self::Subscribe => "SUBSCRIBE",
1120 Self::Unsubscribe => "UNSUBSCRIBE",
1121 }
1122 }
1123 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1125 match value {
1126 "SUBSCRIBE" => Some(Self::Subscribe),
1127 "UNSUBSCRIBE" => Some(Self::Unsubscribe),
1128 _ => None,
1129 }
1130 }
1131 }
1132}
1133#[derive(Clone, PartialEq, ::prost::Message)]
1135pub struct ResponseMarketDataUpdateByUnderlying {
1136 #[prost(int32, required, tag = "154467")]
1138 pub template_id: i32,
1139 #[prost(string, repeated, tag = "132760")]
1141 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1142 #[prost(string, repeated, tag = "132766")]
1144 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1145}
1146#[derive(Clone, PartialEq, ::prost::Message)]
1148pub struct RequestSearchSymbols {
1149 #[prost(int32, required, tag = "154467")]
1151 pub template_id: i32,
1152 #[prost(string, repeated, tag = "132760")]
1154 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1155 #[prost(string, optional, tag = "120008")]
1157 pub search_text: ::core::option::Option<::prost::alloc::string::String>,
1158 #[prost(string, optional, tag = "110101")]
1160 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
1161 #[prost(string, optional, tag = "100749")]
1163 pub product_code: ::core::option::Option<::prost::alloc::string::String>,
1164 #[prost(
1166 enumeration = "request_search_symbols::InstrumentType",
1167 optional,
1168 tag = "110116"
1169 )]
1170 pub instrument_type: ::core::option::Option<i32>,
1171 #[prost(
1173 enumeration = "request_search_symbols::Pattern",
1174 optional,
1175 tag = "155008"
1176 )]
1177 pub pattern: ::core::option::Option<i32>,
1178}
1179pub mod request_search_symbols {
1181 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1182 #[repr(i32)]
1183 pub enum Pattern {
1184 Equals = 1,
1185 Contains = 2,
1186 }
1187 impl Pattern {
1188 pub fn as_str_name(&self) -> &'static str {
1193 match self {
1194 Self::Equals => "EQUALS",
1195 Self::Contains => "CONTAINS",
1196 }
1197 }
1198 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1200 match value {
1201 "EQUALS" => Some(Self::Equals),
1202 "CONTAINS" => Some(Self::Contains),
1203 _ => None,
1204 }
1205 }
1206 }
1207 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1208 #[repr(i32)]
1209 pub enum InstrumentType {
1210 Future = 1,
1211 FutureOption = 2,
1212 FutureStrategy = 3,
1213 Equity = 4,
1214 EquityOption = 5,
1215 EquityStrategy = 6,
1216 Index = 7,
1217 IndexOption = 8,
1218 Spread = 9,
1219 Synthetic = 10,
1220 }
1221 impl InstrumentType {
1222 pub fn as_str_name(&self) -> &'static str {
1227 match self {
1228 Self::Future => "FUTURE",
1229 Self::FutureOption => "FUTURE_OPTION",
1230 Self::FutureStrategy => "FUTURE_STRATEGY",
1231 Self::Equity => "EQUITY",
1232 Self::EquityOption => "EQUITY_OPTION",
1233 Self::EquityStrategy => "EQUITY_STRATEGY",
1234 Self::Index => "INDEX",
1235 Self::IndexOption => "INDEX_OPTION",
1236 Self::Spread => "SPREAD",
1237 Self::Synthetic => "SYNTHETIC",
1238 }
1239 }
1240 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1242 match value {
1243 "FUTURE" => Some(Self::Future),
1244 "FUTURE_OPTION" => Some(Self::FutureOption),
1245 "FUTURE_STRATEGY" => Some(Self::FutureStrategy),
1246 "EQUITY" => Some(Self::Equity),
1247 "EQUITY_OPTION" => Some(Self::EquityOption),
1248 "EQUITY_STRATEGY" => Some(Self::EquityStrategy),
1249 "INDEX" => Some(Self::Index),
1250 "INDEX_OPTION" => Some(Self::IndexOption),
1251 "SPREAD" => Some(Self::Spread),
1252 "SYNTHETIC" => Some(Self::Synthetic),
1253 _ => None,
1254 }
1255 }
1256 }
1257}
1258#[derive(Clone, PartialEq, ::prost::Message)]
1260pub struct ResponseSearchSymbols {
1261 #[prost(int32, required, tag = "154467")]
1263 pub template_id: i32,
1264 #[prost(string, repeated, tag = "132760")]
1266 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1267 #[prost(string, repeated, tag = "132764")]
1269 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1270 #[prost(string, repeated, tag = "132766")]
1272 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1273 #[prost(string, optional, tag = "110100")]
1275 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
1276 #[prost(string, optional, tag = "110101")]
1278 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
1279 #[prost(string, optional, tag = "100003")]
1281 pub symbol_name: ::core::option::Option<::prost::alloc::string::String>,
1282 #[prost(string, optional, tag = "100749")]
1284 pub product_code: ::core::option::Option<::prost::alloc::string::String>,
1285 #[prost(string, optional, tag = "110116")]
1287 pub instrument_type: ::core::option::Option<::prost::alloc::string::String>,
1288 #[prost(string, optional, tag = "100067")]
1290 pub expiration_date: ::core::option::Option<::prost::alloc::string::String>,
1291}
1292#[derive(Clone, PartialEq, ::prost::Message)]
1294pub struct RequestProductCodes {
1295 #[prost(int32, required, tag = "154467")]
1297 pub template_id: i32,
1298 #[prost(string, repeated, tag = "132760")]
1300 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1301 #[prost(string, optional, tag = "110101")]
1303 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
1304 #[prost(bool, optional, tag = "153499")]
1306 pub give_toi_products_only: ::core::option::Option<bool>,
1307}
1308#[derive(Clone, PartialEq, ::prost::Message)]
1310pub struct ResponseProductCodes {
1311 #[prost(int32, required, tag = "154467")]
1313 pub template_id: i32,
1314 #[prost(string, repeated, tag = "132760")]
1316 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1317 #[prost(string, repeated, tag = "132764")]
1319 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1320 #[prost(string, repeated, tag = "132766")]
1322 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1323 #[prost(string, optional, tag = "110101")]
1325 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
1326 #[prost(string, optional, tag = "100003")]
1328 pub symbol_name: ::core::option::Option<::prost::alloc::string::String>,
1329 #[prost(string, optional, tag = "100749")]
1331 pub product_code: ::core::option::Option<::prost::alloc::string::String>,
1332 #[prost(string, optional, tag = "154682")]
1334 pub timezone_time_of_interest: ::core::option::Option<::prost::alloc::string::String>,
1335 #[prost(int32, optional, tag = "154680")]
1337 pub begin_time_of_interest_msm: ::core::option::Option<i32>,
1338 #[prost(int32, optional, tag = "154681")]
1340 pub end_time_of_interest_msm: ::core::option::Option<i32>,
1341}
1342#[derive(Clone, PartialEq, ::prost::Message)]
1344pub struct RequestFrontMonthContract {
1345 #[prost(int32, required, tag = "154467")]
1347 pub template_id: i32,
1348 #[prost(string, repeated, tag = "132760")]
1350 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1351 #[prost(string, optional, tag = "110100")]
1353 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
1354 #[prost(string, optional, tag = "110101")]
1356 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
1357 #[prost(bool, optional, tag = "154352")]
1359 pub need_updates: ::core::option::Option<bool>,
1360}
1361#[derive(Clone, PartialEq, ::prost::Message)]
1363pub struct ResponseFrontMonthContract {
1364 #[prost(int32, required, tag = "154467")]
1366 pub template_id: i32,
1367 #[prost(string, repeated, tag = "132760")]
1369 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1370 #[prost(string, repeated, tag = "132766")]
1372 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1373 #[prost(string, optional, tag = "110100")]
1375 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
1376 #[prost(string, optional, tag = "110101")]
1378 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
1379 #[prost(bool, optional, tag = "149166")]
1381 pub is_front_month_symbol: ::core::option::Option<bool>,
1382 #[prost(string, optional, tag = "100003")]
1384 pub symbol_name: ::core::option::Option<::prost::alloc::string::String>,
1385 #[prost(string, optional, tag = "157095")]
1387 pub trading_symbol: ::core::option::Option<::prost::alloc::string::String>,
1388 #[prost(string, optional, tag = "157096")]
1390 pub trading_exchange: ::core::option::Option<::prost::alloc::string::String>,
1391}
1392#[derive(Clone, PartialEq, ::prost::Message)]
1394pub struct RequestDepthByOrderSnapshot {
1395 #[prost(int32, required, tag = "154467")]
1397 pub template_id: i32,
1398 #[prost(string, repeated, tag = "132760")]
1400 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1401 #[prost(string, optional, tag = "110100")]
1403 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
1404 #[prost(string, optional, tag = "110101")]
1406 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
1407 #[prost(double, optional, tag = "154405")]
1409 pub depth_price: ::core::option::Option<f64>,
1410}
1411#[derive(Clone, PartialEq, ::prost::Message)]
1413pub struct ResponseDepthByOrderSnapshot {
1414 #[prost(int32, required, tag = "154467")]
1416 pub template_id: i32,
1417 #[prost(string, repeated, tag = "132760")]
1419 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1420 #[prost(string, repeated, tag = "132764")]
1422 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1423 #[prost(string, repeated, tag = "132766")]
1425 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1426 #[prost(string, optional, tag = "110101")]
1428 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
1429 #[prost(string, optional, tag = "110100")]
1431 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
1432 #[prost(uint64, optional, tag = "112002")]
1434 pub sequence_number: ::core::option::Option<u64>,
1435 #[prost(
1437 enumeration = "response_depth_by_order_snapshot::TransactionType",
1438 optional,
1439 tag = "153612"
1440 )]
1441 pub depth_side: ::core::option::Option<i32>,
1442 #[prost(double, optional, tag = "154405")]
1444 pub depth_price: ::core::option::Option<f64>,
1445 #[prost(int32, repeated, packed = "false", tag = "154406")]
1447 pub depth_size: ::prost::alloc::vec::Vec<i32>,
1448 #[prost(uint64, repeated, packed = "false", tag = "153613")]
1450 pub depth_order_priority: ::prost::alloc::vec::Vec<u64>,
1451 #[prost(string, repeated, tag = "149238")]
1453 pub exchange_order_id: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1454}
1455pub mod response_depth_by_order_snapshot {
1457 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1458 #[repr(i32)]
1459 pub enum TransactionType {
1460 Buy = 1,
1461 Sell = 2,
1462 }
1463 impl TransactionType {
1464 pub fn as_str_name(&self) -> &'static str {
1469 match self {
1470 Self::Buy => "BUY",
1471 Self::Sell => "SELL",
1472 }
1473 }
1474 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1476 match value {
1477 "BUY" => Some(Self::Buy),
1478 "SELL" => Some(Self::Sell),
1479 _ => None,
1480 }
1481 }
1482 }
1483}
1484#[derive(Clone, PartialEq, ::prost::Message)]
1486pub struct RequestDepthByOrderUpdates {
1487 #[prost(int32, required, tag = "154467")]
1489 pub template_id: i32,
1490 #[prost(string, repeated, tag = "132760")]
1492 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1493 #[prost(
1495 enumeration = "request_depth_by_order_updates::Request",
1496 optional,
1497 tag = "100000"
1498 )]
1499 pub request: ::core::option::Option<i32>,
1500 #[prost(string, optional, tag = "110100")]
1502 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
1503 #[prost(string, optional, tag = "110101")]
1505 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
1506 #[prost(double, optional, tag = "154405")]
1508 pub depth_price: ::core::option::Option<f64>,
1509}
1510pub mod request_depth_by_order_updates {
1512 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1513 #[repr(i32)]
1514 pub enum Request {
1515 Subscribe = 1,
1516 Unsubscribe = 2,
1517 }
1518 impl Request {
1519 pub fn as_str_name(&self) -> &'static str {
1524 match self {
1525 Self::Subscribe => "SUBSCRIBE",
1526 Self::Unsubscribe => "UNSUBSCRIBE",
1527 }
1528 }
1529 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1531 match value {
1532 "SUBSCRIBE" => Some(Self::Subscribe),
1533 "UNSUBSCRIBE" => Some(Self::Unsubscribe),
1534 _ => None,
1535 }
1536 }
1537 }
1538}
1539#[derive(Clone, PartialEq, ::prost::Message)]
1541pub struct ResponseDepthByOrderUpdates {
1542 #[prost(int32, required, tag = "154467")]
1544 pub template_id: i32,
1545 #[prost(string, repeated, tag = "132760")]
1547 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1548 #[prost(string, repeated, tag = "132766")]
1550 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1551}
1552#[derive(Clone, PartialEq, ::prost::Message)]
1554pub struct RequestGetVolumeAtPrice {
1555 #[prost(int32, required, tag = "154467")]
1557 pub template_id: i32,
1558 #[prost(string, repeated, tag = "132760")]
1560 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1561 #[prost(string, optional, tag = "110100")]
1563 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
1564 #[prost(string, optional, tag = "110101")]
1566 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
1567}
1568#[derive(Clone, PartialEq, ::prost::Message)]
1570pub struct ResponseGetVolumeAtPrice {
1571 #[prost(int32, required, tag = "154467")]
1573 pub template_id: i32,
1574 #[prost(string, repeated, tag = "132760")]
1576 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1577 #[prost(string, repeated, tag = "132764")]
1579 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1580 #[prost(string, repeated, tag = "132766")]
1582 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1583 #[prost(string, optional, tag = "110100")]
1585 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
1586 #[prost(string, optional, tag = "110101")]
1588 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
1589 #[prost(double, repeated, packed = "false", tag = "100006")]
1591 pub trade_price: ::prost::alloc::vec::Vec<f64>,
1592 #[prost(int32, repeated, packed = "false", tag = "156980")]
1594 pub volume_at_price: ::prost::alloc::vec::Vec<i32>,
1595 #[prost(int32, optional, tag = "150100")]
1597 pub ssboe: ::core::option::Option<i32>,
1598 #[prost(int32, optional, tag = "150101")]
1600 pub usecs: ::core::option::Option<i32>,
1601}
1602#[derive(Clone, PartialEq, ::prost::Message)]
1604pub struct BestBidOffer {
1605 #[prost(int32, required, tag = "154467")]
1607 pub template_id: i32,
1608 #[prost(string, optional, tag = "110100")]
1610 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
1611 #[prost(string, optional, tag = "110101")]
1613 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
1614 #[prost(uint32, optional, tag = "149138")]
1616 pub presence_bits: ::core::option::Option<u32>,
1617 #[prost(uint32, optional, tag = "154571")]
1619 pub clear_bits: ::core::option::Option<u32>,
1620 #[prost(bool, optional, tag = "110121")]
1622 pub is_snapshot: ::core::option::Option<bool>,
1623 #[prost(double, optional, tag = "100022")]
1625 pub bid_price: ::core::option::Option<f64>,
1626 #[prost(int32, optional, tag = "100030")]
1628 pub bid_size: ::core::option::Option<i32>,
1629 #[prost(int32, optional, tag = "154403")]
1631 pub bid_orders: ::core::option::Option<i32>,
1632 #[prost(int32, optional, tag = "154867")]
1634 pub bid_implicit_size: ::core::option::Option<i32>,
1635 #[prost(string, optional, tag = "100266")]
1636 pub bid_time: ::core::option::Option<::prost::alloc::string::String>,
1637 #[prost(double, optional, tag = "100025")]
1639 pub ask_price: ::core::option::Option<f64>,
1640 #[prost(int32, optional, tag = "100031")]
1642 pub ask_size: ::core::option::Option<i32>,
1643 #[prost(int32, optional, tag = "154404")]
1645 pub ask_orders: ::core::option::Option<i32>,
1646 #[prost(int32, optional, tag = "154868")]
1648 pub ask_implicit_size: ::core::option::Option<i32>,
1649 #[prost(string, optional, tag = "100267")]
1650 pub ask_time: ::core::option::Option<::prost::alloc::string::String>,
1651 #[prost(double, optional, tag = "154909")]
1653 pub lean_price: ::core::option::Option<f64>,
1654 #[prost(int32, optional, tag = "150100")]
1656 pub ssboe: ::core::option::Option<i32>,
1657 #[prost(int32, optional, tag = "150101")]
1659 pub usecs: ::core::option::Option<i32>,
1660}
1661pub mod best_bid_offer {
1663 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1665 #[repr(i32)]
1666 pub enum PresenceBits {
1667 Bid = 1,
1668 Ask = 2,
1669 LeanPrice = 4,
1670 }
1671 impl PresenceBits {
1672 pub fn as_str_name(&self) -> &'static str {
1677 match self {
1678 Self::Bid => "BID",
1679 Self::Ask => "ASK",
1680 Self::LeanPrice => "LEAN_PRICE",
1681 }
1682 }
1683 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1685 match value {
1686 "BID" => Some(Self::Bid),
1687 "ASK" => Some(Self::Ask),
1688 "LEAN_PRICE" => Some(Self::LeanPrice),
1689 _ => None,
1690 }
1691 }
1692 }
1693}
1694#[derive(Clone, PartialEq, ::prost::Message)]
1696pub struct OrderBook {
1697 #[prost(int32, required, tag = "154467")]
1699 pub template_id: i32,
1700 #[prost(string, optional, tag = "110100")]
1702 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
1703 #[prost(string, optional, tag = "110101")]
1705 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
1706 #[prost(uint32, optional, tag = "149138")]
1708 pub presence_bits: ::core::option::Option<u32>,
1709 #[prost(enumeration = "order_book::UpdateType", optional, tag = "157608")]
1711 pub update_type: ::core::option::Option<i32>,
1712 #[prost(double, repeated, packed = "false", tag = "154282")]
1714 pub bid_price: ::prost::alloc::vec::Vec<f64>,
1715 #[prost(int32, repeated, packed = "false", tag = "154283")]
1717 pub bid_size: ::prost::alloc::vec::Vec<i32>,
1718 #[prost(int32, repeated, packed = "false", tag = "154401")]
1720 pub bid_orders: ::prost::alloc::vec::Vec<i32>,
1721 #[prost(int32, repeated, packed = "false", tag = "154412")]
1723 pub impl_bid_size: ::prost::alloc::vec::Vec<i32>,
1724 #[prost(double, repeated, packed = "false", tag = "154284")]
1726 pub ask_price: ::prost::alloc::vec::Vec<f64>,
1727 #[prost(int32, repeated, packed = "false", tag = "154285")]
1729 pub ask_size: ::prost::alloc::vec::Vec<i32>,
1730 #[prost(int32, repeated, packed = "false", tag = "154402")]
1732 pub ask_orders: ::prost::alloc::vec::Vec<i32>,
1733 #[prost(int32, repeated, packed = "false", tag = "154415")]
1735 pub impl_ask_size: ::prost::alloc::vec::Vec<i32>,
1736 #[prost(int32, optional, tag = "150100")]
1738 pub ssboe: ::core::option::Option<i32>,
1739 #[prost(int32, optional, tag = "150101")]
1741 pub usecs: ::core::option::Option<i32>,
1742}
1743pub mod order_book {
1745 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1747 #[repr(i32)]
1748 pub enum PresenceBits {
1749 Bid = 1,
1750 Ask = 2,
1751 }
1752 impl PresenceBits {
1753 pub fn as_str_name(&self) -> &'static str {
1758 match self {
1759 Self::Bid => "BID",
1760 Self::Ask => "ASK",
1761 }
1762 }
1763 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1765 match value {
1766 "BID" => Some(Self::Bid),
1767 "ASK" => Some(Self::Ask),
1768 _ => None,
1769 }
1770 }
1771 }
1772 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1773 #[repr(i32)]
1774 pub enum UpdateType {
1775 ClearOrderBook = 1,
1776 NoBook = 2,
1777 SnapshotImage = 3,
1778 Begin = 4,
1779 Middle = 5,
1780 End = 6,
1781 Solo = 7,
1782 }
1783 impl UpdateType {
1784 pub fn as_str_name(&self) -> &'static str {
1789 match self {
1790 Self::ClearOrderBook => "CLEAR_ORDER_BOOK",
1791 Self::NoBook => "NO_BOOK",
1792 Self::SnapshotImage => "SNAPSHOT_IMAGE",
1793 Self::Begin => "BEGIN",
1794 Self::Middle => "MIDDLE",
1795 Self::End => "END",
1796 Self::Solo => "SOLO",
1797 }
1798 }
1799 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1801 match value {
1802 "CLEAR_ORDER_BOOK" => Some(Self::ClearOrderBook),
1803 "NO_BOOK" => Some(Self::NoBook),
1804 "SNAPSHOT_IMAGE" => Some(Self::SnapshotImage),
1805 "BEGIN" => Some(Self::Begin),
1806 "MIDDLE" => Some(Self::Middle),
1807 "END" => Some(Self::End),
1808 "SOLO" => Some(Self::Solo),
1809 _ => None,
1810 }
1811 }
1812 }
1813}
1814#[derive(Clone, PartialEq, ::prost::Message)]
1816pub struct LastTrade {
1817 #[prost(int32, required, tag = "154467")]
1819 pub template_id: i32,
1820 #[prost(string, optional, tag = "110100")]
1822 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
1823 #[prost(string, optional, tag = "110101")]
1825 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
1826 #[prost(uint32, optional, tag = "149138")]
1828 pub presence_bits: ::core::option::Option<u32>,
1829 #[prost(uint32, optional, tag = "154571")]
1831 pub clear_bits: ::core::option::Option<u32>,
1832 #[prost(bool, optional, tag = "110121")]
1834 pub is_snapshot: ::core::option::Option<bool>,
1835 #[prost(double, optional, tag = "100006")]
1837 pub trade_price: ::core::option::Option<f64>,
1838 #[prost(int32, optional, tag = "100178")]
1840 pub trade_size: ::core::option::Option<i32>,
1841 #[prost(enumeration = "last_trade::TransactionType", optional, tag = "112003")]
1843 pub aggressor: ::core::option::Option<i32>,
1844 #[prost(string, optional, tag = "149238")]
1846 pub exchange_order_id: ::core::option::Option<::prost::alloc::string::String>,
1847 #[prost(string, optional, tag = "154641")]
1849 pub aggressor_exchange_order_id: ::core::option::Option<::prost::alloc::string::String>,
1850 #[prost(double, optional, tag = "100011")]
1852 pub net_change: ::core::option::Option<f64>,
1853 #[prost(double, optional, tag = "100056")]
1855 pub percent_change: ::core::option::Option<f64>,
1856 #[prost(uint64, optional, tag = "100032")]
1858 pub volume: ::core::option::Option<u64>,
1859 #[prost(double, optional, tag = "101379")]
1861 pub vwap: ::core::option::Option<f64>,
1862 #[prost(string, optional, tag = "100379")]
1863 pub trade_time: ::core::option::Option<::prost::alloc::string::String>,
1864 #[prost(int32, optional, tag = "150100")]
1866 pub ssboe: ::core::option::Option<i32>,
1867 #[prost(int32, optional, tag = "150101")]
1869 pub usecs: ::core::option::Option<i32>,
1870 #[prost(int32, optional, tag = "150400")]
1872 pub source_ssboe: ::core::option::Option<i32>,
1873 #[prost(int32, optional, tag = "150401")]
1875 pub source_usecs: ::core::option::Option<i32>,
1876 #[prost(int32, optional, tag = "150404")]
1878 pub source_nsecs: ::core::option::Option<i32>,
1879 #[prost(int32, optional, tag = "150600")]
1881 pub jop_ssboe: ::core::option::Option<i32>,
1882 #[prost(int32, optional, tag = "150604")]
1884 pub jop_nsecs: ::core::option::Option<i32>,
1885}
1886pub mod last_trade {
1888 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1890 #[repr(i32)]
1891 pub enum PresenceBits {
1892 LastTrade = 1,
1893 NetChange = 2,
1894 PrecentChange = 4,
1895 Volume = 8,
1896 Vwap = 16,
1897 }
1898 impl PresenceBits {
1899 pub fn as_str_name(&self) -> &'static str {
1904 match self {
1905 Self::LastTrade => "LAST_TRADE",
1906 Self::NetChange => "NET_CHANGE",
1907 Self::PrecentChange => "PRECENT_CHANGE",
1908 Self::Volume => "VOLUME",
1909 Self::Vwap => "VWAP",
1910 }
1911 }
1912 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1914 match value {
1915 "LAST_TRADE" => Some(Self::LastTrade),
1916 "NET_CHANGE" => Some(Self::NetChange),
1917 "PRECENT_CHANGE" => Some(Self::PrecentChange),
1918 "VOLUME" => Some(Self::Volume),
1919 "VWAP" => Some(Self::Vwap),
1920 _ => None,
1921 }
1922 }
1923 }
1924 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1925 #[repr(i32)]
1926 pub enum TransactionType {
1927 Buy = 1,
1928 Sell = 2,
1929 }
1930 impl TransactionType {
1931 pub fn as_str_name(&self) -> &'static str {
1936 match self {
1937 Self::Buy => "BUY",
1938 Self::Sell => "SELL",
1939 }
1940 }
1941 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1943 match value {
1944 "BUY" => Some(Self::Buy),
1945 "SELL" => Some(Self::Sell),
1946 _ => None,
1947 }
1948 }
1949 }
1950}
1951#[derive(Clone, PartialEq, ::prost::Message)]
1953pub struct TradeStatistics {
1954 #[prost(int32, required, tag = "154467")]
1956 pub template_id: i32,
1957 #[prost(string, optional, tag = "110100")]
1959 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
1960 #[prost(string, optional, tag = "110101")]
1962 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
1963 #[prost(uint32, optional, tag = "149138")]
1965 pub presence_bits: ::core::option::Option<u32>,
1966 #[prost(uint32, optional, tag = "154571")]
1968 pub clear_bits: ::core::option::Option<u32>,
1969 #[prost(bool, optional, tag = "110121")]
1971 pub is_snapshot: ::core::option::Option<bool>,
1972 #[prost(double, optional, tag = "100019")]
1974 pub open_price: ::core::option::Option<f64>,
1975 #[prost(double, optional, tag = "100012")]
1977 pub high_price: ::core::option::Option<f64>,
1978 #[prost(double, optional, tag = "100013")]
1980 pub low_price: ::core::option::Option<f64>,
1981 #[prost(int32, optional, tag = "150100")]
1983 pub ssboe: ::core::option::Option<i32>,
1984 #[prost(int32, optional, tag = "150101")]
1986 pub usecs: ::core::option::Option<i32>,
1987 #[prost(int32, optional, tag = "150400")]
1989 pub source_ssboe: ::core::option::Option<i32>,
1990 #[prost(int32, optional, tag = "150401")]
1992 pub source_usecs: ::core::option::Option<i32>,
1993 #[prost(int32, optional, tag = "150404")]
1995 pub source_nsecs: ::core::option::Option<i32>,
1996 #[prost(int32, optional, tag = "150600")]
1998 pub jop_ssboe: ::core::option::Option<i32>,
1999 #[prost(int32, optional, tag = "150604")]
2001 pub jop_nsecs: ::core::option::Option<i32>,
2002}
2003pub mod trade_statistics {
2005 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2007 #[repr(i32)]
2008 pub enum PresenceBits {
2009 Open = 1,
2010 High = 2,
2011 Low = 4,
2012 }
2013 impl PresenceBits {
2014 pub fn as_str_name(&self) -> &'static str {
2019 match self {
2020 Self::Open => "OPEN",
2021 Self::High => "HIGH",
2022 Self::Low => "LOW",
2023 }
2024 }
2025 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2027 match value {
2028 "OPEN" => Some(Self::Open),
2029 "HIGH" => Some(Self::High),
2030 "LOW" => Some(Self::Low),
2031 _ => None,
2032 }
2033 }
2034 }
2035}
2036#[derive(Clone, PartialEq, ::prost::Message)]
2038pub struct QuoteStatistics {
2039 #[prost(int32, required, tag = "154467")]
2041 pub template_id: i32,
2042 #[prost(string, optional, tag = "110100")]
2044 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
2045 #[prost(string, optional, tag = "110101")]
2047 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
2048 #[prost(uint32, optional, tag = "149138")]
2050 pub presence_bits: ::core::option::Option<u32>,
2051 #[prost(uint32, optional, tag = "154571")]
2053 pub clear_bits: ::core::option::Option<u32>,
2054 #[prost(bool, optional, tag = "110121")]
2056 pub is_snapshot: ::core::option::Option<bool>,
2057 #[prost(double, optional, tag = "154195")]
2059 pub highest_bid_price: ::core::option::Option<f64>,
2060 #[prost(double, optional, tag = "154197")]
2062 pub lowest_ask_price: ::core::option::Option<f64>,
2063 #[prost(int32, optional, tag = "150100")]
2065 pub ssboe: ::core::option::Option<i32>,
2066 #[prost(int32, optional, tag = "150101")]
2068 pub usecs: ::core::option::Option<i32>,
2069}
2070pub mod quote_statistics {
2072 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2074 #[repr(i32)]
2075 pub enum PresenceBits {
2076 HighestBid = 1,
2077 LowestAsk = 2,
2078 }
2079 impl PresenceBits {
2080 pub fn as_str_name(&self) -> &'static str {
2085 match self {
2086 Self::HighestBid => "HIGHEST_BID",
2087 Self::LowestAsk => "LOWEST_ASK",
2088 }
2089 }
2090 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2092 match value {
2093 "HIGHEST_BID" => Some(Self::HighestBid),
2094 "LOWEST_ASK" => Some(Self::LowestAsk),
2095 _ => None,
2096 }
2097 }
2098 }
2099}
2100#[derive(Clone, PartialEq, ::prost::Message)]
2102pub struct IndicatorPrices {
2103 #[prost(int32, required, tag = "154467")]
2105 pub template_id: i32,
2106 #[prost(string, optional, tag = "110100")]
2108 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
2109 #[prost(string, optional, tag = "110101")]
2111 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
2112 #[prost(uint32, optional, tag = "149138")]
2114 pub presence_bits: ::core::option::Option<u32>,
2115 #[prost(uint32, optional, tag = "154571")]
2117 pub clear_bits: ::core::option::Option<u32>,
2118 #[prost(bool, optional, tag = "110121")]
2120 pub is_snapshot: ::core::option::Option<bool>,
2121 #[prost(double, optional, tag = "154522")]
2123 pub opening_indicator: ::core::option::Option<f64>,
2124 #[prost(double, optional, tag = "154064")]
2126 pub closing_indicator: ::core::option::Option<f64>,
2127 #[prost(int32, optional, tag = "150100")]
2129 pub ssboe: ::core::option::Option<i32>,
2130 #[prost(int32, optional, tag = "150101")]
2132 pub usecs: ::core::option::Option<i32>,
2133}
2134pub mod indicator_prices {
2136 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2138 #[repr(i32)]
2139 pub enum PresenceBits {
2140 OpeningIndicator = 1,
2141 ClosingIndicator = 2,
2142 }
2143 impl PresenceBits {
2144 pub fn as_str_name(&self) -> &'static str {
2149 match self {
2150 Self::OpeningIndicator => "OPENING_INDICATOR",
2151 Self::ClosingIndicator => "CLOSING_INDICATOR",
2152 }
2153 }
2154 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2156 match value {
2157 "OPENING_INDICATOR" => Some(Self::OpeningIndicator),
2158 "CLOSING_INDICATOR" => Some(Self::ClosingIndicator),
2159 _ => None,
2160 }
2161 }
2162 }
2163}
2164#[derive(Clone, PartialEq, ::prost::Message)]
2166pub struct OpenInterest {
2167 #[prost(int32, required, tag = "154467")]
2169 pub template_id: i32,
2170 #[prost(string, optional, tag = "110100")]
2172 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
2173 #[prost(string, optional, tag = "110101")]
2175 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
2176 #[prost(bool, optional, tag = "110121")]
2178 pub is_snapshot: ::core::option::Option<bool>,
2179 #[prost(bool, optional, tag = "154571")]
2181 pub should_clear: ::core::option::Option<bool>,
2182 #[prost(uint64, optional, tag = "100064")]
2184 pub open_interest: ::core::option::Option<u64>,
2185 #[prost(int32, optional, tag = "150100")]
2187 pub ssboe: ::core::option::Option<i32>,
2188 #[prost(int32, optional, tag = "150101")]
2190 pub usecs: ::core::option::Option<i32>,
2191}
2192#[derive(Clone, PartialEq, ::prost::Message)]
2193pub struct EndOfDayPrices {
2194 #[prost(int32, required, tag = "154467")]
2195 pub template_id: i32,
2196 #[prost(string, optional, tag = "110100")]
2197 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
2198 #[prost(string, optional, tag = "110101")]
2199 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
2200 #[prost(uint32, optional, tag = "149138")]
2201 pub presence_bits: ::core::option::Option<u32>,
2202 #[prost(uint32, optional, tag = "154571")]
2203 pub clear_bits: ::core::option::Option<u32>,
2204 #[prost(bool, optional, tag = "110121")]
2205 pub is_snapshot: ::core::option::Option<bool>,
2206 #[prost(double, optional, tag = "100021")]
2207 pub close_price: ::core::option::Option<f64>,
2208 #[prost(string, optional, tag = "100079")]
2209 pub close_date: ::core::option::Option<::prost::alloc::string::String>,
2210 #[prost(double, optional, tag = "154124")]
2211 pub adjusted_close_price: ::core::option::Option<f64>,
2212 #[prost(double, optional, tag = "100070")]
2213 pub settlement_price: ::core::option::Option<f64>,
2214 #[prost(string, optional, tag = "154132")]
2215 pub settlement_date: ::core::option::Option<::prost::alloc::string::String>,
2216 #[prost(string, optional, tag = "154637")]
2217 pub settlement_price_type: ::core::option::Option<::prost::alloc::string::String>,
2218 #[prost(double, optional, tag = "155005")]
2219 pub projected_settlement_price: ::core::option::Option<f64>,
2220 #[prost(int32, optional, tag = "150100")]
2221 pub ssboe: ::core::option::Option<i32>,
2222 #[prost(int32, optional, tag = "150101")]
2223 pub usecs: ::core::option::Option<i32>,
2224}
2225pub mod end_of_day_prices {
2227 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2229 #[repr(i32)]
2230 pub enum PresenceBits {
2231 Close = 1,
2232 Settlement = 2,
2233 ProjectedSettlement = 4,
2234 AdjustedClose = 8,
2235 }
2236 impl PresenceBits {
2237 pub fn as_str_name(&self) -> &'static str {
2242 match self {
2243 Self::Close => "CLOSE",
2244 Self::Settlement => "SETTLEMENT",
2245 Self::ProjectedSettlement => "PROJECTED_SETTLEMENT",
2246 Self::AdjustedClose => "ADJUSTED_CLOSE",
2247 }
2248 }
2249 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2251 match value {
2252 "CLOSE" => Some(Self::Close),
2253 "SETTLEMENT" => Some(Self::Settlement),
2254 "PROJECTED_SETTLEMENT" => Some(Self::ProjectedSettlement),
2255 "ADJUSTED_CLOSE" => Some(Self::AdjustedClose),
2256 _ => None,
2257 }
2258 }
2259 }
2260}
2261#[derive(Clone, PartialEq, ::prost::Message)]
2262pub struct MarketMode {
2263 #[prost(int32, required, tag = "154467")]
2264 pub template_id: i32,
2265 #[prost(string, optional, tag = "110100")]
2266 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
2267 #[prost(string, optional, tag = "110101")]
2268 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
2269 #[prost(string, optional, tag = "154106")]
2270 pub market_mode: ::core::option::Option<::prost::alloc::string::String>,
2271 #[prost(string, optional, tag = "154838")]
2272 pub halt_reason: ::core::option::Option<::prost::alloc::string::String>,
2273 #[prost(string, optional, tag = "100016")]
2274 pub trade_date: ::core::option::Option<::prost::alloc::string::String>,
2275 #[prost(int32, optional, tag = "150100")]
2276 pub ssboe: ::core::option::Option<i32>,
2277 #[prost(int32, optional, tag = "150101")]
2278 pub usecs: ::core::option::Option<i32>,
2279}
2280#[derive(Clone, PartialEq, ::prost::Message)]
2282pub struct FrontMonthContractUpdate {
2283 #[prost(int32, required, tag = "154467")]
2285 pub template_id: i32,
2286 #[prost(string, optional, tag = "110100")]
2288 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
2289 #[prost(string, optional, tag = "110101")]
2291 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
2292 #[prost(bool, optional, tag = "149166")]
2294 pub is_front_month_symbol: ::core::option::Option<bool>,
2295 #[prost(string, optional, tag = "100003")]
2297 pub symbol_name: ::core::option::Option<::prost::alloc::string::String>,
2298 #[prost(string, optional, tag = "157095")]
2300 pub trading_symbol: ::core::option::Option<::prost::alloc::string::String>,
2301 #[prost(string, optional, tag = "157096")]
2303 pub trading_exchange: ::core::option::Option<::prost::alloc::string::String>,
2304}
2305#[derive(Clone, PartialEq, ::prost::Message)]
2307pub struct DepthByOrder {
2308 #[prost(int32, required, tag = "154467")]
2310 pub template_id: i32,
2311 #[prost(string, optional, tag = "110100")]
2313 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
2314 #[prost(string, optional, tag = "110101")]
2316 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
2317 #[prost(uint64, optional, tag = "112002")]
2319 pub sequence_number: ::core::option::Option<u64>,
2320 #[prost(
2322 enumeration = "depth_by_order::UpdateType",
2323 repeated,
2324 packed = "false",
2325 tag = "110121"
2326 )]
2327 pub update_type: ::prost::alloc::vec::Vec<i32>,
2328 #[prost(
2330 enumeration = "depth_by_order::TransactionType",
2331 repeated,
2332 packed = "false",
2333 tag = "153612"
2334 )]
2335 pub transaction_type: ::prost::alloc::vec::Vec<i32>,
2336 #[prost(double, repeated, packed = "false", tag = "154405")]
2338 pub depth_price: ::prost::alloc::vec::Vec<f64>,
2339 #[prost(double, repeated, packed = "false", tag = "154906")]
2341 pub prev_depth_price: ::prost::alloc::vec::Vec<f64>,
2342 #[prost(bool, repeated, packed = "false", tag = "154930")]
2344 pub prev_depth_price_flag: ::prost::alloc::vec::Vec<bool>,
2345 #[prost(int32, repeated, packed = "false", tag = "154406")]
2347 pub depth_size: ::prost::alloc::vec::Vec<i32>,
2348 #[prost(uint64, repeated, packed = "false", tag = "153613")]
2350 pub depth_order_priority: ::prost::alloc::vec::Vec<u64>,
2351 #[prost(string, repeated, tag = "149238")]
2353 pub exchange_order_id: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2354 #[prost(int32, optional, tag = "150100")]
2356 pub ssboe: ::core::option::Option<i32>,
2357 #[prost(int32, optional, tag = "150101")]
2359 pub usecs: ::core::option::Option<i32>,
2360 #[prost(int32, optional, tag = "150400")]
2362 pub source_ssboe: ::core::option::Option<i32>,
2363 #[prost(int32, optional, tag = "150401")]
2365 pub source_usecs: ::core::option::Option<i32>,
2366 #[prost(int32, optional, tag = "150404")]
2368 pub source_nsecs: ::core::option::Option<i32>,
2369 #[prost(int32, optional, tag = "150600")]
2371 pub jop_ssboe: ::core::option::Option<i32>,
2372 #[prost(int32, optional, tag = "150604")]
2374 pub jop_nsecs: ::core::option::Option<i32>,
2375}
2376pub mod depth_by_order {
2378 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2379 #[repr(i32)]
2380 pub enum TransactionType {
2381 Buy = 1,
2382 Sell = 2,
2383 }
2384 impl TransactionType {
2385 pub fn as_str_name(&self) -> &'static str {
2390 match self {
2391 Self::Buy => "BUY",
2392 Self::Sell => "SELL",
2393 }
2394 }
2395 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2397 match value {
2398 "BUY" => Some(Self::Buy),
2399 "SELL" => Some(Self::Sell),
2400 _ => None,
2401 }
2402 }
2403 }
2404 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2405 #[repr(i32)]
2406 pub enum UpdateType {
2407 New = 1,
2408 Change = 2,
2409 Delete = 3,
2410 }
2411 impl UpdateType {
2412 pub fn as_str_name(&self) -> &'static str {
2417 match self {
2418 Self::New => "NEW",
2419 Self::Change => "CHANGE",
2420 Self::Delete => "DELETE",
2421 }
2422 }
2423 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2425 match value {
2426 "NEW" => Some(Self::New),
2427 "CHANGE" => Some(Self::Change),
2428 "DELETE" => Some(Self::Delete),
2429 _ => None,
2430 }
2431 }
2432 }
2433}
2434#[derive(Clone, PartialEq, ::prost::Message)]
2436pub struct DepthByOrderEndEvent {
2437 #[prost(int32, required, tag = "154467")]
2439 pub template_id: i32,
2440 #[prost(string, repeated, tag = "110100")]
2442 pub symbol: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2443 #[prost(string, repeated, tag = "110101")]
2445 pub exchange: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2446 #[prost(uint64, optional, tag = "112002")]
2448 pub sequence_number: ::core::option::Option<u64>,
2449 #[prost(int32, optional, tag = "150100")]
2451 pub ssboe: ::core::option::Option<i32>,
2452 #[prost(int32, optional, tag = "150101")]
2454 pub usecs: ::core::option::Option<i32>,
2455}
2456#[derive(Clone, PartialEq, ::prost::Message)]
2458pub struct SymbolMarginRate {
2459 #[prost(int32, required, tag = "154467")]
2461 pub template_id: i32,
2462 #[prost(string, optional, tag = "110100")]
2464 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
2465 #[prost(string, optional, tag = "110101")]
2467 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
2468 #[prost(bool, optional, tag = "110121")]
2470 pub is_snapshot: ::core::option::Option<bool>,
2471 #[prost(double, optional, tag = "154103")]
2473 pub margin_rate: ::core::option::Option<f64>,
2474}
2475#[derive(Clone, PartialEq, ::prost::Message)]
2477pub struct OrderPriceLimits {
2478 #[prost(int32, required, tag = "154467")]
2480 pub template_id: i32,
2481 #[prost(string, optional, tag = "110100")]
2483 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
2484 #[prost(string, optional, tag = "110101")]
2486 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
2487 #[prost(uint32, optional, tag = "149138")]
2489 pub presence_bits: ::core::option::Option<u32>,
2490 #[prost(uint32, optional, tag = "154571")]
2492 pub clear_bits: ::core::option::Option<u32>,
2493 #[prost(bool, optional, tag = "110121")]
2495 pub is_snapshot: ::core::option::Option<bool>,
2496 #[prost(double, optional, tag = "154079")]
2498 pub high_price_limit: ::core::option::Option<f64>,
2499 #[prost(double, optional, tag = "154101")]
2501 pub low_price_limit: ::core::option::Option<f64>,
2502 #[prost(int32, optional, tag = "150100")]
2504 pub ssboe: ::core::option::Option<i32>,
2505 #[prost(int32, optional, tag = "150101")]
2507 pub usecs: ::core::option::Option<i32>,
2508}
2509pub mod order_price_limits {
2511 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2513 #[repr(i32)]
2514 pub enum PresenceBits {
2515 HighPriceLimit = 1,
2516 LowPriceLimit = 2,
2517 }
2518 impl PresenceBits {
2519 pub fn as_str_name(&self) -> &'static str {
2524 match self {
2525 Self::HighPriceLimit => "HIGH_PRICE_LIMIT",
2526 Self::LowPriceLimit => "LOW_PRICE_LIMIT",
2527 }
2528 }
2529 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2531 match value {
2532 "HIGH_PRICE_LIMIT" => Some(Self::HighPriceLimit),
2533 "LOW_PRICE_LIMIT" => Some(Self::LowPriceLimit),
2534 _ => None,
2535 }
2536 }
2537 }
2538}
2539#[derive(Clone, PartialEq, ::prost::Message)]
2541pub struct RequestLoginInfo {
2542 #[prost(int32, required, tag = "154467")]
2544 pub template_id: i32,
2545 #[prost(string, repeated, tag = "132760")]
2547 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2548}
2549#[derive(Clone, PartialEq, ::prost::Message)]
2551pub struct ResponseLoginInfo {
2552 #[prost(int32, required, tag = "154467")]
2554 pub template_id: i32,
2555 #[prost(string, repeated, tag = "132760")]
2557 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2558 #[prost(string, repeated, tag = "132766")]
2560 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2561 #[prost(string, optional, tag = "154013")]
2563 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
2564 #[prost(string, optional, tag = "154014")]
2566 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
2567 #[prost(string, optional, tag = "154216")]
2569 pub first_name: ::core::option::Option<::prost::alloc::string::String>,
2570 #[prost(string, optional, tag = "154217")]
2572 pub last_name: ::core::option::Option<::prost::alloc::string::String>,
2573 #[prost(
2575 enumeration = "response_login_info::UserType",
2576 optional,
2577 tag = "154036"
2578 )]
2579 pub user_type: ::core::option::Option<i32>,
2580}
2581pub mod response_login_info {
2583 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2584 #[repr(i32)]
2585 pub enum UserType {
2586 Admin = 0,
2587 Fcm = 1,
2588 Ib = 2,
2589 Trader = 3,
2590 }
2591 impl UserType {
2592 pub fn as_str_name(&self) -> &'static str {
2597 match self {
2598 Self::Admin => "USER_TYPE_ADMIN",
2599 Self::Fcm => "USER_TYPE_FCM",
2600 Self::Ib => "USER_TYPE_IB",
2601 Self::Trader => "USER_TYPE_TRADER",
2602 }
2603 }
2604 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2606 match value {
2607 "USER_TYPE_ADMIN" => Some(Self::Admin),
2608 "USER_TYPE_FCM" => Some(Self::Fcm),
2609 "USER_TYPE_IB" => Some(Self::Ib),
2610 "USER_TYPE_TRADER" => Some(Self::Trader),
2611 _ => None,
2612 }
2613 }
2614 }
2615}
2616#[derive(Clone, PartialEq, ::prost::Message)]
2618pub struct RequestAccountList {
2619 #[prost(int32, required, tag = "154467")]
2621 pub template_id: i32,
2622 #[prost(string, repeated, tag = "132760")]
2624 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2625 #[prost(string, optional, tag = "154013")]
2627 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
2628 #[prost(string, optional, tag = "154014")]
2630 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
2631 #[prost(
2633 enumeration = "request_account_list::UserType",
2634 optional,
2635 tag = "154036"
2636 )]
2637 pub user_type: ::core::option::Option<i32>,
2638}
2639pub mod request_account_list {
2641 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2642 #[repr(i32)]
2643 pub enum UserType {
2644 Fcm = 1,
2645 Ib = 2,
2646 Trader = 3,
2647 }
2648 impl UserType {
2649 pub fn as_str_name(&self) -> &'static str {
2654 match self {
2655 Self::Fcm => "USER_TYPE_FCM",
2656 Self::Ib => "USER_TYPE_IB",
2657 Self::Trader => "USER_TYPE_TRADER",
2658 }
2659 }
2660 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2662 match value {
2663 "USER_TYPE_FCM" => Some(Self::Fcm),
2664 "USER_TYPE_IB" => Some(Self::Ib),
2665 "USER_TYPE_TRADER" => Some(Self::Trader),
2666 _ => None,
2667 }
2668 }
2669 }
2670}
2671#[derive(Clone, PartialEq, ::prost::Message)]
2672pub struct ResponseAccountList {
2673 #[prost(int32, required, tag = "154467")]
2674 pub template_id: i32,
2675 #[prost(string, repeated, tag = "132760")]
2676 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2677 #[prost(string, repeated, tag = "132764")]
2678 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2679 #[prost(string, repeated, tag = "132766")]
2680 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2681 #[prost(string, optional, tag = "154013")]
2682 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
2683 #[prost(string, optional, tag = "154014")]
2684 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
2685 #[prost(string, optional, tag = "154008")]
2686 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
2687 #[prost(string, optional, tag = "154002")]
2688 pub account_name: ::core::option::Option<::prost::alloc::string::String>,
2689 #[prost(string, optional, tag = "154383")]
2690 pub account_currency: ::core::option::Option<::prost::alloc::string::String>,
2691 #[prost(string, optional, tag = "131035")]
2692 pub account_auto_liquidate: ::core::option::Option<::prost::alloc::string::String>,
2693 #[prost(string, optional, tag = "131040")]
2694 pub auto_liq_threshold_current_value: ::core::option::Option<::prost::alloc::string::String>,
2695}
2696#[derive(Clone, PartialEq, ::prost::Message)]
2698pub struct RequestAccountRmsInfo {
2699 #[prost(int32, required, tag = "154467")]
2701 pub template_id: i32,
2702 #[prost(string, repeated, tag = "132760")]
2704 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2705 #[prost(string, optional, tag = "154013")]
2707 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
2708 #[prost(string, optional, tag = "154014")]
2710 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
2711 #[prost(
2713 enumeration = "request_account_rms_info::UserType",
2714 optional,
2715 tag = "154036"
2716 )]
2717 pub user_type: ::core::option::Option<i32>,
2718}
2719pub mod request_account_rms_info {
2721 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2722 #[repr(i32)]
2723 pub enum UserType {
2724 Fcm = 1,
2725 Ib = 2,
2726 Trader = 3,
2727 }
2728 impl UserType {
2729 pub fn as_str_name(&self) -> &'static str {
2734 match self {
2735 Self::Fcm => "USER_TYPE_FCM",
2736 Self::Ib => "USER_TYPE_IB",
2737 Self::Trader => "USER_TYPE_TRADER",
2738 }
2739 }
2740 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2742 match value {
2743 "USER_TYPE_FCM" => Some(Self::Fcm),
2744 "USER_TYPE_IB" => Some(Self::Ib),
2745 "USER_TYPE_TRADER" => Some(Self::Trader),
2746 _ => None,
2747 }
2748 }
2749 }
2750}
2751#[derive(Clone, PartialEq, ::prost::Message)]
2753pub struct ResponseAccountRmsInfo {
2754 #[prost(int32, required, tag = "154467")]
2756 pub template_id: i32,
2757 #[prost(string, repeated, tag = "132760")]
2759 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2760 #[prost(string, repeated, tag = "132764")]
2762 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2763 #[prost(string, repeated, tag = "132766")]
2765 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2766 #[prost(uint32, optional, tag = "153622")]
2768 pub presence_bits: ::core::option::Option<u32>,
2769 #[prost(string, optional, tag = "154013")]
2771 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
2772 #[prost(string, optional, tag = "154014")]
2774 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
2775 #[prost(string, optional, tag = "154008")]
2777 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
2778 #[prost(string, optional, tag = "154383")]
2780 pub currency: ::core::option::Option<::prost::alloc::string::String>,
2781 #[prost(string, optional, tag = "154003")]
2783 pub status: ::core::option::Option<::prost::alloc::string::String>,
2784 #[prost(string, optional, tag = "150142")]
2786 pub algorithm: ::core::option::Option<::prost::alloc::string::String>,
2787 #[prost(string, optional, tag = "131036")]
2789 pub auto_liquidate_criteria: ::core::option::Option<::prost::alloc::string::String>,
2790 #[prost(
2792 enumeration = "response_account_rms_info::AutoLiquidateFlag",
2793 optional,
2794 tag = "131035"
2795 )]
2796 pub auto_liquidate: ::core::option::Option<i32>,
2797 #[prost(
2799 enumeration = "response_account_rms_info::AutoLiquidateFlag",
2800 optional,
2801 tag = "131038"
2802 )]
2803 pub disable_on_auto_liquidate: ::core::option::Option<i32>,
2804 #[prost(double, optional, tag = "131037")]
2806 pub auto_liquidate_threshold: ::core::option::Option<f64>,
2807 #[prost(double, optional, tag = "131039")]
2809 pub auto_liquidate_max_min_account_balance: ::core::option::Option<f64>,
2810 #[prost(double, optional, tag = "154019")]
2812 pub loss_limit: ::core::option::Option<f64>,
2813 #[prost(double, optional, tag = "156968")]
2815 pub min_account_balance: ::core::option::Option<f64>,
2816 #[prost(double, optional, tag = "156976")]
2818 pub min_margin_balance: ::core::option::Option<f64>,
2819 #[prost(double, optional, tag = "153368")]
2821 pub default_commission: ::core::option::Option<f64>,
2822 #[prost(int32, optional, tag = "154009")]
2824 pub buy_limit: ::core::option::Option<i32>,
2825 #[prost(int32, optional, tag = "110105")]
2827 pub max_order_quantity: ::core::option::Option<i32>,
2828 #[prost(int32, optional, tag = "154035")]
2830 pub sell_limit: ::core::option::Option<i32>,
2831 #[prost(bool, optional, tag = "156972")]
2833 pub check_min_account_balance: ::core::option::Option<bool>,
2834}
2835pub mod response_account_rms_info {
2837 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2839 #[repr(i32)]
2840 pub enum PresenceBits {
2841 BuyLimit = 1,
2842 SellLimit = 2,
2843 LossLimit = 4,
2844 MaxOrderQuantity = 8,
2845 MinAccountBalance = 16,
2846 MinMarginBalance = 32,
2847 Algorithm = 64,
2848 Status = 128,
2849 Currency = 256,
2850 DefaultCommission = 512,
2851 }
2852 impl PresenceBits {
2853 pub fn as_str_name(&self) -> &'static str {
2858 match self {
2859 Self::BuyLimit => "BUY_LIMIT",
2860 Self::SellLimit => "SELL_LIMIT",
2861 Self::LossLimit => "LOSS_LIMIT",
2862 Self::MaxOrderQuantity => "MAX_ORDER_QUANTITY",
2863 Self::MinAccountBalance => "MIN_ACCOUNT_BALANCE",
2864 Self::MinMarginBalance => "MIN_MARGIN_BALANCE",
2865 Self::Algorithm => "ALGORITHM",
2866 Self::Status => "STATUS",
2867 Self::Currency => "CURRENCY",
2868 Self::DefaultCommission => "DEFAULT_COMMISSION",
2869 }
2870 }
2871 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2873 match value {
2874 "BUY_LIMIT" => Some(Self::BuyLimit),
2875 "SELL_LIMIT" => Some(Self::SellLimit),
2876 "LOSS_LIMIT" => Some(Self::LossLimit),
2877 "MAX_ORDER_QUANTITY" => Some(Self::MaxOrderQuantity),
2878 "MIN_ACCOUNT_BALANCE" => Some(Self::MinAccountBalance),
2879 "MIN_MARGIN_BALANCE" => Some(Self::MinMarginBalance),
2880 "ALGORITHM" => Some(Self::Algorithm),
2881 "STATUS" => Some(Self::Status),
2882 "CURRENCY" => Some(Self::Currency),
2883 "DEFAULT_COMMISSION" => Some(Self::DefaultCommission),
2884 _ => None,
2885 }
2886 }
2887 }
2888 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2889 #[repr(i32)]
2890 pub enum AutoLiquidateFlag {
2891 Enabled = 1,
2892 Disabled = 2,
2893 }
2894 impl AutoLiquidateFlag {
2895 pub fn as_str_name(&self) -> &'static str {
2900 match self {
2901 Self::Enabled => "ENABLED",
2902 Self::Disabled => "DISABLED",
2903 }
2904 }
2905 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2907 match value {
2908 "ENABLED" => Some(Self::Enabled),
2909 "DISABLED" => Some(Self::Disabled),
2910 _ => None,
2911 }
2912 }
2913 }
2914}
2915#[derive(Clone, PartialEq, ::prost::Message)]
2916pub struct RequestAccountRmsUpdates {
2917 #[prost(int32, required, tag = "154467")]
2918 pub template_id: i32,
2919 #[prost(string, repeated, tag = "132760")]
2920 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2921 #[prost(string, optional, tag = "154013")]
2922 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
2923 #[prost(string, optional, tag = "154014")]
2924 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
2925 #[prost(string, optional, tag = "154008")]
2926 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
2927 #[prost(string, optional, tag = "100000")]
2929 pub request: ::core::option::Option<::prost::alloc::string::String>,
2930 #[prost(int32, optional, tag = "154211")]
2931 pub update_bits: ::core::option::Option<i32>,
2932}
2933pub mod request_account_rms_updates {
2935 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2936 #[repr(i32)]
2937 pub enum UpdateBits {
2938 AutoLiqThresholdCurrentValue = 1,
2939 }
2940 impl UpdateBits {
2941 pub fn as_str_name(&self) -> &'static str {
2946 match self {
2947 Self::AutoLiqThresholdCurrentValue => "AUTO_LIQ_THRESHOLD_CURRENT_VALUE",
2948 }
2949 }
2950 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2952 match value {
2953 "AUTO_LIQ_THRESHOLD_CURRENT_VALUE" => Some(Self::AutoLiqThresholdCurrentValue),
2954 _ => None,
2955 }
2956 }
2957 }
2958}
2959#[derive(Clone, PartialEq, ::prost::Message)]
2960pub struct ResponseAccountRmsUpdates {
2961 #[prost(int32, required, tag = "154467")]
2962 pub template_id: i32,
2963 #[prost(string, repeated, tag = "132760")]
2964 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2965 #[prost(string, repeated, tag = "132766")]
2966 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2967}
2968#[derive(Clone, PartialEq, ::prost::Message)]
2970pub struct RequestProductRmsInfo {
2971 #[prost(int32, required, tag = "154467")]
2973 pub template_id: i32,
2974 #[prost(string, repeated, tag = "132760")]
2976 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2977 #[prost(string, optional, tag = "154013")]
2979 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
2980 #[prost(string, optional, tag = "154014")]
2982 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
2983 #[prost(string, optional, tag = "154008")]
2985 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
2986}
2987#[derive(Clone, PartialEq, ::prost::Message)]
2989pub struct ResponseProductRmsInfo {
2990 #[prost(int32, required, tag = "154467")]
2992 pub template_id: i32,
2993 #[prost(string, repeated, tag = "132760")]
2995 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2996 #[prost(string, repeated, tag = "132764")]
2998 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2999 #[prost(string, repeated, tag = "132766")]
3001 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3002 #[prost(uint32, optional, tag = "153622")]
3004 pub presence_bits: ::core::option::Option<u32>,
3005 #[prost(string, optional, tag = "154013")]
3007 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
3008 #[prost(string, optional, tag = "154014")]
3010 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
3011 #[prost(string, optional, tag = "154008")]
3013 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
3014 #[prost(string, optional, tag = "100749")]
3016 pub product_code: ::core::option::Option<::prost::alloc::string::String>,
3017 #[prost(double, optional, tag = "154019")]
3019 pub loss_limit: ::core::option::Option<f64>,
3020 #[prost(double, optional, tag = "156969")]
3022 pub commission_fill_rate: ::core::option::Option<f64>,
3023 #[prost(double, optional, tag = "157003")]
3025 pub buy_margin_rate: ::core::option::Option<f64>,
3026 #[prost(double, optional, tag = "157004")]
3028 pub sell_margin_rate: ::core::option::Option<f64>,
3029 #[prost(int32, optional, tag = "154009")]
3031 pub buy_limit: ::core::option::Option<i32>,
3032 #[prost(int32, optional, tag = "110105")]
3034 pub max_order_quantity: ::core::option::Option<i32>,
3035 #[prost(int32, optional, tag = "154035")]
3037 pub sell_limit: ::core::option::Option<i32>,
3038}
3039pub mod response_product_rms_info {
3041 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3043 #[repr(i32)]
3044 pub enum PresenceBits {
3045 BuyLimit = 1,
3046 SellLimit = 2,
3047 LossLimit = 4,
3048 MaxOrderQuantity = 8,
3049 BuyMarginRate = 16,
3050 SellMarginRate = 32,
3051 CommissionFillRate = 64,
3052 }
3053 impl PresenceBits {
3054 pub fn as_str_name(&self) -> &'static str {
3059 match self {
3060 Self::BuyLimit => "BUY_LIMIT",
3061 Self::SellLimit => "SELL_LIMIT",
3062 Self::LossLimit => "LOSS_LIMIT",
3063 Self::MaxOrderQuantity => "MAX_ORDER_QUANTITY",
3064 Self::BuyMarginRate => "BUY_MARGIN_RATE",
3065 Self::SellMarginRate => "SELL_MARGIN_RATE",
3066 Self::CommissionFillRate => "COMMISSION_FILL_RATE",
3067 }
3068 }
3069 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3071 match value {
3072 "BUY_LIMIT" => Some(Self::BuyLimit),
3073 "SELL_LIMIT" => Some(Self::SellLimit),
3074 "LOSS_LIMIT" => Some(Self::LossLimit),
3075 "MAX_ORDER_QUANTITY" => Some(Self::MaxOrderQuantity),
3076 "BUY_MARGIN_RATE" => Some(Self::BuyMarginRate),
3077 "SELL_MARGIN_RATE" => Some(Self::SellMarginRate),
3078 "COMMISSION_FILL_RATE" => Some(Self::CommissionFillRate),
3079 _ => None,
3080 }
3081 }
3082 }
3083}
3084#[derive(Clone, PartialEq, ::prost::Message)]
3086pub struct RequestSubscribeForOrderUpdates {
3087 #[prost(int32, required, tag = "154467")]
3089 pub template_id: i32,
3090 #[prost(string, repeated, tag = "132760")]
3092 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3093 #[prost(string, optional, tag = "154013")]
3095 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
3096 #[prost(string, optional, tag = "154014")]
3098 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
3099 #[prost(string, optional, tag = "154008")]
3101 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
3102}
3103#[derive(Clone, PartialEq, ::prost::Message)]
3105pub struct ResponseSubscribeForOrderUpdates {
3106 #[prost(int32, required, tag = "154467")]
3108 pub template_id: i32,
3109 #[prost(string, repeated, tag = "132760")]
3111 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3112 #[prost(string, repeated, tag = "132766")]
3114 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3115}
3116#[derive(Clone, PartialEq, ::prost::Message)]
3118pub struct RequestTradeRoutes {
3119 #[prost(int32, required, tag = "154467")]
3121 pub template_id: i32,
3122 #[prost(string, repeated, tag = "132760")]
3124 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3125 #[prost(bool, optional, tag = "154352")]
3127 pub subscribe_for_updates: ::core::option::Option<bool>,
3128}
3129#[derive(Clone, PartialEq, ::prost::Message)]
3131pub struct ResponseTradeRoutes {
3132 #[prost(int32, required, tag = "154467")]
3134 pub template_id: i32,
3135 #[prost(string, repeated, tag = "132760")]
3137 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3138 #[prost(string, repeated, tag = "132764")]
3140 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3141 #[prost(string, repeated, tag = "132766")]
3143 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3144 #[prost(string, optional, tag = "154013")]
3146 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
3147 #[prost(string, optional, tag = "154014")]
3149 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
3150 #[prost(string, optional, tag = "110101")]
3152 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
3153 #[prost(string, optional, tag = "112016")]
3155 pub trade_route: ::core::option::Option<::prost::alloc::string::String>,
3156 #[prost(string, optional, tag = "131407")]
3158 pub status: ::core::option::Option<::prost::alloc::string::String>,
3159 #[prost(bool, optional, tag = "154689")]
3161 pub is_default: ::core::option::Option<bool>,
3162}
3163#[derive(Clone, PartialEq, ::prost::Message)]
3164pub struct RequestNewOrder {
3165 #[prost(int32, required, tag = "154467")]
3166 pub template_id: i32,
3167 #[prost(string, repeated, tag = "132760")]
3168 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3169 #[prost(string, optional, tag = "154119")]
3170 pub user_tag: ::core::option::Option<::prost::alloc::string::String>,
3171 #[prost(string, optional, tag = "154629")]
3172 pub window_name: ::core::option::Option<::prost::alloc::string::String>,
3173 #[prost(string, optional, tag = "154013")]
3174 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
3175 #[prost(string, optional, tag = "154014")]
3176 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
3177 #[prost(string, optional, tag = "154008")]
3178 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
3179 #[prost(string, optional, tag = "110100")]
3180 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
3181 #[prost(string, optional, tag = "110101")]
3182 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
3183 #[prost(int32, optional, tag = "112004")]
3184 pub quantity: ::core::option::Option<i32>,
3185 #[prost(double, optional, tag = "110306")]
3186 pub price: ::core::option::Option<f64>,
3187 #[prost(double, optional, tag = "149247")]
3188 pub trigger_price: ::core::option::Option<f64>,
3189 #[prost(
3190 enumeration = "request_new_order::TransactionType",
3191 optional,
3192 tag = "112003"
3193 )]
3194 pub transaction_type: ::core::option::Option<i32>,
3195 #[prost(enumeration = "request_new_order::Duration", optional, tag = "112005")]
3196 pub duration: ::core::option::Option<i32>,
3197 #[prost(enumeration = "request_new_order::PriceType", optional, tag = "112008")]
3198 pub price_type: ::core::option::Option<i32>,
3199 #[prost(string, optional, tag = "112016")]
3200 pub trade_route: ::core::option::Option<::prost::alloc::string::String>,
3201 #[prost(
3202 enumeration = "request_new_order::OrderPlacement",
3203 optional,
3204 tag = "154710"
3205 )]
3206 pub manual_or_auto: ::core::option::Option<i32>,
3207 #[prost(bool, optional, tag = "157063")]
3208 pub trailing_stop: ::core::option::Option<bool>,
3209 #[prost(int32, optional, tag = "157064")]
3210 pub trail_by_ticks: ::core::option::Option<i32>,
3211 #[prost(int32, optional, tag = "157065")]
3212 pub trail_by_price_id: ::core::option::Option<i32>,
3213 #[prost(int32, optional, tag = "154487")]
3214 pub release_at_ssboe: ::core::option::Option<i32>,
3215 #[prost(int32, optional, tag = "154549")]
3216 pub release_at_usecs: ::core::option::Option<i32>,
3217 #[prost(int32, optional, tag = "157085")]
3218 pub cancel_at_ssboe: ::core::option::Option<i32>,
3219 #[prost(int32, optional, tag = "157086")]
3220 pub cancel_at_usecs: ::core::option::Option<i32>,
3221 #[prost(int32, optional, tag = "154488")]
3222 pub cancel_after_secs: ::core::option::Option<i32>,
3223 #[prost(string, optional, tag = "154451")]
3224 pub if_touched_symbol: ::core::option::Option<::prost::alloc::string::String>,
3225 #[prost(string, optional, tag = "154452")]
3226 pub if_touched_exchange: ::core::option::Option<::prost::alloc::string::String>,
3227 #[prost(enumeration = "request_new_order::Condition", optional, tag = "154453")]
3228 pub if_touched_condition: ::core::option::Option<i32>,
3229 #[prost(
3230 enumeration = "request_new_order::PriceField",
3231 optional,
3232 tag = "154454"
3233 )]
3234 pub if_touched_price_field: ::core::option::Option<i32>,
3235 #[prost(double, optional, tag = "153632")]
3236 pub if_touched_price: ::core::option::Option<f64>,
3237}
3238pub mod request_new_order {
3240 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3241 #[repr(i32)]
3242 pub enum TransactionType {
3243 Buy = 1,
3244 Sell = 2,
3245 }
3246 impl TransactionType {
3247 pub fn as_str_name(&self) -> &'static str {
3252 match self {
3253 Self::Buy => "BUY",
3254 Self::Sell => "SELL",
3255 }
3256 }
3257 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3259 match value {
3260 "BUY" => Some(Self::Buy),
3261 "SELL" => Some(Self::Sell),
3262 _ => None,
3263 }
3264 }
3265 }
3266 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3267 #[repr(i32)]
3268 pub enum OrderPlacement {
3269 Manual = 1,
3270 Auto = 2,
3271 }
3272 impl OrderPlacement {
3273 pub fn as_str_name(&self) -> &'static str {
3278 match self {
3279 Self::Manual => "MANUAL",
3280 Self::Auto => "AUTO",
3281 }
3282 }
3283 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3285 match value {
3286 "MANUAL" => Some(Self::Manual),
3287 "AUTO" => Some(Self::Auto),
3288 _ => None,
3289 }
3290 }
3291 }
3292 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3293 #[repr(i32)]
3294 pub enum Duration {
3295 Day = 1,
3296 Gtc = 2,
3297 Ioc = 3,
3298 Fok = 4,
3299 }
3300 impl Duration {
3301 pub fn as_str_name(&self) -> &'static str {
3306 match self {
3307 Self::Day => "DAY",
3308 Self::Gtc => "GTC",
3309 Self::Ioc => "IOC",
3310 Self::Fok => "FOK",
3311 }
3312 }
3313 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3315 match value {
3316 "DAY" => Some(Self::Day),
3317 "GTC" => Some(Self::Gtc),
3318 "IOC" => Some(Self::Ioc),
3319 "FOK" => Some(Self::Fok),
3320 _ => None,
3321 }
3322 }
3323 }
3324 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3325 #[repr(i32)]
3326 pub enum PriceType {
3327 Limit = 1,
3328 Market = 2,
3329 StopLimit = 3,
3330 StopMarket = 4,
3331 MarketIfTouched = 5,
3332 LimitIfTouched = 6,
3333 }
3334 impl PriceType {
3335 pub fn as_str_name(&self) -> &'static str {
3340 match self {
3341 Self::Limit => "LIMIT",
3342 Self::Market => "MARKET",
3343 Self::StopLimit => "STOP_LIMIT",
3344 Self::StopMarket => "STOP_MARKET",
3345 Self::MarketIfTouched => "MARKET_IF_TOUCHED",
3346 Self::LimitIfTouched => "LIMIT_IF_TOUCHED",
3347 }
3348 }
3349 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3351 match value {
3352 "LIMIT" => Some(Self::Limit),
3353 "MARKET" => Some(Self::Market),
3354 "STOP_LIMIT" => Some(Self::StopLimit),
3355 "STOP_MARKET" => Some(Self::StopMarket),
3356 "MARKET_IF_TOUCHED" => Some(Self::MarketIfTouched),
3357 "LIMIT_IF_TOUCHED" => Some(Self::LimitIfTouched),
3358 _ => None,
3359 }
3360 }
3361 }
3362 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3363 #[repr(i32)]
3364 pub enum PriceField {
3365 BidPrice = 1,
3366 OfferPrice = 2,
3367 TradePrice = 3,
3368 LeanPrice = 4,
3369 }
3370 impl PriceField {
3371 pub fn as_str_name(&self) -> &'static str {
3376 match self {
3377 Self::BidPrice => "BID_PRICE",
3378 Self::OfferPrice => "OFFER_PRICE",
3379 Self::TradePrice => "TRADE_PRICE",
3380 Self::LeanPrice => "LEAN_PRICE",
3381 }
3382 }
3383 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3385 match value {
3386 "BID_PRICE" => Some(Self::BidPrice),
3387 "OFFER_PRICE" => Some(Self::OfferPrice),
3388 "TRADE_PRICE" => Some(Self::TradePrice),
3389 "LEAN_PRICE" => Some(Self::LeanPrice),
3390 _ => None,
3391 }
3392 }
3393 }
3394 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3395 #[repr(i32)]
3396 pub enum Condition {
3397 EqualTo = 1,
3398 NotEqualTo = 2,
3399 GreaterThan = 3,
3400 GreaterThanEqualTo = 4,
3401 LesserThan = 5,
3402 LesserThanEqualTo = 6,
3403 }
3404 impl Condition {
3405 pub fn as_str_name(&self) -> &'static str {
3410 match self {
3411 Self::EqualTo => "EQUAL_TO",
3412 Self::NotEqualTo => "NOT_EQUAL_TO",
3413 Self::GreaterThan => "GREATER_THAN",
3414 Self::GreaterThanEqualTo => "GREATER_THAN_EQUAL_TO",
3415 Self::LesserThan => "LESSER_THAN",
3416 Self::LesserThanEqualTo => "LESSER_THAN_EQUAL_TO",
3417 }
3418 }
3419 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3421 match value {
3422 "EQUAL_TO" => Some(Self::EqualTo),
3423 "NOT_EQUAL_TO" => Some(Self::NotEqualTo),
3424 "GREATER_THAN" => Some(Self::GreaterThan),
3425 "GREATER_THAN_EQUAL_TO" => Some(Self::GreaterThanEqualTo),
3426 "LESSER_THAN" => Some(Self::LesserThan),
3427 "LESSER_THAN_EQUAL_TO" => Some(Self::LesserThanEqualTo),
3428 _ => None,
3429 }
3430 }
3431 }
3432}
3433#[derive(Clone, PartialEq, ::prost::Message)]
3435pub struct ResponseNewOrder {
3436 #[prost(int32, required, tag = "154467")]
3438 pub template_id: i32,
3439 #[prost(string, repeated, tag = "132760")]
3441 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3442 #[prost(string, optional, tag = "154119")]
3444 pub user_tag: ::core::option::Option<::prost::alloc::string::String>,
3445 #[prost(string, repeated, tag = "132764")]
3447 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3448 #[prost(string, repeated, tag = "132766")]
3450 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3451 #[prost(string, optional, tag = "110300")]
3453 pub basket_id: ::core::option::Option<::prost::alloc::string::String>,
3454 #[prost(int32, optional, tag = "150100")]
3456 pub ssboe: ::core::option::Option<i32>,
3457 #[prost(int32, optional, tag = "150101")]
3459 pub usecs: ::core::option::Option<i32>,
3460}
3461#[derive(Clone, PartialEq, ::prost::Message)]
3462pub struct RequestModifyOrder {
3463 #[prost(int32, required, tag = "154467")]
3464 pub template_id: i32,
3465 #[prost(string, repeated, tag = "132760")]
3466 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3467 #[prost(string, optional, tag = "154629")]
3468 pub window_name: ::core::option::Option<::prost::alloc::string::String>,
3469 #[prost(string, optional, tag = "154013")]
3470 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
3471 #[prost(string, optional, tag = "154014")]
3472 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
3473 #[prost(string, optional, tag = "154008")]
3474 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
3475 #[prost(string, optional, tag = "110300")]
3476 pub basket_id: ::core::option::Option<::prost::alloc::string::String>,
3477 #[prost(string, optional, tag = "110100")]
3478 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
3479 #[prost(string, optional, tag = "110101")]
3480 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
3481 #[prost(int32, optional, tag = "112004")]
3482 pub quantity: ::core::option::Option<i32>,
3483 #[prost(double, optional, tag = "110306")]
3484 pub price: ::core::option::Option<f64>,
3485 #[prost(double, optional, tag = "149247")]
3486 pub trigger_price: ::core::option::Option<f64>,
3487 #[prost(
3488 enumeration = "request_modify_order::PriceType",
3489 optional,
3490 tag = "112008"
3491 )]
3492 pub price_type: ::core::option::Option<i32>,
3493 #[prost(
3494 enumeration = "request_modify_order::OrderPlacement",
3495 optional,
3496 tag = "154710"
3497 )]
3498 pub manual_or_auto: ::core::option::Option<i32>,
3499 #[prost(bool, optional, tag = "157063")]
3500 pub trailing_stop: ::core::option::Option<bool>,
3501 #[prost(int32, optional, tag = "157064")]
3502 pub trail_by_ticks: ::core::option::Option<i32>,
3503 #[prost(string, optional, tag = "154451")]
3504 pub if_touched_symbol: ::core::option::Option<::prost::alloc::string::String>,
3505 #[prost(string, optional, tag = "154452")]
3506 pub if_touched_exchange: ::core::option::Option<::prost::alloc::string::String>,
3507 #[prost(
3508 enumeration = "request_modify_order::Condition",
3509 optional,
3510 tag = "154453"
3511 )]
3512 pub if_touched_condition: ::core::option::Option<i32>,
3513 #[prost(
3514 enumeration = "request_modify_order::PriceField",
3515 optional,
3516 tag = "154454"
3517 )]
3518 pub if_touched_price_field: ::core::option::Option<i32>,
3519 #[prost(double, optional, tag = "153632")]
3520 pub if_touched_price: ::core::option::Option<f64>,
3521}
3522pub mod request_modify_order {
3524 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3525 #[repr(i32)]
3526 pub enum PriceType {
3527 Limit = 1,
3528 Market = 2,
3529 StopLimit = 3,
3530 StopMarket = 4,
3531 MarketIfTouched = 5,
3532 LimitIfTouched = 6,
3533 }
3534 impl PriceType {
3535 pub fn as_str_name(&self) -> &'static str {
3540 match self {
3541 Self::Limit => "LIMIT",
3542 Self::Market => "MARKET",
3543 Self::StopLimit => "STOP_LIMIT",
3544 Self::StopMarket => "STOP_MARKET",
3545 Self::MarketIfTouched => "MARKET_IF_TOUCHED",
3546 Self::LimitIfTouched => "LIMIT_IF_TOUCHED",
3547 }
3548 }
3549 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3551 match value {
3552 "LIMIT" => Some(Self::Limit),
3553 "MARKET" => Some(Self::Market),
3554 "STOP_LIMIT" => Some(Self::StopLimit),
3555 "STOP_MARKET" => Some(Self::StopMarket),
3556 "MARKET_IF_TOUCHED" => Some(Self::MarketIfTouched),
3557 "LIMIT_IF_TOUCHED" => Some(Self::LimitIfTouched),
3558 _ => None,
3559 }
3560 }
3561 }
3562 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3563 #[repr(i32)]
3564 pub enum PriceField {
3565 BidPrice = 1,
3566 OfferPrice = 2,
3567 TradePrice = 3,
3568 LeanPrice = 4,
3569 }
3570 impl PriceField {
3571 pub fn as_str_name(&self) -> &'static str {
3576 match self {
3577 Self::BidPrice => "BID_PRICE",
3578 Self::OfferPrice => "OFFER_PRICE",
3579 Self::TradePrice => "TRADE_PRICE",
3580 Self::LeanPrice => "LEAN_PRICE",
3581 }
3582 }
3583 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3585 match value {
3586 "BID_PRICE" => Some(Self::BidPrice),
3587 "OFFER_PRICE" => Some(Self::OfferPrice),
3588 "TRADE_PRICE" => Some(Self::TradePrice),
3589 "LEAN_PRICE" => Some(Self::LeanPrice),
3590 _ => None,
3591 }
3592 }
3593 }
3594 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3595 #[repr(i32)]
3596 pub enum Condition {
3597 EqualTo = 1,
3598 NotEqualTo = 2,
3599 GreaterThan = 3,
3600 GreaterThanEqualTo = 4,
3601 LesserThan = 5,
3602 LesserThanEqualTo = 6,
3603 }
3604 impl Condition {
3605 pub fn as_str_name(&self) -> &'static str {
3610 match self {
3611 Self::EqualTo => "EQUAL_TO",
3612 Self::NotEqualTo => "NOT_EQUAL_TO",
3613 Self::GreaterThan => "GREATER_THAN",
3614 Self::GreaterThanEqualTo => "GREATER_THAN_EQUAL_TO",
3615 Self::LesserThan => "LESSER_THAN",
3616 Self::LesserThanEqualTo => "LESSER_THAN_EQUAL_TO",
3617 }
3618 }
3619 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3621 match value {
3622 "EQUAL_TO" => Some(Self::EqualTo),
3623 "NOT_EQUAL_TO" => Some(Self::NotEqualTo),
3624 "GREATER_THAN" => Some(Self::GreaterThan),
3625 "GREATER_THAN_EQUAL_TO" => Some(Self::GreaterThanEqualTo),
3626 "LESSER_THAN" => Some(Self::LesserThan),
3627 "LESSER_THAN_EQUAL_TO" => Some(Self::LesserThanEqualTo),
3628 _ => None,
3629 }
3630 }
3631 }
3632 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3633 #[repr(i32)]
3634 pub enum OrderPlacement {
3635 Manual = 1,
3636 Auto = 2,
3637 }
3638 impl OrderPlacement {
3639 pub fn as_str_name(&self) -> &'static str {
3644 match self {
3645 Self::Manual => "MANUAL",
3646 Self::Auto => "AUTO",
3647 }
3648 }
3649 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3651 match value {
3652 "MANUAL" => Some(Self::Manual),
3653 "AUTO" => Some(Self::Auto),
3654 _ => None,
3655 }
3656 }
3657 }
3658}
3659#[derive(Clone, PartialEq, ::prost::Message)]
3661pub struct ResponseModifyOrder {
3662 #[prost(int32, required, tag = "154467")]
3664 pub template_id: i32,
3665 #[prost(string, repeated, tag = "132760")]
3667 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3668 #[prost(string, repeated, tag = "132764")]
3670 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3671 #[prost(string, repeated, tag = "132766")]
3673 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3674 #[prost(string, optional, tag = "110300")]
3676 pub basket_id: ::core::option::Option<::prost::alloc::string::String>,
3677 #[prost(int32, optional, tag = "150100")]
3679 pub ssboe: ::core::option::Option<i32>,
3680 #[prost(int32, optional, tag = "150101")]
3682 pub usecs: ::core::option::Option<i32>,
3683}
3684#[derive(Clone, PartialEq, ::prost::Message)]
3686pub struct RequestModifyOrderReferenceData {
3687 #[prost(int32, required, tag = "154467")]
3689 pub template_id: i32,
3690 #[prost(string, repeated, tag = "132760")]
3692 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3693 #[prost(string, optional, tag = "154119")]
3695 pub user_tag: ::core::option::Option<::prost::alloc::string::String>,
3696 #[prost(string, optional, tag = "154013")]
3698 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
3699 #[prost(string, optional, tag = "154014")]
3701 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
3702 #[prost(string, optional, tag = "154008")]
3704 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
3705 #[prost(string, optional, tag = "110300")]
3707 pub basket_id: ::core::option::Option<::prost::alloc::string::String>,
3708}
3709#[derive(Clone, PartialEq, ::prost::Message)]
3711pub struct ResponseModifyOrderReferenceData {
3712 #[prost(int32, required, tag = "154467")]
3714 pub template_id: i32,
3715 #[prost(string, repeated, tag = "132760")]
3717 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3718 #[prost(string, repeated, tag = "132766")]
3720 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3721}
3722#[derive(Clone, PartialEq, ::prost::Message)]
3723pub struct RequestCancelOrder {
3724 #[prost(int32, required, tag = "154467")]
3725 pub template_id: i32,
3726 #[prost(string, repeated, tag = "132760")]
3727 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3728 #[prost(string, optional, tag = "154629")]
3729 pub window_name: ::core::option::Option<::prost::alloc::string::String>,
3730 #[prost(string, optional, tag = "154013")]
3731 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
3732 #[prost(string, optional, tag = "154014")]
3733 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
3734 #[prost(string, optional, tag = "154008")]
3735 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
3736 #[prost(string, optional, tag = "110300")]
3737 pub basket_id: ::core::option::Option<::prost::alloc::string::String>,
3738 #[prost(
3739 enumeration = "request_cancel_order::OrderPlacement",
3740 optional,
3741 tag = "154710"
3742 )]
3743 pub manual_or_auto: ::core::option::Option<i32>,
3744}
3745pub mod request_cancel_order {
3747 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3748 #[repr(i32)]
3749 pub enum OrderPlacement {
3750 Manual = 1,
3751 Auto = 2,
3752 }
3753 impl OrderPlacement {
3754 pub fn as_str_name(&self) -> &'static str {
3759 match self {
3760 Self::Manual => "MANUAL",
3761 Self::Auto => "AUTO",
3762 }
3763 }
3764 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3766 match value {
3767 "MANUAL" => Some(Self::Manual),
3768 "AUTO" => Some(Self::Auto),
3769 _ => None,
3770 }
3771 }
3772 }
3773}
3774#[derive(Clone, PartialEq, ::prost::Message)]
3776pub struct ResponseCancelOrder {
3777 #[prost(int32, required, tag = "154467")]
3779 pub template_id: i32,
3780 #[prost(string, repeated, tag = "132760")]
3782 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3783 #[prost(string, repeated, tag = "132764")]
3785 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3786 #[prost(string, repeated, tag = "132766")]
3788 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3789 #[prost(string, optional, tag = "110300")]
3791 pub basket_id: ::core::option::Option<::prost::alloc::string::String>,
3792 #[prost(int32, optional, tag = "150100")]
3794 pub ssboe: ::core::option::Option<i32>,
3795 #[prost(int32, optional, tag = "150101")]
3797 pub usecs: ::core::option::Option<i32>,
3798}
3799#[derive(Clone, PartialEq, ::prost::Message)]
3801pub struct RequestCancelAllOrders {
3802 #[prost(int32, required, tag = "154467")]
3804 pub template_id: i32,
3805 #[prost(string, repeated, tag = "132760")]
3807 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3808 #[prost(string, optional, tag = "154013")]
3810 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
3811 #[prost(string, optional, tag = "154014")]
3813 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
3814 #[prost(string, optional, tag = "154008")]
3816 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
3817 #[prost(
3819 enumeration = "request_cancel_all_orders::UserType",
3820 optional,
3821 tag = "154036"
3822 )]
3823 pub user_type: ::core::option::Option<i32>,
3824 #[prost(
3826 enumeration = "request_cancel_all_orders::OrderPlacement",
3827 optional,
3828 tag = "154710"
3829 )]
3830 pub manual_or_auto: ::core::option::Option<i32>,
3831}
3832pub mod request_cancel_all_orders {
3834 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3835 #[repr(i32)]
3836 pub enum OrderPlacement {
3837 Manual = 1,
3838 Auto = 2,
3839 }
3840 impl OrderPlacement {
3841 pub fn as_str_name(&self) -> &'static str {
3846 match self {
3847 Self::Manual => "MANUAL",
3848 Self::Auto => "AUTO",
3849 }
3850 }
3851 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3853 match value {
3854 "MANUAL" => Some(Self::Manual),
3855 "AUTO" => Some(Self::Auto),
3856 _ => None,
3857 }
3858 }
3859 }
3860 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3861 #[repr(i32)]
3862 pub enum UserType {
3863 Admin = 0,
3864 Fcm = 1,
3865 Ib = 2,
3866 Trader = 3,
3867 }
3868 impl UserType {
3869 pub fn as_str_name(&self) -> &'static str {
3874 match self {
3875 Self::Admin => "USER_TYPE_ADMIN",
3876 Self::Fcm => "USER_TYPE_FCM",
3877 Self::Ib => "USER_TYPE_IB",
3878 Self::Trader => "USER_TYPE_TRADER",
3879 }
3880 }
3881 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3883 match value {
3884 "USER_TYPE_ADMIN" => Some(Self::Admin),
3885 "USER_TYPE_FCM" => Some(Self::Fcm),
3886 "USER_TYPE_IB" => Some(Self::Ib),
3887 "USER_TYPE_TRADER" => Some(Self::Trader),
3888 _ => None,
3889 }
3890 }
3891 }
3892}
3893#[derive(Clone, PartialEq, ::prost::Message)]
3895pub struct ResponseCancelAllOrders {
3896 #[prost(int32, required, tag = "154467")]
3898 pub template_id: i32,
3899 #[prost(string, repeated, tag = "132760")]
3901 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3902 #[prost(string, repeated, tag = "132766")]
3904 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3905}
3906#[derive(Clone, PartialEq, ::prost::Message)]
3908pub struct RequestShowOrders {
3909 #[prost(int32, required, tag = "154467")]
3911 pub template_id: i32,
3912 #[prost(string, repeated, tag = "132760")]
3914 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3915 #[prost(string, optional, tag = "154013")]
3917 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
3918 #[prost(string, optional, tag = "154014")]
3920 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
3921 #[prost(string, optional, tag = "154008")]
3923 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
3924}
3925#[derive(Clone, PartialEq, ::prost::Message)]
3927pub struct ResponseShowOrders {
3928 #[prost(int32, required, tag = "154467")]
3930 pub template_id: i32,
3931 #[prost(string, repeated, tag = "132760")]
3933 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3934 #[prost(string, repeated, tag = "132766")]
3936 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3937}
3938#[derive(Clone, PartialEq, ::prost::Message)]
3940pub struct RequestShowOrderHistory {
3941 #[prost(int32, required, tag = "154467")]
3943 pub template_id: i32,
3944 #[prost(string, repeated, tag = "132760")]
3946 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3947 #[prost(string, optional, tag = "154013")]
3949 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
3950 #[prost(string, optional, tag = "154014")]
3952 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
3953 #[prost(string, optional, tag = "154008")]
3955 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
3956 #[prost(string, optional, tag = "110300")]
3958 pub basket_id: ::core::option::Option<::prost::alloc::string::String>,
3959}
3960#[derive(Clone, PartialEq, ::prost::Message)]
3962pub struct ResponseShowOrderHistory {
3963 #[prost(int32, required, tag = "154467")]
3965 pub template_id: i32,
3966 #[prost(string, repeated, tag = "132760")]
3968 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3969 #[prost(string, repeated, tag = "132766")]
3971 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3972}
3973#[derive(Clone, PartialEq, ::prost::Message)]
3975pub struct RequestShowOrderHistorySummary {
3976 #[prost(int32, required, tag = "154467")]
3978 pub template_id: i32,
3979 #[prost(string, repeated, tag = "132760")]
3981 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3982 #[prost(string, optional, tag = "154013")]
3984 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
3985 #[prost(string, optional, tag = "154014")]
3987 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
3988 #[prost(string, optional, tag = "154008")]
3990 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
3991 #[prost(string, optional, tag = "110615")]
3993 pub date: ::core::option::Option<::prost::alloc::string::String>,
3994}
3995#[derive(Clone, PartialEq, ::prost::Message)]
3997pub struct ResponseShowOrderHistorySummary {
3998 #[prost(int32, required, tag = "154467")]
4000 pub template_id: i32,
4001 #[prost(string, repeated, tag = "132760")]
4003 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4004 #[prost(string, repeated, tag = "132766")]
4006 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4007}
4008#[derive(Clone, PartialEq, ::prost::Message)]
4010pub struct RequestShowOrderHistoryDetail {
4011 #[prost(int32, required, tag = "154467")]
4013 pub template_id: i32,
4014 #[prost(string, repeated, tag = "132760")]
4016 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4017 #[prost(string, optional, tag = "154013")]
4019 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
4020 #[prost(string, optional, tag = "154014")]
4022 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
4023 #[prost(string, optional, tag = "154008")]
4025 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
4026 #[prost(string, optional, tag = "110300")]
4028 pub basket_id: ::core::option::Option<::prost::alloc::string::String>,
4029 #[prost(string, optional, tag = "110615")]
4031 pub date: ::core::option::Option<::prost::alloc::string::String>,
4032}
4033#[derive(Clone, PartialEq, ::prost::Message)]
4035pub struct ResponseShowOrderHistoryDetail {
4036 #[prost(int32, required, tag = "154467")]
4038 pub template_id: i32,
4039 #[prost(string, repeated, tag = "132760")]
4041 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4042 #[prost(string, repeated, tag = "132766")]
4044 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4045}
4046#[derive(Clone, PartialEq, ::prost::Message)]
4048pub struct RequestShowOrderHistoryDates {
4049 #[prost(int32, required, tag = "154467")]
4051 pub template_id: i32,
4052 #[prost(string, repeated, tag = "132760")]
4054 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4055}
4056#[derive(Clone, PartialEq, ::prost::Message)]
4058pub struct ResponseShowOrderHistoryDates {
4059 #[prost(int32, required, tag = "154467")]
4061 pub template_id: i32,
4062 #[prost(string, repeated, tag = "132760")]
4064 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4065 #[prost(string, repeated, tag = "132764")]
4067 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4068 #[prost(string, repeated, tag = "132766")]
4070 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4071 #[prost(string, repeated, tag = "110615")]
4073 pub date: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4074}
4075#[derive(Clone, PartialEq, ::prost::Message)]
4076pub struct RequestOcoOrder {
4077 #[prost(int32, required, tag = "154467")]
4078 pub template_id: i32,
4079 #[prost(string, repeated, tag = "132760")]
4080 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4081 #[prost(string, repeated, tag = "154119")]
4082 pub user_tag: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4083 #[prost(string, repeated, tag = "154629")]
4084 pub window_name: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4085 #[prost(string, optional, tag = "154013")]
4086 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
4087 #[prost(string, optional, tag = "154014")]
4088 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
4089 #[prost(string, optional, tag = "154008")]
4090 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
4091 #[prost(string, repeated, tag = "110100")]
4092 pub symbol: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4093 #[prost(string, repeated, tag = "110101")]
4094 pub exchange: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4095 #[prost(int32, repeated, packed = "false", tag = "112004")]
4096 pub quantity: ::prost::alloc::vec::Vec<i32>,
4097 #[prost(double, repeated, packed = "false", tag = "110306")]
4098 pub price: ::prost::alloc::vec::Vec<f64>,
4099 #[prost(double, repeated, packed = "false", tag = "149247")]
4100 pub trigger_price: ::prost::alloc::vec::Vec<f64>,
4101 #[prost(
4102 enumeration = "request_oco_order::TransactionType",
4103 repeated,
4104 packed = "false",
4105 tag = "112003"
4106 )]
4107 pub transaction_type: ::prost::alloc::vec::Vec<i32>,
4108 #[prost(
4109 enumeration = "request_oco_order::Duration",
4110 repeated,
4111 packed = "false",
4112 tag = "112005"
4113 )]
4114 pub duration: ::prost::alloc::vec::Vec<i32>,
4115 #[prost(
4116 enumeration = "request_oco_order::PriceType",
4117 repeated,
4118 packed = "false",
4119 tag = "112008"
4120 )]
4121 pub price_type: ::prost::alloc::vec::Vec<i32>,
4122 #[prost(string, repeated, tag = "112016")]
4123 pub trade_route: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4124 #[prost(
4125 enumeration = "request_oco_order::OrderPlacement",
4126 repeated,
4127 packed = "false",
4128 tag = "154710"
4129 )]
4130 pub manual_or_auto: ::prost::alloc::vec::Vec<i32>,
4131 #[prost(bool, repeated, packed = "false", tag = "157063")]
4132 pub trailing_stop: ::prost::alloc::vec::Vec<bool>,
4133 #[prost(int32, repeated, packed = "false", tag = "157064")]
4134 pub trail_by_ticks: ::prost::alloc::vec::Vec<i32>,
4135 #[prost(int32, repeated, packed = "false", tag = "157065")]
4136 pub trail_by_price_id: ::prost::alloc::vec::Vec<i32>,
4137 #[prost(int32, optional, tag = "157085")]
4138 pub cancel_at_ssboe: ::core::option::Option<i32>,
4139 #[prost(int32, optional, tag = "157086")]
4140 pub cancel_at_usecs: ::core::option::Option<i32>,
4141 #[prost(int32, optional, tag = "154488")]
4142 pub cancel_after_secs: ::core::option::Option<i32>,
4143}
4144pub mod request_oco_order {
4146 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4147 #[repr(i32)]
4148 pub enum TransactionType {
4149 Buy = 1,
4150 Sell = 2,
4151 }
4152 impl TransactionType {
4153 pub fn as_str_name(&self) -> &'static str {
4158 match self {
4159 Self::Buy => "BUY",
4160 Self::Sell => "SELL",
4161 }
4162 }
4163 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4165 match value {
4166 "BUY" => Some(Self::Buy),
4167 "SELL" => Some(Self::Sell),
4168 _ => None,
4169 }
4170 }
4171 }
4172 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4173 #[repr(i32)]
4174 pub enum Duration {
4175 Day = 1,
4176 Gtc = 2,
4177 Ioc = 3,
4178 Fok = 4,
4179 }
4180 impl Duration {
4181 pub fn as_str_name(&self) -> &'static str {
4186 match self {
4187 Self::Day => "DAY",
4188 Self::Gtc => "GTC",
4189 Self::Ioc => "IOC",
4190 Self::Fok => "FOK",
4191 }
4192 }
4193 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4195 match value {
4196 "DAY" => Some(Self::Day),
4197 "GTC" => Some(Self::Gtc),
4198 "IOC" => Some(Self::Ioc),
4199 "FOK" => Some(Self::Fok),
4200 _ => None,
4201 }
4202 }
4203 }
4204 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4205 #[repr(i32)]
4206 pub enum PriceType {
4207 Limit = 1,
4208 Market = 2,
4209 StopLimit = 3,
4210 StopMarket = 4,
4211 }
4212 impl PriceType {
4213 pub fn as_str_name(&self) -> &'static str {
4218 match self {
4219 Self::Limit => "LIMIT",
4220 Self::Market => "MARKET",
4221 Self::StopLimit => "STOP_LIMIT",
4222 Self::StopMarket => "STOP_MARKET",
4223 }
4224 }
4225 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4227 match value {
4228 "LIMIT" => Some(Self::Limit),
4229 "MARKET" => Some(Self::Market),
4230 "STOP_LIMIT" => Some(Self::StopLimit),
4231 "STOP_MARKET" => Some(Self::StopMarket),
4232 _ => None,
4233 }
4234 }
4235 }
4236 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4237 #[repr(i32)]
4238 pub enum OrderPlacement {
4239 Manual = 1,
4240 Auto = 2,
4241 }
4242 impl OrderPlacement {
4243 pub fn as_str_name(&self) -> &'static str {
4248 match self {
4249 Self::Manual => "MANUAL",
4250 Self::Auto => "AUTO",
4251 }
4252 }
4253 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4255 match value {
4256 "MANUAL" => Some(Self::Manual),
4257 "AUTO" => Some(Self::Auto),
4258 _ => None,
4259 }
4260 }
4261 }
4262}
4263#[derive(Clone, PartialEq, ::prost::Message)]
4265pub struct ResponseOcoOrder {
4266 #[prost(int32, required, tag = "154467")]
4268 pub template_id: i32,
4269 #[prost(string, repeated, tag = "132760")]
4271 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4272 #[prost(string, repeated, tag = "154119")]
4274 pub user_tag: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4275 #[prost(string, repeated, tag = "132764")]
4277 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4278 #[prost(string, repeated, tag = "132766")]
4280 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4281 #[prost(string, repeated, tag = "110300")]
4283 pub basket_id: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4284 #[prost(int32, repeated, packed = "false", tag = "150100")]
4286 pub ssboe: ::prost::alloc::vec::Vec<i32>,
4287 #[prost(int32, repeated, packed = "false", tag = "150101")]
4289 pub usecs: ::prost::alloc::vec::Vec<i32>,
4290}
4291#[derive(Clone, PartialEq, ::prost::Message)]
4292pub struct RequestBracketOrder {
4293 #[prost(int32, required, tag = "154467")]
4294 pub template_id: i32,
4295 #[prost(string, repeated, tag = "132760")]
4296 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4297 #[prost(string, optional, tag = "154119")]
4298 pub user_tag: ::core::option::Option<::prost::alloc::string::String>,
4299 #[prost(string, optional, tag = "154629")]
4300 pub window_name: ::core::option::Option<::prost::alloc::string::String>,
4301 #[prost(string, optional, tag = "154013")]
4302 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
4303 #[prost(string, optional, tag = "154014")]
4304 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
4305 #[prost(string, optional, tag = "154008")]
4306 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
4307 #[prost(string, optional, tag = "110100")]
4308 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
4309 #[prost(string, optional, tag = "110101")]
4310 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
4311 #[prost(int32, optional, tag = "112004")]
4312 pub quantity: ::core::option::Option<i32>,
4313 #[prost(double, optional, tag = "110306")]
4314 pub price: ::core::option::Option<f64>,
4315 #[prost(double, optional, tag = "149247")]
4316 pub trigger_price: ::core::option::Option<f64>,
4317 #[prost(
4318 enumeration = "request_bracket_order::TransactionType",
4319 optional,
4320 tag = "112003"
4321 )]
4322 pub transaction_type: ::core::option::Option<i32>,
4323 #[prost(
4324 enumeration = "request_bracket_order::Duration",
4325 optional,
4326 tag = "112005"
4327 )]
4328 pub duration: ::core::option::Option<i32>,
4329 #[prost(
4330 enumeration = "request_bracket_order::PriceType",
4331 optional,
4332 tag = "112008"
4333 )]
4334 pub price_type: ::core::option::Option<i32>,
4335 #[prost(string, optional, tag = "112016")]
4336 pub trade_route: ::core::option::Option<::prost::alloc::string::String>,
4337 #[prost(
4338 enumeration = "request_bracket_order::OrderPlacement",
4339 optional,
4340 tag = "154710"
4341 )]
4342 pub manual_or_auto: ::core::option::Option<i32>,
4343 #[prost(
4344 enumeration = "request_bracket_order::UserType",
4345 optional,
4346 tag = "154036"
4347 )]
4348 pub user_type: ::core::option::Option<i32>,
4349 #[prost(
4350 enumeration = "request_bracket_order::BracketType",
4351 optional,
4352 tag = "157087"
4353 )]
4354 pub bracket_type: ::core::option::Option<i32>,
4355 #[prost(int32, optional, tag = "157170")]
4356 pub break_even_ticks: ::core::option::Option<i32>,
4357 #[prost(int32, optional, tag = "157172")]
4358 pub break_even_trigger_ticks: ::core::option::Option<i32>,
4359 #[prost(int32, repeated, packed = "false", tag = "154457")]
4360 pub target_quantity: ::prost::alloc::vec::Vec<i32>,
4361 #[prost(int32, repeated, packed = "false", tag = "154456")]
4362 pub target_ticks: ::prost::alloc::vec::Vec<i32>,
4363 #[prost(int32, repeated, packed = "false", tag = "154459")]
4364 pub stop_quantity: ::prost::alloc::vec::Vec<i32>,
4365 #[prost(int32, repeated, packed = "false", tag = "154458")]
4366 pub stop_ticks: ::prost::alloc::vec::Vec<i32>,
4367 #[prost(int32, optional, tag = "157124")]
4368 pub trailing_stop_trigger_ticks: ::core::option::Option<i32>,
4369 #[prost(bool, optional, tag = "157062")]
4370 pub trailing_stop_by_last_trade_price: ::core::option::Option<bool>,
4371 #[prost(bool, optional, tag = "157151")]
4372 pub target_market_order_if_touched: ::core::option::Option<bool>,
4373 #[prost(bool, optional, tag = "154857")]
4374 pub stop_market_on_reject: ::core::option::Option<bool>,
4375 #[prost(int32, optional, tag = "157145")]
4376 pub target_market_at_ssboe: ::core::option::Option<i32>,
4377 #[prost(int32, optional, tag = "157146")]
4378 pub target_market_at_usecs: ::core::option::Option<i32>,
4379 #[prost(int32, optional, tag = "157147")]
4380 pub stop_market_at_ssboe: ::core::option::Option<i32>,
4381 #[prost(int32, optional, tag = "157148")]
4382 pub stop_market_at_usecs: ::core::option::Option<i32>,
4383 #[prost(int32, optional, tag = "157149")]
4384 pub target_market_order_after_secs: ::core::option::Option<i32>,
4385 #[prost(int32, optional, tag = "154487")]
4386 pub release_at_ssboe: ::core::option::Option<i32>,
4387 #[prost(int32, optional, tag = "154549")]
4388 pub release_at_usecs: ::core::option::Option<i32>,
4389 #[prost(int32, optional, tag = "157085")]
4390 pub cancel_at_ssboe: ::core::option::Option<i32>,
4391 #[prost(int32, optional, tag = "157086")]
4392 pub cancel_at_usecs: ::core::option::Option<i32>,
4393 #[prost(int32, optional, tag = "154488")]
4394 pub cancel_after_secs: ::core::option::Option<i32>,
4395 #[prost(string, optional, tag = "154451")]
4396 pub if_touched_symbol: ::core::option::Option<::prost::alloc::string::String>,
4397 #[prost(string, optional, tag = "154452")]
4398 pub if_touched_exchange: ::core::option::Option<::prost::alloc::string::String>,
4399 #[prost(
4400 enumeration = "request_bracket_order::Condition",
4401 optional,
4402 tag = "154453"
4403 )]
4404 pub if_touched_condition: ::core::option::Option<i32>,
4405 #[prost(
4406 enumeration = "request_bracket_order::PriceField",
4407 optional,
4408 tag = "154454"
4409 )]
4410 pub if_touched_price_field: ::core::option::Option<i32>,
4411 #[prost(double, optional, tag = "153632")]
4412 pub if_touched_price: ::core::option::Option<f64>,
4413}
4414pub mod request_bracket_order {
4416 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4417 #[repr(i32)]
4418 pub enum UserType {
4419 Admin = 0,
4420 Fcm = 1,
4421 Ib = 2,
4422 Trader = 3,
4423 }
4424 impl UserType {
4425 pub fn as_str_name(&self) -> &'static str {
4430 match self {
4431 Self::Admin => "USER_TYPE_ADMIN",
4432 Self::Fcm => "USER_TYPE_FCM",
4433 Self::Ib => "USER_TYPE_IB",
4434 Self::Trader => "USER_TYPE_TRADER",
4435 }
4436 }
4437 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4439 match value {
4440 "USER_TYPE_ADMIN" => Some(Self::Admin),
4441 "USER_TYPE_FCM" => Some(Self::Fcm),
4442 "USER_TYPE_IB" => Some(Self::Ib),
4443 "USER_TYPE_TRADER" => Some(Self::Trader),
4444 _ => None,
4445 }
4446 }
4447 }
4448 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4449 #[repr(i32)]
4450 pub enum BracketType {
4451 StopOnly = 1,
4452 TargetOnly = 2,
4453 TargetAndStop = 3,
4454 StopOnlyStatic = 4,
4455 TargetOnlyStatic = 5,
4456 TargetAndStopStatic = 6,
4457 }
4458 impl BracketType {
4459 pub fn as_str_name(&self) -> &'static str {
4464 match self {
4465 Self::StopOnly => "STOP_ONLY",
4466 Self::TargetOnly => "TARGET_ONLY",
4467 Self::TargetAndStop => "TARGET_AND_STOP",
4468 Self::StopOnlyStatic => "STOP_ONLY_STATIC",
4469 Self::TargetOnlyStatic => "TARGET_ONLY_STATIC",
4470 Self::TargetAndStopStatic => "TARGET_AND_STOP_STATIC",
4471 }
4472 }
4473 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4475 match value {
4476 "STOP_ONLY" => Some(Self::StopOnly),
4477 "TARGET_ONLY" => Some(Self::TargetOnly),
4478 "TARGET_AND_STOP" => Some(Self::TargetAndStop),
4479 "STOP_ONLY_STATIC" => Some(Self::StopOnlyStatic),
4480 "TARGET_ONLY_STATIC" => Some(Self::TargetOnlyStatic),
4481 "TARGET_AND_STOP_STATIC" => Some(Self::TargetAndStopStatic),
4482 _ => None,
4483 }
4484 }
4485 }
4486 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4487 #[repr(i32)]
4488 pub enum TransactionType {
4489 Buy = 1,
4490 Sell = 2,
4491 }
4492 impl TransactionType {
4493 pub fn as_str_name(&self) -> &'static str {
4498 match self {
4499 Self::Buy => "BUY",
4500 Self::Sell => "SELL",
4501 }
4502 }
4503 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4505 match value {
4506 "BUY" => Some(Self::Buy),
4507 "SELL" => Some(Self::Sell),
4508 _ => None,
4509 }
4510 }
4511 }
4512 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4513 #[repr(i32)]
4514 pub enum Duration {
4515 Day = 1,
4516 Gtc = 2,
4517 Ioc = 3,
4518 Fok = 4,
4519 }
4520 impl Duration {
4521 pub fn as_str_name(&self) -> &'static str {
4526 match self {
4527 Self::Day => "DAY",
4528 Self::Gtc => "GTC",
4529 Self::Ioc => "IOC",
4530 Self::Fok => "FOK",
4531 }
4532 }
4533 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4535 match value {
4536 "DAY" => Some(Self::Day),
4537 "GTC" => Some(Self::Gtc),
4538 "IOC" => Some(Self::Ioc),
4539 "FOK" => Some(Self::Fok),
4540 _ => None,
4541 }
4542 }
4543 }
4544 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4545 #[repr(i32)]
4546 pub enum PriceType {
4547 Limit = 1,
4548 Market = 2,
4549 StopLimit = 3,
4550 StopMarket = 4,
4551 MarketIfTouched = 5,
4552 LimitIfTouched = 6,
4553 }
4554 impl PriceType {
4555 pub fn as_str_name(&self) -> &'static str {
4560 match self {
4561 Self::Limit => "LIMIT",
4562 Self::Market => "MARKET",
4563 Self::StopLimit => "STOP_LIMIT",
4564 Self::StopMarket => "STOP_MARKET",
4565 Self::MarketIfTouched => "MARKET_IF_TOUCHED",
4566 Self::LimitIfTouched => "LIMIT_IF_TOUCHED",
4567 }
4568 }
4569 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4571 match value {
4572 "LIMIT" => Some(Self::Limit),
4573 "MARKET" => Some(Self::Market),
4574 "STOP_LIMIT" => Some(Self::StopLimit),
4575 "STOP_MARKET" => Some(Self::StopMarket),
4576 "MARKET_IF_TOUCHED" => Some(Self::MarketIfTouched),
4577 "LIMIT_IF_TOUCHED" => Some(Self::LimitIfTouched),
4578 _ => None,
4579 }
4580 }
4581 }
4582 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4583 #[repr(i32)]
4584 pub enum OrderPlacement {
4585 Manual = 1,
4586 Auto = 2,
4587 }
4588 impl OrderPlacement {
4589 pub fn as_str_name(&self) -> &'static str {
4594 match self {
4595 Self::Manual => "MANUAL",
4596 Self::Auto => "AUTO",
4597 }
4598 }
4599 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4601 match value {
4602 "MANUAL" => Some(Self::Manual),
4603 "AUTO" => Some(Self::Auto),
4604 _ => None,
4605 }
4606 }
4607 }
4608 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4609 #[repr(i32)]
4610 pub enum PriceField {
4611 BidPrice = 1,
4612 OfferPrice = 2,
4613 TradePrice = 3,
4614 LeanPrice = 4,
4615 }
4616 impl PriceField {
4617 pub fn as_str_name(&self) -> &'static str {
4622 match self {
4623 Self::BidPrice => "BID_PRICE",
4624 Self::OfferPrice => "OFFER_PRICE",
4625 Self::TradePrice => "TRADE_PRICE",
4626 Self::LeanPrice => "LEAN_PRICE",
4627 }
4628 }
4629 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4631 match value {
4632 "BID_PRICE" => Some(Self::BidPrice),
4633 "OFFER_PRICE" => Some(Self::OfferPrice),
4634 "TRADE_PRICE" => Some(Self::TradePrice),
4635 "LEAN_PRICE" => Some(Self::LeanPrice),
4636 _ => None,
4637 }
4638 }
4639 }
4640 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4641 #[repr(i32)]
4642 pub enum Condition {
4643 EqualTo = 1,
4644 NotEqualTo = 2,
4645 GreaterThan = 3,
4646 GreaterThanEqualTo = 4,
4647 LesserThan = 5,
4648 LesserThanEqualTo = 6,
4649 }
4650 impl Condition {
4651 pub fn as_str_name(&self) -> &'static str {
4656 match self {
4657 Self::EqualTo => "EQUAL_TO",
4658 Self::NotEqualTo => "NOT_EQUAL_TO",
4659 Self::GreaterThan => "GREATER_THAN",
4660 Self::GreaterThanEqualTo => "GREATER_THAN_EQUAL_TO",
4661 Self::LesserThan => "LESSER_THAN",
4662 Self::LesserThanEqualTo => "LESSER_THAN_EQUAL_TO",
4663 }
4664 }
4665 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4667 match value {
4668 "EQUAL_TO" => Some(Self::EqualTo),
4669 "NOT_EQUAL_TO" => Some(Self::NotEqualTo),
4670 "GREATER_THAN" => Some(Self::GreaterThan),
4671 "GREATER_THAN_EQUAL_TO" => Some(Self::GreaterThanEqualTo),
4672 "LESSER_THAN" => Some(Self::LesserThan),
4673 "LESSER_THAN_EQUAL_TO" => Some(Self::LesserThanEqualTo),
4674 _ => None,
4675 }
4676 }
4677 }
4678}
4679#[derive(Clone, PartialEq, ::prost::Message)]
4681pub struct ResponseBracketOrder {
4682 #[prost(int32, required, tag = "154467")]
4684 pub template_id: i32,
4685 #[prost(string, repeated, tag = "132760")]
4687 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4688 #[prost(string, optional, tag = "154119")]
4690 pub user_tag: ::core::option::Option<::prost::alloc::string::String>,
4691 #[prost(string, repeated, tag = "132764")]
4693 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4694 #[prost(string, repeated, tag = "132766")]
4696 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4697 #[prost(string, optional, tag = "110300")]
4699 pub basket_id: ::core::option::Option<::prost::alloc::string::String>,
4700 #[prost(int32, optional, tag = "150100")]
4702 pub ssboe: ::core::option::Option<i32>,
4703 #[prost(int32, optional, tag = "150101")]
4705 pub usecs: ::core::option::Option<i32>,
4706}
4707#[derive(Clone, PartialEq, ::prost::Message)]
4709pub struct RequestShowBrackets {
4710 #[prost(int32, required, tag = "154467")]
4712 pub template_id: i32,
4713 #[prost(string, repeated, tag = "132760")]
4715 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4716 #[prost(string, optional, tag = "154013")]
4718 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
4719 #[prost(string, optional, tag = "154014")]
4721 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
4722 #[prost(string, optional, tag = "154008")]
4724 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
4725}
4726#[derive(Clone, PartialEq, ::prost::Message)]
4728pub struct ResponseShowBrackets {
4729 #[prost(int32, required, tag = "154467")]
4731 pub template_id: i32,
4732 #[prost(string, repeated, tag = "132760")]
4734 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4735 #[prost(string, repeated, tag = "132764")]
4737 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4738 #[prost(string, repeated, tag = "132766")]
4740 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4741 #[prost(string, optional, tag = "110300")]
4743 pub basket_id: ::core::option::Option<::prost::alloc::string::String>,
4744 #[prost(string, optional, tag = "154457")]
4746 pub target_quantity: ::core::option::Option<::prost::alloc::string::String>,
4747 #[prost(string, optional, tag = "154460")]
4749 pub target_quantity_released: ::core::option::Option<::prost::alloc::string::String>,
4750 #[prost(string, optional, tag = "154456")]
4752 pub target_ticks: ::core::option::Option<::prost::alloc::string::String>,
4753}
4754#[derive(Clone, PartialEq, ::prost::Message)]
4756pub struct RequestShowBracketStops {
4757 #[prost(int32, required, tag = "154467")]
4759 pub template_id: i32,
4760 #[prost(string, repeated, tag = "132760")]
4762 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4763 #[prost(string, optional, tag = "154013")]
4765 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
4766 #[prost(string, optional, tag = "154014")]
4768 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
4769 #[prost(string, optional, tag = "154008")]
4771 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
4772}
4773#[derive(Clone, PartialEq, ::prost::Message)]
4775pub struct ResponseShowBracketStops {
4776 #[prost(int32, required, tag = "154467")]
4778 pub template_id: i32,
4779 #[prost(string, repeated, tag = "132760")]
4781 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4782 #[prost(string, repeated, tag = "132764")]
4784 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4785 #[prost(string, repeated, tag = "132766")]
4787 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4788 #[prost(string, optional, tag = "110300")]
4790 pub basket_id: ::core::option::Option<::prost::alloc::string::String>,
4791 #[prost(string, optional, tag = "154459")]
4793 pub stop_quantity: ::core::option::Option<::prost::alloc::string::String>,
4794 #[prost(string, optional, tag = "154466")]
4796 pub stop_quantity_released: ::core::option::Option<::prost::alloc::string::String>,
4797 #[prost(string, optional, tag = "154458")]
4799 pub stop_ticks: ::core::option::Option<::prost::alloc::string::String>,
4800 #[prost(string, optional, tag = "157062")]
4802 pub bracket_trailing_field_id: ::core::option::Option<::prost::alloc::string::String>,
4803 #[prost(string, optional, tag = "157124")]
4805 pub trailing_stop_trigger_ticks: ::core::option::Option<::prost::alloc::string::String>,
4806}
4807#[derive(Clone, PartialEq, ::prost::Message)]
4809pub struct RequestUpdateTargetBracketLevel {
4810 #[prost(int32, required, tag = "154467")]
4812 pub template_id: i32,
4813 #[prost(string, repeated, tag = "132760")]
4815 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4816 #[prost(string, optional, tag = "154013")]
4818 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
4819 #[prost(string, optional, tag = "154014")]
4821 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
4822 #[prost(string, optional, tag = "154008")]
4824 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
4825 #[prost(string, optional, tag = "110300")]
4827 pub basket_id: ::core::option::Option<::prost::alloc::string::String>,
4828 #[prost(int32, optional, tag = "154244")]
4830 pub level: ::core::option::Option<i32>,
4831 #[prost(int32, optional, tag = "154456")]
4833 pub target_ticks: ::core::option::Option<i32>,
4834}
4835#[derive(Clone, PartialEq, ::prost::Message)]
4837pub struct ResponseUpdateTargetBracketLevel {
4838 #[prost(int32, required, tag = "154467")]
4840 pub template_id: i32,
4841 #[prost(string, repeated, tag = "132760")]
4843 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4844 #[prost(string, repeated, tag = "132766")]
4846 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4847}
4848#[derive(Clone, PartialEq, ::prost::Message)]
4850pub struct RequestUpdateStopBracketLevel {
4851 #[prost(int32, required, tag = "154467")]
4853 pub template_id: i32,
4854 #[prost(string, repeated, tag = "132760")]
4856 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4857 #[prost(string, optional, tag = "154013")]
4859 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
4860 #[prost(string, optional, tag = "154014")]
4862 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
4863 #[prost(string, optional, tag = "154008")]
4865 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
4866 #[prost(string, optional, tag = "110300")]
4868 pub basket_id: ::core::option::Option<::prost::alloc::string::String>,
4869 #[prost(int32, optional, tag = "154244")]
4871 pub level: ::core::option::Option<i32>,
4872 #[prost(int32, optional, tag = "154458")]
4874 pub stop_ticks: ::core::option::Option<i32>,
4875}
4876#[derive(Clone, PartialEq, ::prost::Message)]
4878pub struct ResponseUpdateStopBracketLevel {
4879 #[prost(int32, required, tag = "154467")]
4881 pub template_id: i32,
4882 #[prost(string, repeated, tag = "132760")]
4884 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4885 #[prost(string, repeated, tag = "132766")]
4887 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4888}
4889#[derive(Clone, PartialEq, ::prost::Message)]
4891pub struct RequestSubscribeToBracketUpdates {
4892 #[prost(int32, required, tag = "154467")]
4894 pub template_id: i32,
4895 #[prost(string, repeated, tag = "132760")]
4897 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4898 #[prost(string, optional, tag = "154013")]
4900 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
4901 #[prost(string, optional, tag = "154014")]
4903 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
4904 #[prost(string, optional, tag = "154008")]
4906 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
4907}
4908#[derive(Clone, PartialEq, ::prost::Message)]
4910pub struct ResponseSubscribeToBracketUpdates {
4911 #[prost(int32, required, tag = "154467")]
4913 pub template_id: i32,
4914 #[prost(string, repeated, tag = "132760")]
4916 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4917 #[prost(string, repeated, tag = "132766")]
4919 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4920}
4921#[derive(Clone, PartialEq, ::prost::Message)]
4923pub struct RequestListExchangePermissions {
4924 #[prost(int32, required, tag = "154467")]
4926 pub template_id: i32,
4927 #[prost(string, repeated, tag = "132760")]
4929 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4930 #[prost(string, optional, tag = "154220")]
4932 pub user: ::core::option::Option<::prost::alloc::string::String>,
4933}
4934#[derive(Clone, PartialEq, ::prost::Message)]
4936pub struct ResponseListExchangePermissions {
4937 #[prost(int32, required, tag = "154467")]
4939 pub template_id: i32,
4940 #[prost(string, repeated, tag = "132760")]
4942 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4943 #[prost(string, repeated, tag = "132764")]
4945 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4946 #[prost(string, repeated, tag = "132766")]
4948 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4949 #[prost(string, optional, tag = "110101")]
4951 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
4952 #[prost(
4954 enumeration = "response_list_exchange_permissions::EntitlementFlag",
4955 optional,
4956 tag = "153400"
4957 )]
4958 pub entitlement_flag: ::core::option::Option<i32>,
4959}
4960pub mod response_list_exchange_permissions {
4962 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4963 #[repr(i32)]
4964 pub enum EntitlementFlag {
4965 Enabled = 1,
4966 Disabled = 2,
4967 }
4968 impl EntitlementFlag {
4969 pub fn as_str_name(&self) -> &'static str {
4974 match self {
4975 Self::Enabled => "ENABLED",
4976 Self::Disabled => "DISABLED",
4977 }
4978 }
4979 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4981 match value {
4982 "ENABLED" => Some(Self::Enabled),
4983 "DISABLED" => Some(Self::Disabled),
4984 _ => None,
4985 }
4986 }
4987 }
4988}
4989#[derive(Clone, PartialEq, ::prost::Message)]
4991pub struct RequestLinkOrders {
4992 #[prost(int32, required, tag = "154467")]
4994 pub template_id: i32,
4995 #[prost(string, repeated, tag = "132760")]
4997 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4998 #[prost(string, repeated, tag = "154013")]
5000 pub fcm_id: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5001 #[prost(string, repeated, tag = "154014")]
5003 pub ib_id: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5004 #[prost(string, repeated, tag = "154008")]
5006 pub account_id: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5007 #[prost(string, repeated, tag = "110300")]
5009 pub basket_id: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5010}
5011#[derive(Clone, PartialEq, ::prost::Message)]
5013pub struct ResponseLinkOrders {
5014 #[prost(int32, required, tag = "154467")]
5016 pub template_id: i32,
5017 #[prost(string, repeated, tag = "132760")]
5019 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5020 #[prost(string, repeated, tag = "132766")]
5022 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5023}
5024#[derive(Clone, PartialEq, ::prost::Message)]
5026pub struct RequestEasyToBorrowList {
5027 #[prost(int32, required, tag = "154467")]
5029 pub template_id: i32,
5030 #[prost(string, repeated, tag = "132760")]
5032 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5033 #[prost(
5035 enumeration = "request_easy_to_borrow_list::Request",
5036 optional,
5037 tag = "100000"
5038 )]
5039 pub request: ::core::option::Option<i32>,
5040}
5041pub mod request_easy_to_borrow_list {
5043 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5044 #[repr(i32)]
5045 pub enum Request {
5046 Subscribe = 1,
5047 Unsubscribe = 2,
5048 }
5049 impl Request {
5050 pub fn as_str_name(&self) -> &'static str {
5055 match self {
5056 Self::Subscribe => "SUBSCRIBE",
5057 Self::Unsubscribe => "UNSUBSCRIBE",
5058 }
5059 }
5060 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5062 match value {
5063 "SUBSCRIBE" => Some(Self::Subscribe),
5064 "UNSUBSCRIBE" => Some(Self::Unsubscribe),
5065 _ => None,
5066 }
5067 }
5068 }
5069}
5070#[derive(Clone, PartialEq, ::prost::Message)]
5072pub struct ResponseEasyToBorrowList {
5073 #[prost(int32, required, tag = "154467")]
5075 pub template_id: i32,
5076 #[prost(string, repeated, tag = "132760")]
5078 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5079 #[prost(string, repeated, tag = "132764")]
5081 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5082 #[prost(string, repeated, tag = "132766")]
5084 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5085 #[prost(string, optional, tag = "154612")]
5087 pub broker_dealer: ::core::option::Option<::prost::alloc::string::String>,
5088 #[prost(string, optional, tag = "110100")]
5090 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
5091 #[prost(string, optional, tag = "100003")]
5093 pub symbol_name: ::core::option::Option<::prost::alloc::string::String>,
5094 #[prost(int32, optional, tag = "154613")]
5096 pub qty_available: ::core::option::Option<i32>,
5097 #[prost(int32, optional, tag = "154614")]
5099 pub qty_needed: ::core::option::Option<i32>,
5100 #[prost(bool, optional, tag = "110353")]
5102 pub borrowable: ::core::option::Option<bool>,
5103}
5104#[derive(Clone, PartialEq, ::prost::Message)]
5105pub struct RequestOrderSessionConfig {
5106 #[prost(int32, required, tag = "154467")]
5107 pub template_id: i32,
5108 #[prost(string, repeated, tag = "132760")]
5109 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5110 #[prost(bool, optional, tag = "157750")]
5112 pub should_defer_request: ::core::option::Option<bool>,
5113}
5114#[derive(Clone, PartialEq, ::prost::Message)]
5115pub struct ResponseOrderSessionConfig {
5116 #[prost(int32, required, tag = "154467")]
5117 pub template_id: i32,
5118 #[prost(string, repeated, tag = "132760")]
5119 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5120 #[prost(string, repeated, tag = "132766")]
5121 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5122}
5123#[derive(Clone, PartialEq, ::prost::Message)]
5124pub struct RequestExitPosition {
5125 #[prost(int32, required, tag = "154467")]
5126 pub template_id: i32,
5127 #[prost(string, repeated, tag = "132760")]
5128 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5129 #[prost(string, optional, tag = "154629")]
5130 pub window_name: ::core::option::Option<::prost::alloc::string::String>,
5131 #[prost(string, optional, tag = "154013")]
5132 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
5133 #[prost(string, optional, tag = "154014")]
5134 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
5135 #[prost(string, optional, tag = "154008")]
5136 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
5137 #[prost(string, optional, tag = "110100")]
5139 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
5140 #[prost(string, optional, tag = "110101")]
5142 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
5143 #[prost(string, optional, tag = "154698")]
5145 pub trading_algorithm: ::core::option::Option<::prost::alloc::string::String>,
5146 #[prost(
5148 enumeration = "request_exit_position::OrderPlacement",
5149 optional,
5150 tag = "154710"
5151 )]
5152 pub manual_or_auto: ::core::option::Option<i32>,
5153}
5154pub mod request_exit_position {
5156 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5157 #[repr(i32)]
5158 pub enum OrderPlacement {
5159 Manual = 1,
5160 Auto = 2,
5161 }
5162 impl OrderPlacement {
5163 pub fn as_str_name(&self) -> &'static str {
5168 match self {
5169 Self::Manual => "MANUAL",
5170 Self::Auto => "AUTO",
5171 }
5172 }
5173 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5175 match value {
5176 "MANUAL" => Some(Self::Manual),
5177 "AUTO" => Some(Self::Auto),
5178 _ => None,
5179 }
5180 }
5181 }
5182}
5183#[derive(Clone, PartialEq, ::prost::Message)]
5184pub struct ResponseExitPosition {
5185 #[prost(int32, required, tag = "154467")]
5186 pub template_id: i32,
5187 #[prost(string, repeated, tag = "132760")]
5188 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5189 #[prost(string, repeated, tag = "132764")]
5190 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5191 #[prost(string, repeated, tag = "132766")]
5192 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5193 #[prost(string, optional, tag = "110100")]
5194 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
5195 #[prost(string, optional, tag = "110101")]
5196 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
5197}
5198#[derive(Clone, PartialEq, ::prost::Message)]
5199pub struct RequestReplayExecutions {
5200 #[prost(int32, required, tag = "154467")]
5201 pub template_id: i32,
5202 #[prost(string, repeated, tag = "132760")]
5203 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5204 #[prost(string, optional, tag = "154013")]
5205 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
5206 #[prost(string, optional, tag = "154014")]
5207 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
5208 #[prost(string, optional, tag = "154008")]
5209 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
5210 #[prost(int32, optional, tag = "153002")]
5211 pub start_index: ::core::option::Option<i32>,
5212 #[prost(int32, optional, tag = "153003")]
5213 pub finish_index: ::core::option::Option<i32>,
5214}
5215#[derive(Clone, PartialEq, ::prost::Message)]
5216pub struct ResponseReplayExecutions {
5217 #[prost(int32, required, tag = "154467")]
5218 pub template_id: i32,
5219 #[prost(string, repeated, tag = "132760")]
5220 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5221 #[prost(string, repeated, tag = "132766")]
5222 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5223}
5224#[derive(Clone, PartialEq, ::prost::Message)]
5226pub struct TradeRoute {
5227 #[prost(int32, required, tag = "154467")]
5229 pub template_id: i32,
5230 #[prost(string, optional, tag = "154013")]
5232 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
5233 #[prost(string, optional, tag = "154014")]
5235 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
5236 #[prost(string, optional, tag = "110101")]
5238 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
5239 #[prost(string, optional, tag = "112016")]
5241 pub trade_route: ::core::option::Option<::prost::alloc::string::String>,
5242 #[prost(string, optional, tag = "131407")]
5244 pub status: ::core::option::Option<::prost::alloc::string::String>,
5245 #[prost(bool, optional, tag = "154689")]
5247 pub is_default: ::core::option::Option<bool>,
5248}
5249#[derive(Clone, PartialEq, ::prost::Message)]
5251pub struct BracketUpdates {
5252 #[prost(int32, required, tag = "154467")]
5254 pub template_id: i32,
5255 #[prost(string, optional, tag = "154013")]
5257 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
5258 #[prost(string, optional, tag = "154014")]
5260 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
5261 #[prost(string, optional, tag = "154008")]
5263 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
5264 #[prost(string, optional, tag = "110300")]
5266 pub basket_id: ::core::option::Option<::prost::alloc::string::String>,
5267 #[prost(int32, optional, tag = "154458")]
5269 pub stop_ticks: ::core::option::Option<i32>,
5270 #[prost(int32, optional, tag = "154459")]
5272 pub stop_quantity: ::core::option::Option<i32>,
5273 #[prost(int32, optional, tag = "154466")]
5275 pub stop_quantity_released: ::core::option::Option<i32>,
5276 #[prost(int32, optional, tag = "154456")]
5278 pub target_ticks: ::core::option::Option<i32>,
5279 #[prost(int32, optional, tag = "154457")]
5281 pub target_quantity: ::core::option::Option<i32>,
5282 #[prost(int32, optional, tag = "154460")]
5284 pub target_quantity_released: ::core::option::Option<i32>,
5285}
5286#[derive(Clone, PartialEq, ::prost::Message)]
5287pub struct RithmicOrderNotification {
5288 #[prost(int32, required, tag = "154467")]
5289 pub template_id: i32,
5290 #[prost(string, optional, tag = "154119")]
5291 pub user_tag: ::core::option::Option<::prost::alloc::string::String>,
5292 #[prost(
5293 enumeration = "rithmic_order_notification::NotifyType",
5294 optional,
5295 tag = "153625"
5296 )]
5297 pub notify_type: ::core::option::Option<i32>,
5298 #[prost(bool, optional, tag = "110121")]
5299 pub is_snapshot: ::core::option::Option<bool>,
5300 #[prost(string, optional, tag = "110303")]
5301 pub status: ::core::option::Option<::prost::alloc::string::String>,
5302 #[prost(string, optional, tag = "110300")]
5303 pub basket_id: ::core::option::Option<::prost::alloc::string::String>,
5304 #[prost(string, optional, tag = "154497")]
5305 pub original_basket_id: ::core::option::Option<::prost::alloc::string::String>,
5306 #[prost(string, optional, tag = "110358")]
5307 pub linked_basket_ids: ::core::option::Option<::prost::alloc::string::String>,
5308 #[prost(string, optional, tag = "154013")]
5309 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
5310 #[prost(string, optional, tag = "154014")]
5311 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
5312 #[prost(string, optional, tag = "131003")]
5313 pub user_id: ::core::option::Option<::prost::alloc::string::String>,
5314 #[prost(string, optional, tag = "154008")]
5315 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
5316 #[prost(string, optional, tag = "110100")]
5317 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
5318 #[prost(string, optional, tag = "110101")]
5319 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
5320 #[prost(string, optional, tag = "112021")]
5321 pub trade_exchange: ::core::option::Option<::prost::alloc::string::String>,
5322 #[prost(string, optional, tag = "112016")]
5323 pub trade_route: ::core::option::Option<::prost::alloc::string::String>,
5324 #[prost(string, optional, tag = "149238")]
5325 pub exchange_order_id: ::core::option::Option<::prost::alloc::string::String>,
5326 #[prost(string, optional, tag = "110116")]
5327 pub instrument_type: ::core::option::Option<::prost::alloc::string::String>,
5328 #[prost(string, optional, tag = "149273")]
5329 pub completion_reason: ::core::option::Option<::prost::alloc::string::String>,
5330 #[prost(int32, optional, tag = "112004")]
5331 pub quantity: ::core::option::Option<i32>,
5332 #[prost(int32, optional, tag = "112027")]
5333 pub quan_release_pending: ::core::option::Option<i32>,
5334 #[prost(double, optional, tag = "110306")]
5335 pub price: ::core::option::Option<f64>,
5336 #[prost(double, optional, tag = "149247")]
5337 pub trigger_price: ::core::option::Option<f64>,
5338 #[prost(
5339 enumeration = "rithmic_order_notification::TransactionType",
5340 optional,
5341 tag = "112003"
5342 )]
5343 pub transaction_type: ::core::option::Option<i32>,
5344 #[prost(
5345 enumeration = "rithmic_order_notification::Duration",
5346 optional,
5347 tag = "112005"
5348 )]
5349 pub duration: ::core::option::Option<i32>,
5350 #[prost(
5351 enumeration = "rithmic_order_notification::PriceType",
5352 optional,
5353 tag = "112008"
5354 )]
5355 pub price_type: ::core::option::Option<i32>,
5356 #[prost(
5357 enumeration = "rithmic_order_notification::PriceType",
5358 optional,
5359 tag = "154770"
5360 )]
5361 pub orig_price_type: ::core::option::Option<i32>,
5362 #[prost(
5363 enumeration = "rithmic_order_notification::OrderPlacement",
5364 optional,
5365 tag = "154710"
5366 )]
5367 pub manual_or_auto: ::core::option::Option<i32>,
5368 #[prost(
5369 enumeration = "rithmic_order_notification::BracketType",
5370 optional,
5371 tag = "157087"
5372 )]
5373 pub bracket_type: ::core::option::Option<i32>,
5374 #[prost(double, optional, tag = "110322")]
5375 pub avg_fill_price: ::core::option::Option<f64>,
5376 #[prost(int32, optional, tag = "154111")]
5377 pub total_fill_size: ::core::option::Option<i32>,
5378 #[prost(int32, optional, tag = "154112")]
5379 pub total_unfilled_size: ::core::option::Option<i32>,
5380 #[prost(int32, optional, tag = "157064")]
5381 pub trail_by_ticks: ::core::option::Option<i32>,
5382 #[prost(int32, optional, tag = "157065")]
5383 pub trail_by_price_id: ::core::option::Option<i32>,
5384 #[prost(string, optional, tag = "112002")]
5385 pub sequence_number: ::core::option::Option<::prost::alloc::string::String>,
5386 #[prost(string, optional, tag = "149263")]
5387 pub orig_sequence_number: ::core::option::Option<::prost::alloc::string::String>,
5388 #[prost(string, optional, tag = "149264")]
5389 pub cor_sequence_number: ::core::option::Option<::prost::alloc::string::String>,
5390 #[prost(string, optional, tag = "154382")]
5391 pub currency: ::core::option::Option<::prost::alloc::string::String>,
5392 #[prost(string, optional, tag = "154172")]
5393 pub country_code: ::core::option::Option<::prost::alloc::string::String>,
5394 #[prost(string, optional, tag = "120008")]
5395 pub text: ::core::option::Option<::prost::alloc::string::String>,
5396 #[prost(string, optional, tag = "120028")]
5397 pub report_text: ::core::option::Option<::prost::alloc::string::String>,
5398 #[prost(string, optional, tag = "154806")]
5399 pub remarks: ::core::option::Option<::prost::alloc::string::String>,
5400 #[prost(string, optional, tag = "154629")]
5401 pub window_name: ::core::option::Option<::prost::alloc::string::String>,
5402 #[prost(string, optional, tag = "154671")]
5403 pub originator_window_name: ::core::option::Option<::prost::alloc::string::String>,
5404 #[prost(int32, optional, tag = "157085")]
5405 pub cancel_at_ssboe: ::core::option::Option<i32>,
5406 #[prost(int32, optional, tag = "157086")]
5407 pub cancel_at_usecs: ::core::option::Option<i32>,
5408 #[prost(int32, optional, tag = "154488")]
5409 pub cancel_after_secs: ::core::option::Option<i32>,
5410 #[prost(int32, optional, tag = "150100")]
5411 pub ssboe: ::core::option::Option<i32>,
5412 #[prost(int32, optional, tag = "150101")]
5413 pub usecs: ::core::option::Option<i32>,
5414}
5415pub mod rithmic_order_notification {
5417 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5418 #[repr(i32)]
5419 pub enum NotifyType {
5420 OrderRcvdFromClnt = 1,
5421 ModifyRcvdFromClnt = 2,
5422 CancelRcvdFromClnt = 3,
5423 OpenPending = 4,
5424 ModifyPending = 5,
5425 CancelPending = 6,
5426 OrderRcvdByExchGtwy = 7,
5427 ModifyRcvdByExchGtwy = 8,
5428 CancelRcvdByExchGtwy = 9,
5429 OrderSentToExch = 10,
5430 ModifySentToExch = 11,
5431 CancelSentToExch = 12,
5432 Open = 13,
5433 Modified = 14,
5434 Complete = 15,
5435 ModificationFailed = 16,
5436 CancellationFailed = 17,
5437 TriggerPending = 18,
5438 Generic = 19,
5439 LinkOrdersFailed = 20,
5440 }
5441 impl NotifyType {
5442 pub fn as_str_name(&self) -> &'static str {
5447 match self {
5448 Self::OrderRcvdFromClnt => "ORDER_RCVD_FROM_CLNT",
5449 Self::ModifyRcvdFromClnt => "MODIFY_RCVD_FROM_CLNT",
5450 Self::CancelRcvdFromClnt => "CANCEL_RCVD_FROM_CLNT",
5451 Self::OpenPending => "OPEN_PENDING",
5452 Self::ModifyPending => "MODIFY_PENDING",
5453 Self::CancelPending => "CANCEL_PENDING",
5454 Self::OrderRcvdByExchGtwy => "ORDER_RCVD_BY_EXCH_GTWY",
5455 Self::ModifyRcvdByExchGtwy => "MODIFY_RCVD_BY_EXCH_GTWY",
5456 Self::CancelRcvdByExchGtwy => "CANCEL_RCVD_BY_EXCH_GTWY",
5457 Self::OrderSentToExch => "ORDER_SENT_TO_EXCH",
5458 Self::ModifySentToExch => "MODIFY_SENT_TO_EXCH",
5459 Self::CancelSentToExch => "CANCEL_SENT_TO_EXCH",
5460 Self::Open => "OPEN",
5461 Self::Modified => "MODIFIED",
5462 Self::Complete => "COMPLETE",
5463 Self::ModificationFailed => "MODIFICATION_FAILED",
5464 Self::CancellationFailed => "CANCELLATION_FAILED",
5465 Self::TriggerPending => "TRIGGER_PENDING",
5466 Self::Generic => "GENERIC",
5467 Self::LinkOrdersFailed => "LINK_ORDERS_FAILED",
5468 }
5469 }
5470 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5472 match value {
5473 "ORDER_RCVD_FROM_CLNT" => Some(Self::OrderRcvdFromClnt),
5474 "MODIFY_RCVD_FROM_CLNT" => Some(Self::ModifyRcvdFromClnt),
5475 "CANCEL_RCVD_FROM_CLNT" => Some(Self::CancelRcvdFromClnt),
5476 "OPEN_PENDING" => Some(Self::OpenPending),
5477 "MODIFY_PENDING" => Some(Self::ModifyPending),
5478 "CANCEL_PENDING" => Some(Self::CancelPending),
5479 "ORDER_RCVD_BY_EXCH_GTWY" => Some(Self::OrderRcvdByExchGtwy),
5480 "MODIFY_RCVD_BY_EXCH_GTWY" => Some(Self::ModifyRcvdByExchGtwy),
5481 "CANCEL_RCVD_BY_EXCH_GTWY" => Some(Self::CancelRcvdByExchGtwy),
5482 "ORDER_SENT_TO_EXCH" => Some(Self::OrderSentToExch),
5483 "MODIFY_SENT_TO_EXCH" => Some(Self::ModifySentToExch),
5484 "CANCEL_SENT_TO_EXCH" => Some(Self::CancelSentToExch),
5485 "OPEN" => Some(Self::Open),
5486 "MODIFIED" => Some(Self::Modified),
5487 "COMPLETE" => Some(Self::Complete),
5488 "MODIFICATION_FAILED" => Some(Self::ModificationFailed),
5489 "CANCELLATION_FAILED" => Some(Self::CancellationFailed),
5490 "TRIGGER_PENDING" => Some(Self::TriggerPending),
5491 "GENERIC" => Some(Self::Generic),
5492 "LINK_ORDERS_FAILED" => Some(Self::LinkOrdersFailed),
5493 _ => None,
5494 }
5495 }
5496 }
5497 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5498 #[repr(i32)]
5499 pub enum TransactionType {
5500 Buy = 1,
5501 Sell = 2,
5502 Ss = 3,
5503 }
5504 impl TransactionType {
5505 pub fn as_str_name(&self) -> &'static str {
5510 match self {
5511 Self::Buy => "BUY",
5512 Self::Sell => "SELL",
5513 Self::Ss => "SS",
5514 }
5515 }
5516 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5518 match value {
5519 "BUY" => Some(Self::Buy),
5520 "SELL" => Some(Self::Sell),
5521 "SS" => Some(Self::Ss),
5522 _ => None,
5523 }
5524 }
5525 }
5526 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5527 #[repr(i32)]
5528 pub enum Duration {
5529 Day = 1,
5530 Gtc = 2,
5531 Ioc = 3,
5532 Fok = 4,
5533 }
5534 impl Duration {
5535 pub fn as_str_name(&self) -> &'static str {
5540 match self {
5541 Self::Day => "DAY",
5542 Self::Gtc => "GTC",
5543 Self::Ioc => "IOC",
5544 Self::Fok => "FOK",
5545 }
5546 }
5547 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5549 match value {
5550 "DAY" => Some(Self::Day),
5551 "GTC" => Some(Self::Gtc),
5552 "IOC" => Some(Self::Ioc),
5553 "FOK" => Some(Self::Fok),
5554 _ => None,
5555 }
5556 }
5557 }
5558 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5559 #[repr(i32)]
5560 pub enum PriceType {
5561 Limit = 1,
5562 Market = 2,
5563 StopLimit = 3,
5564 StopMarket = 4,
5565 }
5566 impl PriceType {
5567 pub fn as_str_name(&self) -> &'static str {
5572 match self {
5573 Self::Limit => "LIMIT",
5574 Self::Market => "MARKET",
5575 Self::StopLimit => "STOP_LIMIT",
5576 Self::StopMarket => "STOP_MARKET",
5577 }
5578 }
5579 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5581 match value {
5582 "LIMIT" => Some(Self::Limit),
5583 "MARKET" => Some(Self::Market),
5584 "STOP_LIMIT" => Some(Self::StopLimit),
5585 "STOP_MARKET" => Some(Self::StopMarket),
5586 _ => None,
5587 }
5588 }
5589 }
5590 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5591 #[repr(i32)]
5592 pub enum BracketType {
5593 StopOnly = 1,
5594 TargetOnly = 2,
5595 TargetAndStop = 3,
5596 StopOnlyStatic = 4,
5597 TargetOnlyStatic = 5,
5598 TargetAndStopStatic = 6,
5599 }
5600 impl BracketType {
5601 pub fn as_str_name(&self) -> &'static str {
5606 match self {
5607 Self::StopOnly => "STOP_ONLY",
5608 Self::TargetOnly => "TARGET_ONLY",
5609 Self::TargetAndStop => "TARGET_AND_STOP",
5610 Self::StopOnlyStatic => "STOP_ONLY_STATIC",
5611 Self::TargetOnlyStatic => "TARGET_ONLY_STATIC",
5612 Self::TargetAndStopStatic => "TARGET_AND_STOP_STATIC",
5613 }
5614 }
5615 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5617 match value {
5618 "STOP_ONLY" => Some(Self::StopOnly),
5619 "TARGET_ONLY" => Some(Self::TargetOnly),
5620 "TARGET_AND_STOP" => Some(Self::TargetAndStop),
5621 "STOP_ONLY_STATIC" => Some(Self::StopOnlyStatic),
5622 "TARGET_ONLY_STATIC" => Some(Self::TargetOnlyStatic),
5623 "TARGET_AND_STOP_STATIC" => Some(Self::TargetAndStopStatic),
5624 _ => None,
5625 }
5626 }
5627 }
5628 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5629 #[repr(i32)]
5630 pub enum OrderPlacement {
5631 Manual = 1,
5632 Auto = 2,
5633 }
5634 impl OrderPlacement {
5635 pub fn as_str_name(&self) -> &'static str {
5640 match self {
5641 Self::Manual => "MANUAL",
5642 Self::Auto => "AUTO",
5643 }
5644 }
5645 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5647 match value {
5648 "MANUAL" => Some(Self::Manual),
5649 "AUTO" => Some(Self::Auto),
5650 _ => None,
5651 }
5652 }
5653 }
5654}
5655#[derive(Clone, PartialEq, ::prost::Message)]
5656pub struct ExchangeOrderNotification {
5657 #[prost(int32, required, tag = "154467")]
5658 pub template_id: i32,
5659 #[prost(string, optional, tag = "154119")]
5660 pub user_tag: ::core::option::Option<::prost::alloc::string::String>,
5661 #[prost(
5662 enumeration = "exchange_order_notification::NotifyType",
5663 optional,
5664 tag = "153625"
5665 )]
5666 pub notify_type: ::core::option::Option<i32>,
5667 #[prost(bool, optional, tag = "110121")]
5668 pub is_snapshot: ::core::option::Option<bool>,
5669 #[prost(bool, optional, tag = "149373")]
5670 pub is_rithmic_internal_msg: ::core::option::Option<bool>,
5671 #[prost(string, optional, tag = "120001")]
5672 pub report_type: ::core::option::Option<::prost::alloc::string::String>,
5673 #[prost(string, optional, tag = "110303")]
5674 pub status: ::core::option::Option<::prost::alloc::string::String>,
5675 #[prost(string, optional, tag = "110300")]
5676 pub basket_id: ::core::option::Option<::prost::alloc::string::String>,
5677 #[prost(string, optional, tag = "154497")]
5678 pub original_basket_id: ::core::option::Option<::prost::alloc::string::String>,
5679 #[prost(string, optional, tag = "110358")]
5680 pub linked_basket_ids: ::core::option::Option<::prost::alloc::string::String>,
5681 #[prost(string, optional, tag = "154013")]
5682 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
5683 #[prost(string, optional, tag = "154014")]
5684 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
5685 #[prost(string, optional, tag = "131003")]
5686 pub user_id: ::core::option::Option<::prost::alloc::string::String>,
5687 #[prost(string, optional, tag = "154008")]
5688 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
5689 #[prost(string, optional, tag = "110100")]
5690 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
5691 #[prost(string, optional, tag = "110101")]
5692 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
5693 #[prost(string, optional, tag = "112021")]
5694 pub trade_exchange: ::core::option::Option<::prost::alloc::string::String>,
5695 #[prost(string, optional, tag = "112016")]
5696 pub trade_route: ::core::option::Option<::prost::alloc::string::String>,
5697 #[prost(string, optional, tag = "149238")]
5698 pub exchange_order_id: ::core::option::Option<::prost::alloc::string::String>,
5699 #[prost(string, optional, tag = "153647")]
5700 pub tp_exchange_order_id: ::core::option::Option<::prost::alloc::string::String>,
5701 #[prost(string, optional, tag = "110116")]
5702 pub instrument_type: ::core::option::Option<::prost::alloc::string::String>,
5703 #[prost(int32, optional, tag = "112004")]
5704 pub quantity: ::core::option::Option<i32>,
5705 #[prost(double, optional, tag = "110306")]
5706 pub price: ::core::option::Option<f64>,
5707 #[prost(double, optional, tag = "149247")]
5708 pub trigger_price: ::core::option::Option<f64>,
5709 #[prost(
5710 enumeration = "exchange_order_notification::TransactionType",
5711 optional,
5712 tag = "112003"
5713 )]
5714 pub transaction_type: ::core::option::Option<i32>,
5715 #[prost(
5716 enumeration = "exchange_order_notification::Duration",
5717 optional,
5718 tag = "112005"
5719 )]
5720 pub duration: ::core::option::Option<i32>,
5721 #[prost(
5722 enumeration = "exchange_order_notification::PriceType",
5723 optional,
5724 tag = "112008"
5725 )]
5726 pub price_type: ::core::option::Option<i32>,
5727 #[prost(
5728 enumeration = "exchange_order_notification::PriceType",
5729 optional,
5730 tag = "154770"
5731 )]
5732 pub orig_price_type: ::core::option::Option<i32>,
5733 #[prost(
5734 enumeration = "exchange_order_notification::OrderPlacement",
5735 optional,
5736 tag = "154710"
5737 )]
5738 pub manual_or_auto: ::core::option::Option<i32>,
5739 #[prost(
5740 enumeration = "exchange_order_notification::BracketType",
5741 optional,
5742 tag = "157087"
5743 )]
5744 pub bracket_type: ::core::option::Option<i32>,
5745 #[prost(int32, optional, tag = "110329")]
5746 pub confirmed_size: ::core::option::Option<i32>,
5747 #[prost(string, optional, tag = "110326")]
5748 pub confirmed_time: ::core::option::Option<::prost::alloc::string::String>,
5749 #[prost(string, optional, tag = "110327")]
5750 pub confirmed_date: ::core::option::Option<::prost::alloc::string::String>,
5751 #[prost(string, optional, tag = "110330")]
5752 pub confirmed_id: ::core::option::Option<::prost::alloc::string::String>,
5753 #[prost(int32, optional, tag = "149267")]
5754 pub modified_size: ::core::option::Option<i32>,
5755 #[prost(string, optional, tag = "149268")]
5756 pub modified_time: ::core::option::Option<::prost::alloc::string::String>,
5757 #[prost(string, optional, tag = "149269")]
5758 pub modified_date: ::core::option::Option<::prost::alloc::string::String>,
5759 #[prost(string, optional, tag = "149244")]
5760 pub modify_id: ::core::option::Option<::prost::alloc::string::String>,
5761 #[prost(int32, optional, tag = "110318")]
5762 pub cancelled_size: ::core::option::Option<i32>,
5763 #[prost(string, optional, tag = "110319")]
5764 pub cancelled_time: ::core::option::Option<::prost::alloc::string::String>,
5765 #[prost(string, optional, tag = "110320")]
5766 pub cancelled_date: ::core::option::Option<::prost::alloc::string::String>,
5767 #[prost(string, optional, tag = "110321")]
5768 pub cancelled_id: ::core::option::Option<::prost::alloc::string::String>,
5769 #[prost(double, optional, tag = "110307")]
5770 pub fill_price: ::core::option::Option<f64>,
5771 #[prost(int32, optional, tag = "110308")]
5772 pub fill_size: ::core::option::Option<i32>,
5773 #[prost(string, optional, tag = "110309")]
5774 pub fill_time: ::core::option::Option<::prost::alloc::string::String>,
5775 #[prost(string, optional, tag = "110310")]
5776 pub fill_date: ::core::option::Option<::prost::alloc::string::String>,
5777 #[prost(string, optional, tag = "110311")]
5778 pub fill_id: ::core::option::Option<::prost::alloc::string::String>,
5779 #[prost(double, optional, tag = "110322")]
5780 pub avg_fill_price: ::core::option::Option<f64>,
5781 #[prost(int32, optional, tag = "154111")]
5782 pub total_fill_size: ::core::option::Option<i32>,
5783 #[prost(int32, optional, tag = "154112")]
5784 pub total_unfilled_size: ::core::option::Option<i32>,
5785 #[prost(string, optional, tag = "149266")]
5786 pub trigger_id: ::core::option::Option<::prost::alloc::string::String>,
5787 #[prost(int32, optional, tag = "157064")]
5788 pub trail_by_ticks: ::core::option::Option<i32>,
5789 #[prost(int32, optional, tag = "157065")]
5790 pub trail_by_price_id: ::core::option::Option<i32>,
5791 #[prost(string, optional, tag = "112002")]
5792 pub sequence_number: ::core::option::Option<::prost::alloc::string::String>,
5793 #[prost(string, optional, tag = "149263")]
5794 pub orig_sequence_number: ::core::option::Option<::prost::alloc::string::String>,
5795 #[prost(string, optional, tag = "149264")]
5796 pub cor_sequence_number: ::core::option::Option<::prost::alloc::string::String>,
5797 #[prost(string, optional, tag = "154382")]
5798 pub currency: ::core::option::Option<::prost::alloc::string::String>,
5799 #[prost(string, optional, tag = "154172")]
5800 pub country_code: ::core::option::Option<::prost::alloc::string::String>,
5801 #[prost(string, optional, tag = "120008")]
5802 pub text: ::core::option::Option<::prost::alloc::string::String>,
5803 #[prost(string, optional, tag = "120028")]
5804 pub report_text: ::core::option::Option<::prost::alloc::string::String>,
5805 #[prost(string, optional, tag = "154806")]
5806 pub remarks: ::core::option::Option<::prost::alloc::string::String>,
5807 #[prost(string, optional, tag = "154629")]
5808 pub window_name: ::core::option::Option<::prost::alloc::string::String>,
5809 #[prost(string, optional, tag = "154671")]
5810 pub originator_window_name: ::core::option::Option<::prost::alloc::string::String>,
5811 #[prost(int32, optional, tag = "157085")]
5812 pub cancel_at_ssboe: ::core::option::Option<i32>,
5813 #[prost(int32, optional, tag = "157086")]
5814 pub cancel_at_usecs: ::core::option::Option<i32>,
5815 #[prost(int32, optional, tag = "154488")]
5816 pub cancel_after_secs: ::core::option::Option<i32>,
5817 #[prost(int32, optional, tag = "150100")]
5818 pub ssboe: ::core::option::Option<i32>,
5819 #[prost(int32, optional, tag = "150101")]
5820 pub usecs: ::core::option::Option<i32>,
5821 #[prost(int32, optional, tag = "150405")]
5822 pub exch_receipt_ssboe: ::core::option::Option<i32>,
5823 #[prost(int32, optional, tag = "150406")]
5824 pub exch_receipt_nsecs: ::core::option::Option<i32>,
5825}
5826pub mod exchange_order_notification {
5828 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5829 #[repr(i32)]
5830 pub enum NotifyType {
5831 Status = 1,
5832 Modify = 2,
5833 Cancel = 3,
5834 Trigger = 4,
5835 Fill = 5,
5836 Reject = 6,
5837 NotModified = 7,
5838 NotCancelled = 8,
5839 Generic = 9,
5840 }
5841 impl NotifyType {
5842 pub fn as_str_name(&self) -> &'static str {
5847 match self {
5848 Self::Status => "STATUS",
5849 Self::Modify => "MODIFY",
5850 Self::Cancel => "CANCEL",
5851 Self::Trigger => "TRIGGER",
5852 Self::Fill => "FILL",
5853 Self::Reject => "REJECT",
5854 Self::NotModified => "NOT_MODIFIED",
5855 Self::NotCancelled => "NOT_CANCELLED",
5856 Self::Generic => "GENERIC",
5857 }
5858 }
5859 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5861 match value {
5862 "STATUS" => Some(Self::Status),
5863 "MODIFY" => Some(Self::Modify),
5864 "CANCEL" => Some(Self::Cancel),
5865 "TRIGGER" => Some(Self::Trigger),
5866 "FILL" => Some(Self::Fill),
5867 "REJECT" => Some(Self::Reject),
5868 "NOT_MODIFIED" => Some(Self::NotModified),
5869 "NOT_CANCELLED" => Some(Self::NotCancelled),
5870 "GENERIC" => Some(Self::Generic),
5871 _ => None,
5872 }
5873 }
5874 }
5875 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5876 #[repr(i32)]
5877 pub enum TransactionType {
5878 Buy = 1,
5879 Sell = 2,
5880 Ss = 3,
5881 }
5882 impl TransactionType {
5883 pub fn as_str_name(&self) -> &'static str {
5888 match self {
5889 Self::Buy => "BUY",
5890 Self::Sell => "SELL",
5891 Self::Ss => "SS",
5892 }
5893 }
5894 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5896 match value {
5897 "BUY" => Some(Self::Buy),
5898 "SELL" => Some(Self::Sell),
5899 "SS" => Some(Self::Ss),
5900 _ => None,
5901 }
5902 }
5903 }
5904 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5905 #[repr(i32)]
5906 pub enum Duration {
5907 Day = 1,
5908 Gtc = 2,
5909 Ioc = 3,
5910 Fok = 4,
5911 }
5912 impl Duration {
5913 pub fn as_str_name(&self) -> &'static str {
5918 match self {
5919 Self::Day => "DAY",
5920 Self::Gtc => "GTC",
5921 Self::Ioc => "IOC",
5922 Self::Fok => "FOK",
5923 }
5924 }
5925 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5927 match value {
5928 "DAY" => Some(Self::Day),
5929 "GTC" => Some(Self::Gtc),
5930 "IOC" => Some(Self::Ioc),
5931 "FOK" => Some(Self::Fok),
5932 _ => None,
5933 }
5934 }
5935 }
5936 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5937 #[repr(i32)]
5938 pub enum PriceType {
5939 Limit = 1,
5940 Market = 2,
5941 StopLimit = 3,
5942 StopMarket = 4,
5943 }
5944 impl PriceType {
5945 pub fn as_str_name(&self) -> &'static str {
5950 match self {
5951 Self::Limit => "LIMIT",
5952 Self::Market => "MARKET",
5953 Self::StopLimit => "STOP_LIMIT",
5954 Self::StopMarket => "STOP_MARKET",
5955 }
5956 }
5957 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5959 match value {
5960 "LIMIT" => Some(Self::Limit),
5961 "MARKET" => Some(Self::Market),
5962 "STOP_LIMIT" => Some(Self::StopLimit),
5963 "STOP_MARKET" => Some(Self::StopMarket),
5964 _ => None,
5965 }
5966 }
5967 }
5968 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5969 #[repr(i32)]
5970 pub enum BracketType {
5971 StopOnly = 1,
5972 TargetOnly = 2,
5973 TargetAndStop = 3,
5974 StopOnlyStatic = 4,
5975 TargetOnlyStatic = 5,
5976 TargetAndStopStatic = 6,
5977 }
5978 impl BracketType {
5979 pub fn as_str_name(&self) -> &'static str {
5984 match self {
5985 Self::StopOnly => "STOP_ONLY",
5986 Self::TargetOnly => "TARGET_ONLY",
5987 Self::TargetAndStop => "TARGET_AND_STOP",
5988 Self::StopOnlyStatic => "STOP_ONLY_STATIC",
5989 Self::TargetOnlyStatic => "TARGET_ONLY_STATIC",
5990 Self::TargetAndStopStatic => "TARGET_AND_STOP_STATIC",
5991 }
5992 }
5993 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5995 match value {
5996 "STOP_ONLY" => Some(Self::StopOnly),
5997 "TARGET_ONLY" => Some(Self::TargetOnly),
5998 "TARGET_AND_STOP" => Some(Self::TargetAndStop),
5999 "STOP_ONLY_STATIC" => Some(Self::StopOnlyStatic),
6000 "TARGET_ONLY_STATIC" => Some(Self::TargetOnlyStatic),
6001 "TARGET_AND_STOP_STATIC" => Some(Self::TargetAndStopStatic),
6002 _ => None,
6003 }
6004 }
6005 }
6006 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6007 #[repr(i32)]
6008 pub enum OrderPlacement {
6009 Manual = 1,
6010 Auto = 2,
6011 }
6012 impl OrderPlacement {
6013 pub fn as_str_name(&self) -> &'static str {
6018 match self {
6019 Self::Manual => "MANUAL",
6020 Self::Auto => "AUTO",
6021 }
6022 }
6023 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6025 match value {
6026 "MANUAL" => Some(Self::Manual),
6027 "AUTO" => Some(Self::Auto),
6028 _ => None,
6029 }
6030 }
6031 }
6032}
6033#[derive(Clone, PartialEq, ::prost::Message)]
6035pub struct AccountListUpdates {
6036 #[prost(int32, required, tag = "154467")]
6038 pub template_id: i32,
6039 #[prost(string, optional, tag = "154013")]
6041 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
6042 #[prost(string, optional, tag = "154014")]
6044 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
6045 #[prost(string, optional, tag = "154008")]
6047 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
6048 #[prost(string, optional, tag = "131040")]
6050 pub auto_liq_threshold_current_value: ::core::option::Option<::prost::alloc::string::String>,
6051}
6052#[derive(Clone, PartialEq, ::prost::Message)]
6054pub struct UpdateEasyToBorrowList {
6055 #[prost(int32, required, tag = "154467")]
6057 pub template_id: i32,
6058 #[prost(string, optional, tag = "154612")]
6060 pub broker_dealer: ::core::option::Option<::prost::alloc::string::String>,
6061 #[prost(string, optional, tag = "110100")]
6063 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
6064 #[prost(string, optional, tag = "100003")]
6066 pub symbol_name: ::core::option::Option<::prost::alloc::string::String>,
6067 #[prost(int32, optional, tag = "154613")]
6069 pub qty_available: ::core::option::Option<i32>,
6070 #[prost(int32, optional, tag = "154614")]
6072 pub qty_needed: ::core::option::Option<i32>,
6073 #[prost(bool, optional, tag = "110353")]
6075 pub borrowable: ::core::option::Option<bool>,
6076}
6077#[derive(Clone, PartialEq, ::prost::Message)]
6078pub struct AccountRmsUpdates {
6079 #[prost(int32, required, tag = "154467")]
6080 pub template_id: i32,
6081 #[prost(int32, optional, tag = "154211")]
6082 pub update_bits: ::core::option::Option<i32>,
6083 #[prost(string, optional, tag = "154013")]
6084 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
6085 #[prost(string, optional, tag = "154014")]
6086 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
6087 #[prost(string, optional, tag = "154008")]
6088 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
6089 #[prost(string, optional, tag = "131040")]
6090 pub auto_liq_threshold_current_value: ::core::option::Option<::prost::alloc::string::String>,
6091 #[prost(string, optional, tag = "131049")]
6092 pub auto_liq_peak_account_balance: ::core::option::Option<::prost::alloc::string::String>,
6093 #[prost(string, optional, tag = "131050")]
6094 pub auto_liq_peak_account_balance_ssboe: ::core::option::Option<::prost::alloc::string::String>,
6095}
6096pub mod account_rms_updates {
6098 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6099 #[repr(i32)]
6100 pub enum UpdateBits {
6101 AutoLiqThresholdCurrentValue = 1,
6102 }
6103 impl UpdateBits {
6104 pub fn as_str_name(&self) -> &'static str {
6109 match self {
6110 Self::AutoLiqThresholdCurrentValue => "AUTO_LIQ_THRESHOLD_CURRENT_VALUE",
6111 }
6112 }
6113 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6115 match value {
6116 "AUTO_LIQ_THRESHOLD_CURRENT_VALUE" => Some(Self::AutoLiqThresholdCurrentValue),
6117 _ => None,
6118 }
6119 }
6120 }
6121}
6122#[derive(Clone, PartialEq, ::prost::Message)]
6124pub struct RequestPnLPositionUpdates {
6125 #[prost(int32, required, tag = "154467")]
6127 pub template_id: i32,
6128 #[prost(string, repeated, tag = "132760")]
6130 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6131 #[prost(
6133 enumeration = "request_pn_l_position_updates::Request",
6134 optional,
6135 tag = "100000"
6136 )]
6137 pub request: ::core::option::Option<i32>,
6138 #[prost(string, optional, tag = "154013")]
6140 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
6141 #[prost(string, optional, tag = "154014")]
6143 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
6144 #[prost(string, optional, tag = "154008")]
6146 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
6147}
6148pub mod request_pn_l_position_updates {
6150 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6151 #[repr(i32)]
6152 pub enum Request {
6153 Subscribe = 1,
6154 Unsubscribe = 2,
6155 }
6156 impl Request {
6157 pub fn as_str_name(&self) -> &'static str {
6162 match self {
6163 Self::Subscribe => "SUBSCRIBE",
6164 Self::Unsubscribe => "UNSUBSCRIBE",
6165 }
6166 }
6167 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6169 match value {
6170 "SUBSCRIBE" => Some(Self::Subscribe),
6171 "UNSUBSCRIBE" => Some(Self::Unsubscribe),
6172 _ => None,
6173 }
6174 }
6175 }
6176}
6177#[derive(Clone, PartialEq, ::prost::Message)]
6179pub struct ResponsePnLPositionUpdates {
6180 #[prost(int32, required, tag = "154467")]
6182 pub template_id: i32,
6183 #[prost(string, repeated, tag = "132760")]
6185 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6186 #[prost(string, repeated, tag = "132766")]
6188 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6189}
6190#[derive(Clone, PartialEq, ::prost::Message)]
6192pub struct RequestPnLPositionSnapshot {
6193 #[prost(int32, required, tag = "154467")]
6195 pub template_id: i32,
6196 #[prost(string, repeated, tag = "132760")]
6198 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6199 #[prost(string, optional, tag = "154013")]
6201 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
6202 #[prost(string, optional, tag = "154014")]
6204 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
6205 #[prost(string, optional, tag = "154008")]
6207 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
6208}
6209#[derive(Clone, PartialEq, ::prost::Message)]
6211pub struct ResponsePnLPositionSnapshot {
6212 #[prost(int32, required, tag = "154467")]
6214 pub template_id: i32,
6215 #[prost(string, repeated, tag = "132760")]
6217 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6218 #[prost(string, repeated, tag = "132766")]
6220 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6221}
6222#[derive(Clone, PartialEq, ::prost::Message)]
6223pub struct AccountPnLPositionUpdate {
6224 #[prost(int32, required, tag = "154467")]
6225 pub template_id: i32,
6226 #[prost(bool, optional, tag = "110121")]
6227 pub is_snapshot: ::core::option::Option<bool>,
6228 #[prost(string, optional, tag = "154013")]
6229 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
6230 #[prost(string, optional, tag = "154014")]
6231 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
6232 #[prost(string, optional, tag = "154008")]
6233 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
6234 #[prost(int32, optional, tag = "154041")]
6235 pub fill_buy_qty: ::core::option::Option<i32>,
6236 #[prost(int32, optional, tag = "154042")]
6237 pub fill_sell_qty: ::core::option::Option<i32>,
6238 #[prost(int32, optional, tag = "154037")]
6239 pub order_buy_qty: ::core::option::Option<i32>,
6240 #[prost(int32, optional, tag = "154038")]
6241 pub order_sell_qty: ::core::option::Option<i32>,
6242 #[prost(int32, optional, tag = "154260")]
6243 pub buy_qty: ::core::option::Option<i32>,
6244 #[prost(int32, optional, tag = "154261")]
6245 pub sell_qty: ::core::option::Option<i32>,
6246 #[prost(string, optional, tag = "157105")]
6247 pub open_long_options_value: ::core::option::Option<::prost::alloc::string::String>,
6248 #[prost(string, optional, tag = "157106")]
6249 pub open_short_options_value: ::core::option::Option<::prost::alloc::string::String>,
6250 #[prost(string, optional, tag = "157107")]
6251 pub closed_options_value: ::core::option::Option<::prost::alloc::string::String>,
6252 #[prost(string, optional, tag = "157111")]
6253 pub option_cash_reserved: ::core::option::Option<::prost::alloc::string::String>,
6254 #[prost(string, optional, tag = "157113")]
6255 pub rms_account_commission: ::core::option::Option<::prost::alloc::string::String>,
6256 #[prost(string, optional, tag = "156961")]
6257 pub open_position_pnl: ::core::option::Option<::prost::alloc::string::String>,
6258 #[prost(int32, optional, tag = "156962")]
6259 pub open_position_quantity: ::core::option::Option<i32>,
6260 #[prost(string, optional, tag = "156963")]
6261 pub closed_position_pnl: ::core::option::Option<::prost::alloc::string::String>,
6262 #[prost(int32, optional, tag = "156964")]
6263 pub closed_position_quantity: ::core::option::Option<i32>,
6264 #[prost(int32, optional, tag = "156967")]
6265 pub net_quantity: ::core::option::Option<i32>,
6266 #[prost(string, optional, tag = "156991")]
6267 pub excess_buy_margin: ::core::option::Option<::prost::alloc::string::String>,
6268 #[prost(string, optional, tag = "156977")]
6269 pub margin_balance: ::core::option::Option<::prost::alloc::string::String>,
6270 #[prost(string, optional, tag = "156976")]
6271 pub min_margin_balance: ::core::option::Option<::prost::alloc::string::String>,
6272 #[prost(string, optional, tag = "156968")]
6273 pub min_account_balance: ::core::option::Option<::prost::alloc::string::String>,
6274 #[prost(string, optional, tag = "156970")]
6275 pub account_balance: ::core::option::Option<::prost::alloc::string::String>,
6276 #[prost(string, optional, tag = "156971")]
6277 pub cash_on_hand: ::core::option::Option<::prost::alloc::string::String>,
6278 #[prost(string, optional, tag = "157118")]
6279 pub option_closed_pnl: ::core::option::Option<::prost::alloc::string::String>,
6280 #[prost(string, optional, tag = "156965")]
6281 pub percent_maximum_allowable_loss: ::core::option::Option<::prost::alloc::string::String>,
6282 #[prost(string, optional, tag = "157117")]
6283 pub option_open_pnl: ::core::option::Option<::prost::alloc::string::String>,
6284 #[prost(string, optional, tag = "154262")]
6285 pub mtm_account: ::core::option::Option<::prost::alloc::string::String>,
6286 #[prost(string, optional, tag = "157015")]
6287 pub available_buying_power: ::core::option::Option<::prost::alloc::string::String>,
6288 #[prost(string, optional, tag = "157014")]
6289 pub used_buying_power: ::core::option::Option<::prost::alloc::string::String>,
6290 #[prost(string, optional, tag = "157013")]
6291 pub reserved_buying_power: ::core::option::Option<::prost::alloc::string::String>,
6292 #[prost(string, optional, tag = "156992")]
6293 pub excess_sell_margin: ::core::option::Option<::prost::alloc::string::String>,
6294 #[prost(string, optional, tag = "157954")]
6295 pub day_open_pnl: ::core::option::Option<::prost::alloc::string::String>,
6296 #[prost(string, optional, tag = "157955")]
6297 pub day_closed_pnl: ::core::option::Option<::prost::alloc::string::String>,
6298 #[prost(string, optional, tag = "157956")]
6299 pub day_pnl: ::core::option::Option<::prost::alloc::string::String>,
6300 #[prost(string, optional, tag = "157957")]
6301 pub day_open_pnl_offset: ::core::option::Option<::prost::alloc::string::String>,
6302 #[prost(string, optional, tag = "157958")]
6303 pub day_closed_pnl_offset: ::core::option::Option<::prost::alloc::string::String>,
6304 #[prost(int32, optional, tag = "150100")]
6305 pub ssboe: ::core::option::Option<i32>,
6306 #[prost(int32, optional, tag = "150101")]
6307 pub usecs: ::core::option::Option<i32>,
6308}
6309#[derive(Clone, PartialEq, ::prost::Message)]
6310pub struct InstrumentPnLPositionUpdate {
6311 #[prost(int32, required, tag = "154467")]
6312 pub template_id: i32,
6313 #[prost(bool, optional, tag = "110121")]
6314 pub is_snapshot: ::core::option::Option<bool>,
6315 #[prost(string, optional, tag = "154013")]
6316 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
6317 #[prost(string, optional, tag = "154014")]
6318 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
6319 #[prost(string, optional, tag = "154008")]
6320 pub account_id: ::core::option::Option<::prost::alloc::string::String>,
6321 #[prost(string, optional, tag = "110100")]
6322 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
6323 #[prost(string, optional, tag = "110101")]
6324 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
6325 #[prost(string, optional, tag = "100749")]
6326 pub product_code: ::core::option::Option<::prost::alloc::string::String>,
6327 #[prost(string, optional, tag = "110116")]
6328 pub instrument_type: ::core::option::Option<::prost::alloc::string::String>,
6329 #[prost(int32, optional, tag = "154041")]
6330 pub fill_buy_qty: ::core::option::Option<i32>,
6331 #[prost(int32, optional, tag = "154042")]
6332 pub fill_sell_qty: ::core::option::Option<i32>,
6333 #[prost(int32, optional, tag = "154037")]
6334 pub order_buy_qty: ::core::option::Option<i32>,
6335 #[prost(int32, optional, tag = "154038")]
6336 pub order_sell_qty: ::core::option::Option<i32>,
6337 #[prost(int32, optional, tag = "154260")]
6338 pub buy_qty: ::core::option::Option<i32>,
6339 #[prost(int32, optional, tag = "154261")]
6340 pub sell_qty: ::core::option::Option<i32>,
6341 #[prost(double, optional, tag = "154434")]
6342 pub avg_open_fill_price: ::core::option::Option<f64>,
6343 #[prost(double, optional, tag = "157954")]
6344 pub day_open_pnl: ::core::option::Option<f64>,
6345 #[prost(double, optional, tag = "157955")]
6346 pub day_closed_pnl: ::core::option::Option<f64>,
6347 #[prost(double, optional, tag = "157956")]
6348 pub day_pnl: ::core::option::Option<f64>,
6349 #[prost(double, optional, tag = "157957")]
6350 pub day_open_pnl_offset: ::core::option::Option<f64>,
6351 #[prost(double, optional, tag = "157958")]
6352 pub day_closed_pnl_offset: ::core::option::Option<f64>,
6353 #[prost(string, optional, tag = "154263")]
6354 pub mtm_security: ::core::option::Option<::prost::alloc::string::String>,
6355 #[prost(string, optional, tag = "157105")]
6356 pub open_long_options_value: ::core::option::Option<::prost::alloc::string::String>,
6357 #[prost(string, optional, tag = "157106")]
6358 pub open_short_options_value: ::core::option::Option<::prost::alloc::string::String>,
6359 #[prost(string, optional, tag = "157107")]
6360 pub closed_options_value: ::core::option::Option<::prost::alloc::string::String>,
6361 #[prost(string, optional, tag = "157111")]
6362 pub option_cash_reserved: ::core::option::Option<::prost::alloc::string::String>,
6363 #[prost(string, optional, tag = "156961")]
6364 pub open_position_pnl: ::core::option::Option<::prost::alloc::string::String>,
6365 #[prost(int32, optional, tag = "156962")]
6366 pub open_position_quantity: ::core::option::Option<i32>,
6367 #[prost(string, optional, tag = "156963")]
6368 pub closed_position_pnl: ::core::option::Option<::prost::alloc::string::String>,
6369 #[prost(int32, optional, tag = "156964")]
6370 pub closed_position_quantity: ::core::option::Option<i32>,
6371 #[prost(int32, optional, tag = "156967")]
6372 pub net_quantity: ::core::option::Option<i32>,
6373 #[prost(int32, optional, tag = "150100")]
6374 pub ssboe: ::core::option::Option<i32>,
6375 #[prost(int32, optional, tag = "150101")]
6376 pub usecs: ::core::option::Option<i32>,
6377}
6378#[derive(Clone, PartialEq, ::prost::Message)]
6379pub struct RequestTickBarReplay {
6380 #[prost(int32, required, tag = "154467")]
6381 pub template_id: i32,
6382 #[prost(string, repeated, tag = "132760")]
6383 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6384 #[prost(string, optional, tag = "110100")]
6385 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
6386 #[prost(string, optional, tag = "110101")]
6387 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
6388 #[prost(
6389 enumeration = "request_tick_bar_replay::BarType",
6390 optional,
6391 tag = "119200"
6392 )]
6393 pub bar_type: ::core::option::Option<i32>,
6394 #[prost(
6395 enumeration = "request_tick_bar_replay::BarSubType",
6396 optional,
6397 tag = "119208"
6398 )]
6399 pub bar_sub_type: ::core::option::Option<i32>,
6400 #[prost(string, optional, tag = "148162")]
6401 pub bar_type_specifier: ::core::option::Option<::prost::alloc::string::String>,
6402 #[prost(int32, optional, tag = "153002")]
6403 pub start_index: ::core::option::Option<i32>,
6404 #[prost(int32, optional, tag = "153003")]
6405 pub finish_index: ::core::option::Option<i32>,
6406 #[prost(int32, optional, tag = "154020")]
6407 pub user_max_count: ::core::option::Option<i32>,
6408 #[prost(int32, optional, tag = "119209")]
6409 pub custom_session_open_ssm: ::core::option::Option<i32>,
6410 #[prost(int32, optional, tag = "119210")]
6411 pub custom_session_close_ssm: ::core::option::Option<i32>,
6412 #[prost(
6413 enumeration = "request_tick_bar_replay::Direction",
6414 optional,
6415 tag = "149253"
6416 )]
6417 pub direction: ::core::option::Option<i32>,
6418 #[prost(
6419 enumeration = "request_tick_bar_replay::TimeOrder",
6420 optional,
6421 tag = "149307"
6422 )]
6423 pub time_order: ::core::option::Option<i32>,
6424 #[prost(bool, optional, tag = "153642")]
6425 pub resume_bars: ::core::option::Option<bool>,
6426}
6427pub mod request_tick_bar_replay {
6429 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6430 #[repr(i32)]
6431 pub enum BarType {
6432 TickBar = 1,
6433 RangeBar = 2,
6434 VolumeBar = 3,
6435 }
6436 impl BarType {
6437 pub fn as_str_name(&self) -> &'static str {
6442 match self {
6443 Self::TickBar => "TICK_BAR",
6444 Self::RangeBar => "RANGE_BAR",
6445 Self::VolumeBar => "VOLUME_BAR",
6446 }
6447 }
6448 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6450 match value {
6451 "TICK_BAR" => Some(Self::TickBar),
6452 "RANGE_BAR" => Some(Self::RangeBar),
6453 "VOLUME_BAR" => Some(Self::VolumeBar),
6454 _ => None,
6455 }
6456 }
6457 }
6458 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6459 #[repr(i32)]
6460 pub enum BarSubType {
6461 Regular = 1,
6462 Custom = 2,
6463 }
6464 impl BarSubType {
6465 pub fn as_str_name(&self) -> &'static str {
6470 match self {
6471 Self::Regular => "REGULAR",
6472 Self::Custom => "CUSTOM",
6473 }
6474 }
6475 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6477 match value {
6478 "REGULAR" => Some(Self::Regular),
6479 "CUSTOM" => Some(Self::Custom),
6480 _ => None,
6481 }
6482 }
6483 }
6484 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6485 #[repr(i32)]
6486 pub enum Direction {
6487 First = 1,
6488 Last = 2,
6489 }
6490 impl Direction {
6491 pub fn as_str_name(&self) -> &'static str {
6496 match self {
6497 Self::First => "FIRST",
6498 Self::Last => "LAST",
6499 }
6500 }
6501 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6503 match value {
6504 "FIRST" => Some(Self::First),
6505 "LAST" => Some(Self::Last),
6506 _ => None,
6507 }
6508 }
6509 }
6510 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6511 #[repr(i32)]
6512 pub enum TimeOrder {
6513 Forwards = 1,
6514 Backwards = 2,
6515 }
6516 impl TimeOrder {
6517 pub fn as_str_name(&self) -> &'static str {
6522 match self {
6523 Self::Forwards => "FORWARDS",
6524 Self::Backwards => "BACKWARDS",
6525 }
6526 }
6527 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6529 match value {
6530 "FORWARDS" => Some(Self::Forwards),
6531 "BACKWARDS" => Some(Self::Backwards),
6532 _ => None,
6533 }
6534 }
6535 }
6536}
6537#[derive(Clone, PartialEq, ::prost::Message)]
6538pub struct ResponseTickBarReplay {
6539 #[prost(int32, required, tag = "154467")]
6540 pub template_id: i32,
6541 #[prost(string, optional, tag = "132758")]
6542 pub request_key: ::core::option::Option<::prost::alloc::string::String>,
6543 #[prost(string, repeated, tag = "132760")]
6544 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6545 #[prost(string, repeated, tag = "132764")]
6546 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6547 #[prost(string, repeated, tag = "132766")]
6548 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6549 #[prost(string, optional, tag = "110100")]
6550 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
6551 #[prost(string, optional, tag = "110101")]
6552 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
6553 #[prost(
6554 enumeration = "response_tick_bar_replay::BarType",
6555 optional,
6556 tag = "119200"
6557 )]
6558 pub r#type: ::core::option::Option<i32>,
6559 #[prost(
6560 enumeration = "response_tick_bar_replay::BarSubType",
6561 optional,
6562 tag = "119208"
6563 )]
6564 pub sub_type: ::core::option::Option<i32>,
6565 #[prost(string, optional, tag = "148162")]
6566 pub type_specifier: ::core::option::Option<::prost::alloc::string::String>,
6567 #[prost(uint64, optional, tag = "119204")]
6568 pub num_trades: ::core::option::Option<u64>,
6569 #[prost(uint64, optional, tag = "119205")]
6570 pub volume: ::core::option::Option<u64>,
6571 #[prost(uint64, optional, tag = "119213")]
6572 pub bid_volume: ::core::option::Option<u64>,
6573 #[prost(uint64, optional, tag = "119214")]
6574 pub ask_volume: ::core::option::Option<u64>,
6575 #[prost(double, optional, tag = "100019")]
6576 pub open_price: ::core::option::Option<f64>,
6577 #[prost(double, optional, tag = "100021")]
6578 pub close_price: ::core::option::Option<f64>,
6579 #[prost(double, optional, tag = "100012")]
6580 pub high_price: ::core::option::Option<f64>,
6581 #[prost(double, optional, tag = "100013")]
6582 pub low_price: ::core::option::Option<f64>,
6583 #[prost(int32, optional, tag = "119209")]
6584 pub custom_session_open_ssm: ::core::option::Option<i32>,
6585 #[prost(int32, repeated, packed = "false", tag = "119202")]
6586 pub data_bar_ssboe: ::prost::alloc::vec::Vec<i32>,
6587 #[prost(int32, repeated, packed = "false", tag = "119203")]
6588 pub data_bar_usecs: ::prost::alloc::vec::Vec<i32>,
6589}
6590pub mod response_tick_bar_replay {
6592 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6593 #[repr(i32)]
6594 pub enum BarType {
6595 TickBar = 1,
6596 RangeBar = 2,
6597 VolumeBar = 3,
6598 }
6599 impl BarType {
6600 pub fn as_str_name(&self) -> &'static str {
6605 match self {
6606 Self::TickBar => "TICK_BAR",
6607 Self::RangeBar => "RANGE_BAR",
6608 Self::VolumeBar => "VOLUME_BAR",
6609 }
6610 }
6611 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6613 match value {
6614 "TICK_BAR" => Some(Self::TickBar),
6615 "RANGE_BAR" => Some(Self::RangeBar),
6616 "VOLUME_BAR" => Some(Self::VolumeBar),
6617 _ => None,
6618 }
6619 }
6620 }
6621 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6622 #[repr(i32)]
6623 pub enum BarSubType {
6624 Regular = 1,
6625 Custom = 2,
6626 }
6627 impl BarSubType {
6628 pub fn as_str_name(&self) -> &'static str {
6633 match self {
6634 Self::Regular => "REGULAR",
6635 Self::Custom => "CUSTOM",
6636 }
6637 }
6638 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6640 match value {
6641 "REGULAR" => Some(Self::Regular),
6642 "CUSTOM" => Some(Self::Custom),
6643 _ => None,
6644 }
6645 }
6646 }
6647}
6648#[derive(Clone, PartialEq, ::prost::Message)]
6650pub struct RequestTickBarUpdate {
6651 #[prost(int32, required, tag = "154467")]
6653 pub template_id: i32,
6654 #[prost(string, repeated, tag = "132760")]
6656 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6657 #[prost(string, optional, tag = "110100")]
6659 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
6660 #[prost(string, optional, tag = "110101")]
6662 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
6663 #[prost(
6665 enumeration = "request_tick_bar_update::Request",
6666 optional,
6667 tag = "100000"
6668 )]
6669 pub request: ::core::option::Option<i32>,
6670 #[prost(
6672 enumeration = "request_tick_bar_update::BarType",
6673 optional,
6674 tag = "119200"
6675 )]
6676 pub bar_type: ::core::option::Option<i32>,
6677 #[prost(
6679 enumeration = "request_tick_bar_update::BarSubType",
6680 optional,
6681 tag = "119208"
6682 )]
6683 pub bar_sub_type: ::core::option::Option<i32>,
6684 #[prost(string, optional, tag = "148162")]
6686 pub bar_type_specifier: ::core::option::Option<::prost::alloc::string::String>,
6687 #[prost(int32, optional, tag = "119209")]
6689 pub custom_session_open_ssm: ::core::option::Option<i32>,
6690 #[prost(int32, optional, tag = "119210")]
6692 pub custom_session_close_ssm: ::core::option::Option<i32>,
6693}
6694pub mod request_tick_bar_update {
6696 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6697 #[repr(i32)]
6698 pub enum BarType {
6699 TickBar = 1,
6700 RangeBar = 2,
6701 VolumeBar = 3,
6702 }
6703 impl BarType {
6704 pub fn as_str_name(&self) -> &'static str {
6709 match self {
6710 Self::TickBar => "TICK_BAR",
6711 Self::RangeBar => "RANGE_BAR",
6712 Self::VolumeBar => "VOLUME_BAR",
6713 }
6714 }
6715 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6717 match value {
6718 "TICK_BAR" => Some(Self::TickBar),
6719 "RANGE_BAR" => Some(Self::RangeBar),
6720 "VOLUME_BAR" => Some(Self::VolumeBar),
6721 _ => None,
6722 }
6723 }
6724 }
6725 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6726 #[repr(i32)]
6727 pub enum BarSubType {
6728 Regular = 1,
6729 Custom = 2,
6730 }
6731 impl BarSubType {
6732 pub fn as_str_name(&self) -> &'static str {
6737 match self {
6738 Self::Regular => "REGULAR",
6739 Self::Custom => "CUSTOM",
6740 }
6741 }
6742 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6744 match value {
6745 "REGULAR" => Some(Self::Regular),
6746 "CUSTOM" => Some(Self::Custom),
6747 _ => None,
6748 }
6749 }
6750 }
6751 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6752 #[repr(i32)]
6753 pub enum Request {
6754 Subscribe = 1,
6755 Unsubscribe = 2,
6756 }
6757 impl Request {
6758 pub fn as_str_name(&self) -> &'static str {
6763 match self {
6764 Self::Subscribe => "SUBSCRIBE",
6765 Self::Unsubscribe => "UNSUBSCRIBE",
6766 }
6767 }
6768 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6770 match value {
6771 "SUBSCRIBE" => Some(Self::Subscribe),
6772 "UNSUBSCRIBE" => Some(Self::Unsubscribe),
6773 _ => None,
6774 }
6775 }
6776 }
6777}
6778#[derive(Clone, PartialEq, ::prost::Message)]
6780pub struct ResponseTickBarUpdate {
6781 #[prost(int32, required, tag = "154467")]
6783 pub template_id: i32,
6784 #[prost(string, repeated, tag = "132760")]
6786 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6787 #[prost(string, repeated, tag = "132766")]
6789 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6790}
6791#[derive(Clone, PartialEq, ::prost::Message)]
6792pub struct RequestTimeBarReplay {
6793 #[prost(int32, required, tag = "154467")]
6794 pub template_id: i32,
6795 #[prost(string, repeated, tag = "132760")]
6796 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6797 #[prost(string, optional, tag = "110100")]
6798 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
6799 #[prost(string, optional, tag = "110101")]
6800 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
6801 #[prost(
6802 enumeration = "request_time_bar_replay::BarType",
6803 optional,
6804 tag = "119200"
6805 )]
6806 pub bar_type: ::core::option::Option<i32>,
6807 #[prost(int32, optional, tag = "119112")]
6808 pub bar_type_period: ::core::option::Option<i32>,
6809 #[prost(int32, optional, tag = "153002")]
6810 pub start_index: ::core::option::Option<i32>,
6811 #[prost(int32, optional, tag = "153003")]
6812 pub finish_index: ::core::option::Option<i32>,
6813 #[prost(int32, optional, tag = "154020")]
6814 pub user_max_count: ::core::option::Option<i32>,
6815 #[prost(
6816 enumeration = "request_time_bar_replay::Direction",
6817 optional,
6818 tag = "149253"
6819 )]
6820 pub direction: ::core::option::Option<i32>,
6821 #[prost(
6822 enumeration = "request_time_bar_replay::TimeOrder",
6823 optional,
6824 tag = "149307"
6825 )]
6826 pub time_order: ::core::option::Option<i32>,
6827 #[prost(bool, optional, tag = "153642")]
6828 pub resume_bars: ::core::option::Option<bool>,
6829}
6830pub mod request_time_bar_replay {
6832 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6833 #[repr(i32)]
6834 pub enum BarType {
6835 SecondBar = 1,
6836 MinuteBar = 2,
6837 DailyBar = 3,
6838 WeeklyBar = 4,
6839 }
6840 impl BarType {
6841 pub fn as_str_name(&self) -> &'static str {
6846 match self {
6847 Self::SecondBar => "SECOND_BAR",
6848 Self::MinuteBar => "MINUTE_BAR",
6849 Self::DailyBar => "DAILY_BAR",
6850 Self::WeeklyBar => "WEEKLY_BAR",
6851 }
6852 }
6853 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6855 match value {
6856 "SECOND_BAR" => Some(Self::SecondBar),
6857 "MINUTE_BAR" => Some(Self::MinuteBar),
6858 "DAILY_BAR" => Some(Self::DailyBar),
6859 "WEEKLY_BAR" => Some(Self::WeeklyBar),
6860 _ => None,
6861 }
6862 }
6863 }
6864 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6865 #[repr(i32)]
6866 pub enum Direction {
6867 First = 1,
6868 Last = 2,
6869 }
6870 impl Direction {
6871 pub fn as_str_name(&self) -> &'static str {
6876 match self {
6877 Self::First => "FIRST",
6878 Self::Last => "LAST",
6879 }
6880 }
6881 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6883 match value {
6884 "FIRST" => Some(Self::First),
6885 "LAST" => Some(Self::Last),
6886 _ => None,
6887 }
6888 }
6889 }
6890 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6891 #[repr(i32)]
6892 pub enum TimeOrder {
6893 Forwards = 1,
6894 Backwards = 2,
6895 }
6896 impl TimeOrder {
6897 pub fn as_str_name(&self) -> &'static str {
6902 match self {
6903 Self::Forwards => "FORWARDS",
6904 Self::Backwards => "BACKWARDS",
6905 }
6906 }
6907 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6909 match value {
6910 "FORWARDS" => Some(Self::Forwards),
6911 "BACKWARDS" => Some(Self::Backwards),
6912 _ => None,
6913 }
6914 }
6915 }
6916}
6917#[derive(Clone, PartialEq, ::prost::Message)]
6918pub struct ResponseTimeBarReplay {
6919 #[prost(int32, required, tag = "154467")]
6920 pub template_id: i32,
6921 #[prost(string, optional, tag = "132758")]
6922 pub request_key: ::core::option::Option<::prost::alloc::string::String>,
6923 #[prost(string, repeated, tag = "132760")]
6924 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6925 #[prost(string, repeated, tag = "132764")]
6926 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6927 #[prost(string, repeated, tag = "132766")]
6928 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6929 #[prost(string, optional, tag = "110100")]
6930 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
6931 #[prost(string, optional, tag = "110101")]
6932 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
6933 #[prost(
6934 enumeration = "response_time_bar_replay::BarType",
6935 optional,
6936 tag = "119200"
6937 )]
6938 pub r#type: ::core::option::Option<i32>,
6939 #[prost(string, optional, tag = "119112")]
6940 pub period: ::core::option::Option<::prost::alloc::string::String>,
6941 #[prost(int32, optional, tag = "119100")]
6942 pub marker: ::core::option::Option<i32>,
6943 #[prost(uint64, optional, tag = "119109")]
6944 pub num_trades: ::core::option::Option<u64>,
6945 #[prost(uint64, optional, tag = "119110")]
6946 pub volume: ::core::option::Option<u64>,
6947 #[prost(uint64, optional, tag = "119117")]
6948 pub bid_volume: ::core::option::Option<u64>,
6949 #[prost(uint64, optional, tag = "119118")]
6950 pub ask_volume: ::core::option::Option<u64>,
6951 #[prost(double, optional, tag = "100019")]
6952 pub open_price: ::core::option::Option<f64>,
6953 #[prost(double, optional, tag = "100021")]
6954 pub close_price: ::core::option::Option<f64>,
6955 #[prost(double, optional, tag = "100012")]
6956 pub high_price: ::core::option::Option<f64>,
6957 #[prost(double, optional, tag = "100013")]
6958 pub low_price: ::core::option::Option<f64>,
6959 #[prost(double, optional, tag = "100070")]
6960 pub settlement_price: ::core::option::Option<f64>,
6961 #[prost(bool, optional, tag = "149138")]
6962 pub has_settlement_price: ::core::option::Option<bool>,
6963 #[prost(bool, optional, tag = "154571")]
6964 pub must_clear_settlement_price: ::core::option::Option<bool>,
6965}
6966pub mod response_time_bar_replay {
6968 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6969 #[repr(i32)]
6970 pub enum BarType {
6971 SecondBar = 1,
6972 MinuteBar = 2,
6973 DailyBar = 3,
6974 WeeklyBar = 4,
6975 }
6976 impl BarType {
6977 pub fn as_str_name(&self) -> &'static str {
6982 match self {
6983 Self::SecondBar => "SECOND_BAR",
6984 Self::MinuteBar => "MINUTE_BAR",
6985 Self::DailyBar => "DAILY_BAR",
6986 Self::WeeklyBar => "WEEKLY_BAR",
6987 }
6988 }
6989 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6991 match value {
6992 "SECOND_BAR" => Some(Self::SecondBar),
6993 "MINUTE_BAR" => Some(Self::MinuteBar),
6994 "DAILY_BAR" => Some(Self::DailyBar),
6995 "WEEKLY_BAR" => Some(Self::WeeklyBar),
6996 _ => None,
6997 }
6998 }
6999 }
7000}
7001#[derive(Clone, PartialEq, ::prost::Message)]
7003pub struct RequestTimeBarUpdate {
7004 #[prost(int32, required, tag = "154467")]
7006 pub template_id: i32,
7007 #[prost(string, repeated, tag = "132760")]
7009 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7010 #[prost(string, optional, tag = "110100")]
7012 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
7013 #[prost(string, optional, tag = "110101")]
7015 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
7016 #[prost(
7018 enumeration = "request_time_bar_update::Request",
7019 optional,
7020 tag = "100000"
7021 )]
7022 pub request: ::core::option::Option<i32>,
7023 #[prost(
7025 enumeration = "request_time_bar_update::BarType",
7026 optional,
7027 tag = "119200"
7028 )]
7029 pub bar_type: ::core::option::Option<i32>,
7030 #[prost(int32, optional, tag = "119112")]
7032 pub bar_type_period: ::core::option::Option<i32>,
7033}
7034pub mod request_time_bar_update {
7036 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7037 #[repr(i32)]
7038 pub enum BarType {
7039 SecondBar = 1,
7040 MinuteBar = 2,
7041 DailyBar = 3,
7042 WeeklyBar = 4,
7043 }
7044 impl BarType {
7045 pub fn as_str_name(&self) -> &'static str {
7050 match self {
7051 Self::SecondBar => "SECOND_BAR",
7052 Self::MinuteBar => "MINUTE_BAR",
7053 Self::DailyBar => "DAILY_BAR",
7054 Self::WeeklyBar => "WEEKLY_BAR",
7055 }
7056 }
7057 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7059 match value {
7060 "SECOND_BAR" => Some(Self::SecondBar),
7061 "MINUTE_BAR" => Some(Self::MinuteBar),
7062 "DAILY_BAR" => Some(Self::DailyBar),
7063 "WEEKLY_BAR" => Some(Self::WeeklyBar),
7064 _ => None,
7065 }
7066 }
7067 }
7068 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7069 #[repr(i32)]
7070 pub enum Request {
7071 Subscribe = 1,
7072 Unsubscribe = 2,
7073 }
7074 impl Request {
7075 pub fn as_str_name(&self) -> &'static str {
7080 match self {
7081 Self::Subscribe => "SUBSCRIBE",
7082 Self::Unsubscribe => "UNSUBSCRIBE",
7083 }
7084 }
7085 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7087 match value {
7088 "SUBSCRIBE" => Some(Self::Subscribe),
7089 "UNSUBSCRIBE" => Some(Self::Unsubscribe),
7090 _ => None,
7091 }
7092 }
7093 }
7094}
7095#[derive(Clone, PartialEq, ::prost::Message)]
7097pub struct ResponseTimeBarUpdate {
7098 #[prost(int32, required, tag = "154467")]
7100 pub template_id: i32,
7101 #[prost(string, repeated, tag = "132760")]
7103 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7104 #[prost(string, repeated, tag = "132766")]
7106 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7107}
7108#[derive(Clone, PartialEq, ::prost::Message)]
7109pub struct RequestVolumeProfileMinuteBars {
7110 #[prost(int32, required, tag = "154467")]
7111 pub template_id: i32,
7112 #[prost(string, repeated, tag = "132760")]
7113 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7114 #[prost(string, optional, tag = "110100")]
7115 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
7116 #[prost(string, optional, tag = "110101")]
7117 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
7118 #[prost(int32, optional, tag = "119215")]
7119 pub bar_type_period: ::core::option::Option<i32>,
7120 #[prost(int32, optional, tag = "153002")]
7121 pub start_index: ::core::option::Option<i32>,
7122 #[prost(int32, optional, tag = "153003")]
7123 pub finish_index: ::core::option::Option<i32>,
7124 #[prost(int32, optional, tag = "154020")]
7125 pub user_max_count: ::core::option::Option<i32>,
7126 #[prost(bool, optional, tag = "153642")]
7127 pub resume_bars: ::core::option::Option<bool>,
7128}
7129#[derive(Clone, PartialEq, ::prost::Message)]
7130pub struct ResponseVolumeProfileMinuteBars {
7131 #[prost(int32, required, tag = "154467")]
7132 pub template_id: i32,
7133 #[prost(string, optional, tag = "132758")]
7134 pub request_key: ::core::option::Option<::prost::alloc::string::String>,
7135 #[prost(string, repeated, tag = "132760")]
7136 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7137 #[prost(string, repeated, tag = "132764")]
7138 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7139 #[prost(string, repeated, tag = "132766")]
7140 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7141 #[prost(string, optional, tag = "110100")]
7142 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
7143 #[prost(string, optional, tag = "110101")]
7144 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
7145 #[prost(string, optional, tag = "119215")]
7146 pub period: ::core::option::Option<::prost::alloc::string::String>,
7147 #[prost(int32, optional, tag = "119100")]
7148 pub marker: ::core::option::Option<i32>,
7149 #[prost(uint64, optional, tag = "119204")]
7150 pub num_trades: ::core::option::Option<u64>,
7151 #[prost(uint64, optional, tag = "119205")]
7152 pub volume: ::core::option::Option<u64>,
7153 #[prost(uint64, optional, tag = "119213")]
7154 pub bid_volume: ::core::option::Option<u64>,
7155 #[prost(uint64, optional, tag = "119214")]
7156 pub ask_volume: ::core::option::Option<u64>,
7157 #[prost(double, optional, tag = "100019")]
7158 pub open_price: ::core::option::Option<f64>,
7159 #[prost(double, optional, tag = "100021")]
7160 pub close_price: ::core::option::Option<f64>,
7161 #[prost(double, optional, tag = "100012")]
7162 pub high_price: ::core::option::Option<f64>,
7163 #[prost(double, optional, tag = "100013")]
7164 pub low_price: ::core::option::Option<f64>,
7165 #[prost(double, repeated, packed = "false", tag = "119216")]
7166 pub profile_price: ::prost::alloc::vec::Vec<f64>,
7167 #[prost(int32, repeated, packed = "false", tag = "119217")]
7168 pub profile_no_aggressor_volume: ::prost::alloc::vec::Vec<i32>,
7169 #[prost(int32, repeated, packed = "false", tag = "119218")]
7170 pub profile_bid_volume: ::prost::alloc::vec::Vec<i32>,
7171 #[prost(int32, repeated, packed = "false", tag = "119219")]
7172 pub profile_ask_volume: ::prost::alloc::vec::Vec<i32>,
7173 #[prost(int32, repeated, packed = "false", tag = "119220")]
7174 pub profile_no_aggressor_trades: ::prost::alloc::vec::Vec<i32>,
7175 #[prost(int32, repeated, packed = "false", tag = "119221")]
7176 pub profile_bid_aggressor_trades: ::prost::alloc::vec::Vec<i32>,
7177 #[prost(int32, repeated, packed = "false", tag = "119222")]
7178 pub profile_ask_aggressor_trades: ::prost::alloc::vec::Vec<i32>,
7179}
7180#[derive(Clone, PartialEq, ::prost::Message)]
7181pub struct RequestResumeBars {
7182 #[prost(int32, required, tag = "154467")]
7183 pub template_id: i32,
7184 #[prost(string, repeated, tag = "132760")]
7185 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7186 #[prost(string, optional, tag = "132758")]
7187 pub request_key: ::core::option::Option<::prost::alloc::string::String>,
7188}
7189#[derive(Clone, PartialEq, ::prost::Message)]
7190pub struct ResponseResumeBars {
7191 #[prost(int32, required, tag = "154467")]
7192 pub template_id: i32,
7193 #[prost(string, repeated, tag = "132760")]
7194 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7195 #[prost(string, repeated, tag = "132766")]
7196 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7197}
7198#[derive(Clone, PartialEq, ::prost::Message)]
7200pub struct TickBar {
7201 #[prost(int32, required, tag = "154467")]
7203 pub template_id: i32,
7204 #[prost(string, optional, tag = "110100")]
7206 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
7207 #[prost(string, optional, tag = "110101")]
7209 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
7210 #[prost(enumeration = "tick_bar::BarType", optional, tag = "119200")]
7212 pub r#type: ::core::option::Option<i32>,
7213 #[prost(enumeration = "tick_bar::BarSubType", optional, tag = "119208")]
7215 pub sub_type: ::core::option::Option<i32>,
7216 #[prost(string, optional, tag = "148162")]
7218 pub type_specifier: ::core::option::Option<::prost::alloc::string::String>,
7219 #[prost(uint64, optional, tag = "119204")]
7221 pub num_trades: ::core::option::Option<u64>,
7222 #[prost(uint64, optional, tag = "119205")]
7224 pub volume: ::core::option::Option<u64>,
7225 #[prost(uint64, optional, tag = "119213")]
7227 pub bid_volume: ::core::option::Option<u64>,
7228 #[prost(uint64, optional, tag = "119214")]
7230 pub ask_volume: ::core::option::Option<u64>,
7231 #[prost(double, optional, tag = "100019")]
7233 pub open_price: ::core::option::Option<f64>,
7234 #[prost(double, optional, tag = "100021")]
7236 pub close_price: ::core::option::Option<f64>,
7237 #[prost(double, optional, tag = "100012")]
7239 pub high_price: ::core::option::Option<f64>,
7240 #[prost(double, optional, tag = "100013")]
7242 pub low_price: ::core::option::Option<f64>,
7243 #[prost(int32, optional, tag = "119209")]
7245 pub custom_session_open_ssm: ::core::option::Option<i32>,
7246 #[prost(int32, repeated, packed = "false", tag = "119202")]
7248 pub data_bar_ssboe: ::prost::alloc::vec::Vec<i32>,
7249 #[prost(int32, repeated, packed = "false", tag = "119203")]
7251 pub data_bar_usecs: ::prost::alloc::vec::Vec<i32>,
7252}
7253pub mod tick_bar {
7255 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7256 #[repr(i32)]
7257 pub enum BarType {
7258 TickBar = 1,
7259 RangeBar = 2,
7260 VolumeBar = 3,
7261 }
7262 impl BarType {
7263 pub fn as_str_name(&self) -> &'static str {
7268 match self {
7269 Self::TickBar => "TICK_BAR",
7270 Self::RangeBar => "RANGE_BAR",
7271 Self::VolumeBar => "VOLUME_BAR",
7272 }
7273 }
7274 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7276 match value {
7277 "TICK_BAR" => Some(Self::TickBar),
7278 "RANGE_BAR" => Some(Self::RangeBar),
7279 "VOLUME_BAR" => Some(Self::VolumeBar),
7280 _ => None,
7281 }
7282 }
7283 }
7284 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7285 #[repr(i32)]
7286 pub enum BarSubType {
7287 Regular = 1,
7288 Custom = 2,
7289 }
7290 impl BarSubType {
7291 pub fn as_str_name(&self) -> &'static str {
7296 match self {
7297 Self::Regular => "REGULAR",
7298 Self::Custom => "CUSTOM",
7299 }
7300 }
7301 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7303 match value {
7304 "REGULAR" => Some(Self::Regular),
7305 "CUSTOM" => Some(Self::Custom),
7306 _ => None,
7307 }
7308 }
7309 }
7310}
7311#[derive(Clone, PartialEq, ::prost::Message)]
7313pub struct TimeBar {
7314 #[prost(int32, required, tag = "154467")]
7316 pub template_id: i32,
7317 #[prost(string, optional, tag = "110100")]
7319 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
7320 #[prost(string, optional, tag = "110101")]
7322 pub exchange: ::core::option::Option<::prost::alloc::string::String>,
7323 #[prost(enumeration = "time_bar::BarType", optional, tag = "119200")]
7325 pub r#type: ::core::option::Option<i32>,
7326 #[prost(string, optional, tag = "119112")]
7328 pub period: ::core::option::Option<::prost::alloc::string::String>,
7329 #[prost(int32, optional, tag = "119100")]
7331 pub marker: ::core::option::Option<i32>,
7332 #[prost(uint64, optional, tag = "119109")]
7334 pub num_trades: ::core::option::Option<u64>,
7335 #[prost(uint64, optional, tag = "119110")]
7337 pub volume: ::core::option::Option<u64>,
7338 #[prost(uint64, optional, tag = "119117")]
7340 pub bid_volume: ::core::option::Option<u64>,
7341 #[prost(uint64, optional, tag = "119118")]
7343 pub ask_volume: ::core::option::Option<u64>,
7344 #[prost(double, optional, tag = "100019")]
7346 pub open_price: ::core::option::Option<f64>,
7347 #[prost(double, optional, tag = "100021")]
7349 pub close_price: ::core::option::Option<f64>,
7350 #[prost(double, optional, tag = "100012")]
7352 pub high_price: ::core::option::Option<f64>,
7353 #[prost(double, optional, tag = "100013")]
7355 pub low_price: ::core::option::Option<f64>,
7356 #[prost(double, optional, tag = "100070")]
7358 pub settlement_price: ::core::option::Option<f64>,
7359 #[prost(bool, optional, tag = "149138")]
7361 pub has_settlement_price: ::core::option::Option<bool>,
7362 #[prost(bool, optional, tag = "154571")]
7364 pub must_clear_settlement_price: ::core::option::Option<bool>,
7365}
7366pub mod time_bar {
7368 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7369 #[repr(i32)]
7370 pub enum BarType {
7371 SecondBar = 1,
7372 MinuteBar = 2,
7373 DailyBar = 3,
7374 WeeklyBar = 4,
7375 }
7376 impl BarType {
7377 pub fn as_str_name(&self) -> &'static str {
7382 match self {
7383 Self::SecondBar => "SECOND_BAR",
7384 Self::MinuteBar => "MINUTE_BAR",
7385 Self::DailyBar => "DAILY_BAR",
7386 Self::WeeklyBar => "WEEKLY_BAR",
7387 }
7388 }
7389 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7391 match value {
7392 "SECOND_BAR" => Some(Self::SecondBar),
7393 "MINUTE_BAR" => Some(Self::MinuteBar),
7394 "DAILY_BAR" => Some(Self::DailyBar),
7395 "WEEKLY_BAR" => Some(Self::WeeklyBar),
7396 _ => None,
7397 }
7398 }
7399 }
7400}
7401#[derive(Clone, PartialEq, ::prost::Message)]
7402pub struct RequestListUnacceptedAgreements {
7403 #[prost(int32, required, tag = "154467")]
7404 pub template_id: i32,
7405 #[prost(string, repeated, tag = "132760")]
7406 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7407}
7408#[derive(Clone, PartialEq, ::prost::Message)]
7409pub struct ResponseListUnacceptedAgreements {
7410 #[prost(int32, required, tag = "154467")]
7411 pub template_id: i32,
7412 #[prost(string, repeated, tag = "132760")]
7413 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7414 #[prost(string, repeated, tag = "132764")]
7415 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7416 #[prost(string, repeated, tag = "132766")]
7417 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7418 #[prost(string, optional, tag = "154013")]
7419 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
7420 #[prost(string, optional, tag = "154014")]
7421 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
7422 #[prost(string, optional, tag = "153406")]
7423 pub agreement_title: ::core::option::Option<::prost::alloc::string::String>,
7424 #[prost(string, optional, tag = "153407")]
7425 pub agreement_id: ::core::option::Option<::prost::alloc::string::String>,
7426 #[prost(string, optional, tag = "153430")]
7427 pub agreement_acceptance_request: ::core::option::Option<::prost::alloc::string::String>,
7428}
7429#[derive(Clone, PartialEq, ::prost::Message)]
7430pub struct RequestListAcceptedAgreements {
7431 #[prost(int32, required, tag = "154467")]
7432 pub template_id: i32,
7433 #[prost(string, repeated, tag = "132760")]
7434 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7435}
7436#[derive(Clone, PartialEq, ::prost::Message)]
7437pub struct ResponseListAcceptedAgreements {
7438 #[prost(int32, required, tag = "154467")]
7439 pub template_id: i32,
7440 #[prost(string, repeated, tag = "132760")]
7441 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7442 #[prost(string, repeated, tag = "132764")]
7443 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7444 #[prost(string, repeated, tag = "132766")]
7445 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7446 #[prost(string, optional, tag = "154013")]
7447 pub fcm_id: ::core::option::Option<::prost::alloc::string::String>,
7448 #[prost(string, optional, tag = "154014")]
7449 pub ib_id: ::core::option::Option<::prost::alloc::string::String>,
7450 #[prost(int32, optional, tag = "153427")]
7451 pub agreement_acceptance_ssboe: ::core::option::Option<i32>,
7452 #[prost(string, optional, tag = "153426")]
7453 pub agreement_acceptance_status: ::core::option::Option<::prost::alloc::string::String>,
7454 #[prost(string, optional, tag = "153430")]
7455 pub agreement_acceptance_request: ::core::option::Option<::prost::alloc::string::String>,
7456 #[prost(string, optional, tag = "153406")]
7457 pub agreement_title: ::core::option::Option<::prost::alloc::string::String>,
7458 #[prost(string, optional, tag = "153407")]
7459 pub agreement_id: ::core::option::Option<::prost::alloc::string::String>,
7460}
7461#[derive(Clone, PartialEq, ::prost::Message)]
7462pub struct RequestAcceptAgreement {
7463 #[prost(int32, required, tag = "154467")]
7464 pub template_id: i32,
7465 #[prost(string, repeated, tag = "132760")]
7466 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7467 #[prost(string, optional, tag = "153407")]
7468 pub agreement_id: ::core::option::Option<::prost::alloc::string::String>,
7469 #[prost(string, optional, tag = "153431")]
7471 pub market_data_usage_capacity: ::core::option::Option<::prost::alloc::string::String>,
7472}
7473#[derive(Clone, PartialEq, ::prost::Message)]
7474pub struct ResponseAcceptAgreement {
7475 #[prost(int32, required, tag = "154467")]
7476 pub template_id: i32,
7477 #[prost(string, repeated, tag = "132760")]
7478 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7479 #[prost(string, repeated, tag = "132766")]
7480 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7481}
7482#[derive(Clone, PartialEq, ::prost::Message)]
7483pub struct RequestSetRithmicMrktDataSelfCertStatus {
7484 #[prost(int32, required, tag = "154467")]
7485 pub template_id: i32,
7486 #[prost(string, repeated, tag = "132760")]
7487 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7488 #[prost(string, optional, tag = "153407")]
7489 pub agreement_id: ::core::option::Option<::prost::alloc::string::String>,
7490 #[prost(string, optional, tag = "153431")]
7491 pub market_data_usage_capacity: ::core::option::Option<::prost::alloc::string::String>,
7492}
7493#[derive(Clone, PartialEq, ::prost::Message)]
7494pub struct ResponseSetRithmicMrktDataSelfCertStatus {
7495 #[prost(int32, required, tag = "154467")]
7496 pub template_id: i32,
7497 #[prost(string, repeated, tag = "132760")]
7498 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7499 #[prost(string, repeated, tag = "132766")]
7500 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7501}
7502#[derive(Clone, PartialEq, ::prost::Message)]
7503pub struct RequestShowAgreement {
7504 #[prost(int32, required, tag = "154467")]
7505 pub template_id: i32,
7506 #[prost(string, repeated, tag = "132760")]
7507 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7508 #[prost(string, optional, tag = "153407")]
7509 pub agreement_id: ::core::option::Option<::prost::alloc::string::String>,
7510}
7511#[derive(Clone, PartialEq, ::prost::Message)]
7512pub struct ResponseShowAgreement {
7513 #[prost(int32, required, tag = "154467")]
7514 pub template_id: i32,
7515 #[prost(string, repeated, tag = "132760")]
7516 pub user_msg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7517 #[prost(string, repeated, tag = "132764")]
7518 pub rq_handler_rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7519 #[prost(string, repeated, tag = "132766")]
7520 pub rp_code: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7521 #[prost(string, optional, tag = "153406")]
7522 pub agreement_title: ::core::option::Option<::prost::alloc::string::String>,
7523 #[prost(string, optional, tag = "153407")]
7524 pub agreement_id: ::core::option::Option<::prost::alloc::string::String>,
7525 #[prost(bytes = "vec", optional, tag = "153405")]
7526 pub agreement: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
7527 #[prost(bytes = "vec", optional, tag = "153432")]
7528 pub agreement_html: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
7529 #[prost(string, optional, tag = "153410")]
7530 pub agreement_mandatory_flag: ::core::option::Option<::prost::alloc::string::String>,
7531 #[prost(string, optional, tag = "153415")]
7532 pub agreement_status: ::core::option::Option<::prost::alloc::string::String>,
7533 #[prost(string, optional, tag = "153430")]
7534 pub agreement_acceptance_request: ::core::option::Option<::prost::alloc::string::String>,
7535}