#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComboLeg {
#[prost(int32, optional, tag = "1")]
pub con_id: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "2")]
pub ratio: ::core::option::Option<i32>,
#[prost(string, optional, tag = "3")]
pub action: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "4")]
pub exchange: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "5")]
pub open_close: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "6")]
pub short_sales_slot: ::core::option::Option<i32>,
#[prost(string, optional, tag = "7")]
pub designated_location: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "8")]
pub exempt_code: ::core::option::Option<i32>,
#[prost(double, optional, tag = "9")]
pub per_leg_price: ::core::option::Option<f64>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DeltaNeutralContract {
#[prost(int32, optional, tag = "1")]
pub con_id: ::core::option::Option<i32>,
#[prost(double, optional, tag = "2")]
pub delta: ::core::option::Option<f64>,
#[prost(double, optional, tag = "3")]
pub price: ::core::option::Option<f64>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Contract {
#[prost(int32, optional, tag = "1")]
pub con_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub symbol: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub sec_type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "4")]
pub last_trade_date_or_contract_month: ::core::option::Option<
::prost::alloc::string::String,
>,
#[prost(double, optional, tag = "5")]
pub strike: ::core::option::Option<f64>,
#[prost(string, optional, tag = "6")]
pub right: ::core::option::Option<::prost::alloc::string::String>,
#[prost(double, optional, tag = "7")]
pub multiplier: ::core::option::Option<f64>,
#[prost(string, optional, tag = "8")]
pub exchange: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "9")]
pub primary_exch: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "10")]
pub currency: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "11")]
pub local_symbol: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "12")]
pub trading_class: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "13")]
pub sec_id_type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "14")]
pub sec_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "15")]
pub description: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "16")]
pub issuer_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "17")]
pub delta_neutral_contract: ::core::option::Option<DeltaNeutralContract>,
#[prost(bool, optional, tag = "18")]
pub include_expired: ::core::option::Option<bool>,
#[prost(string, optional, tag = "19")]
pub combo_legs_descrip: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "20")]
pub combo_legs: ::prost::alloc::vec::Vec<ComboLeg>,
#[prost(string, optional, tag = "21")]
pub last_trade_date: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ScannerParametersRequest {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HistoricalTicksRequest {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(message, optional, tag = "2")]
pub contract: ::core::option::Option<Contract>,
#[prost(string, optional, tag = "3")]
pub start_date_time: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "4")]
pub end_date_time: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "5")]
pub number_of_ticks: ::core::option::Option<i32>,
#[prost(string, optional, tag = "6")]
pub what_to_show: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bool, optional, tag = "7")]
pub use_rth: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "8")]
pub ignore_size: ::core::option::Option<bool>,
#[prost(map = "string, string", tag = "9")]
pub misc_options: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CancelTickByTick {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RerouteMarketDataRequest {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "2")]
pub con_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "3")]
pub exchange: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AutoOpenOrdersRequest {
#[prost(bool, optional, tag = "1")]
pub auto_bind: ::core::option::Option<bool>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TickSnapshotEnd {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AccountUpdateMulti {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub account: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub model_code: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "4")]
pub key: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "5")]
pub value: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "6")]
pub currency: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ApiSettingsConfig {
#[prost(bool, optional, tag = "1")]
pub read_only_api: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "2")]
pub total_quantity_for_mutual_funds: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "3")]
pub download_open_orders_on_connection: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "4")]
pub include_virtual_fx_positions: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "5")]
pub prepare_daily_pn_l: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "6")]
pub send_status_updates_for_volatility_orders: ::core::option::Option<bool>,
#[prost(string, optional, tag = "7")]
pub encode_api_messages: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "8")]
pub socket_port: ::core::option::Option<i32>,
#[prost(bool, optional, tag = "9")]
pub use_negative_auto_range: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "10")]
pub create_api_message_log_file: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "11")]
pub include_market_data_in_log_file: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "12")]
pub expose_trading_schedule_to_api: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "13")]
pub split_insured_deposit_from_cash_balance: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "14")]
pub send_zero_positions_for_today_only: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "15")]
pub let_api_account_requests_switch_subscription: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "16")]
pub use_account_groups_with_allocation_methods: ::core::option::Option<bool>,
#[prost(string, optional, tag = "17")]
pub logging_level: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "18")]
pub master_client_id: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "19")]
pub bulk_data_timeout: ::core::option::Option<i32>,
#[prost(string, optional, tag = "20")]
pub component_exch_separator: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bool, optional, tag = "21")]
pub show_forex_data_in1_10pips: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "22")]
pub allow_forex_trading_in1_10pips: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "23")]
pub round_account_values_to_nearest_whole_number: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "24")]
pub send_market_data_in_lots_for_us_stocks: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "25")]
pub show_advanced_order_reject_in_ui: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "26")]
pub reject_messages_above_max_rate: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "27")]
pub maintain_connection_on_incorrect_fields: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "28")]
pub compatibility_mode_nasdaq_stocks: ::core::option::Option<bool>,
#[prost(string, optional, tag = "29")]
pub send_instrument_timezone: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bool, optional, tag = "30")]
pub send_forex_data_in_compatibility_mode: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "31")]
pub maintain_and_resubmit_orders_on_reconnect: ::core::option::Option<bool>,
#[prost(int32, optional, tag = "32")]
pub historical_data_max_size: ::core::option::Option<i32>,
#[prost(bool, optional, tag = "33")]
pub auto_report_netting_event_contract_trades: ::core::option::Option<bool>,
#[prost(string, optional, tag = "34")]
pub option_exercise_request_type: ::core::option::Option<
::prost::alloc::string::String,
>,
#[prost(bool, optional, tag = "35")]
pub allow_localhost_only: ::core::option::Option<bool>,
#[prost(string, repeated, tag = "36")]
pub trusted_i_ps: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CancelAccountUpdatesMulti {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct NewsProvidersRequest {}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TickOptionComputation {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "2")]
pub tick_type: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "3")]
pub tick_attrib: ::core::option::Option<i32>,
#[prost(double, optional, tag = "4")]
pub implied_vol: ::core::option::Option<f64>,
#[prost(double, optional, tag = "5")]
pub delta: ::core::option::Option<f64>,
#[prost(double, optional, tag = "6")]
pub opt_price: ::core::option::Option<f64>,
#[prost(double, optional, tag = "7")]
pub pv_dividend: ::core::option::Option<f64>,
#[prost(double, optional, tag = "8")]
pub gamma: ::core::option::Option<f64>,
#[prost(double, optional, tag = "9")]
pub vega: ::core::option::Option<f64>,
#[prost(double, optional, tag = "10")]
pub theta: ::core::option::Option<f64>,
#[prost(double, optional, tag = "11")]
pub und_price: ::core::option::Option<f64>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UserInfoRequest {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CurrentTimeInMillis {
#[prost(int64, optional, tag = "1")]
pub current_time_in_millis: ::core::option::Option<i64>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AccountValue {
#[prost(string, optional, tag = "1")]
pub key: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "2")]
pub value: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub currency: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "4")]
pub account_name: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct OpenOrdersRequest {}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CancelCalculateImpliedVolatility {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ExecutionFilter {
#[prost(int32, optional, tag = "1")]
pub client_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub acct_code: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub time: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "4")]
pub symbol: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "5")]
pub sec_type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "6")]
pub exchange: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "7")]
pub side: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "8")]
pub last_n_days: ::core::option::Option<i32>,
#[prost(int32, repeated, tag = "9")]
pub specific_dates: ::prost::alloc::vec::Vec<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CalculateImpliedVolatilityRequest {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(message, optional, tag = "2")]
pub contract: ::core::option::Option<Contract>,
#[prost(double, optional, tag = "3")]
pub option_price: ::core::option::Option<f64>,
#[prost(double, optional, tag = "4")]
pub under_price: ::core::option::Option<f64>,
#[prost(map = "string, string", tag = "5")]
pub implied_volatility_options: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CommissionAndFeesReport {
#[prost(string, optional, tag = "1")]
pub exec_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(double, optional, tag = "2")]
pub commission_and_fees: ::core::option::Option<f64>,
#[prost(string, optional, tag = "3")]
pub currency: ::core::option::Option<::prost::alloc::string::String>,
#[prost(double, optional, tag = "4")]
pub realized_pnl: ::core::option::Option<f64>,
#[prost(double, optional, tag = "5")]
pub bond_yield: ::core::option::Option<f64>,
#[prost(string, optional, tag = "6")]
pub yield_redemption_date: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CurrentTimeRequest {}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AccountSummary {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub account: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub tag: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "4")]
pub value: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "5")]
pub currency: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PositionMultiEnd {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ConfigRequest {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TickAttribBidAsk {
#[prost(bool, optional, tag = "1")]
pub bid_past_low: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "2")]
pub ask_past_high: ::core::option::Option<bool>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HistoricalTickBidAsk {
#[prost(int64, optional, tag = "1")]
pub time: ::core::option::Option<i64>,
#[prost(message, optional, tag = "2")]
pub tick_attrib_bid_ask: ::core::option::Option<TickAttribBidAsk>,
#[prost(double, optional, tag = "3")]
pub price_bid: ::core::option::Option<f64>,
#[prost(double, optional, tag = "4")]
pub price_ask: ::core::option::Option<f64>,
#[prost(string, optional, tag = "5")]
pub size_bid: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "6")]
pub size_ask: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HistoricalTicksBidAsk {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(message, repeated, tag = "2")]
pub historical_ticks_bid_ask: ::prost::alloc::vec::Vec<HistoricalTickBidAsk>,
#[prost(bool, optional, tag = "3")]
pub is_done: ::core::option::Option<bool>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CancelRealTimeBars {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TickGeneric {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "2")]
pub tick_type: ::core::option::Option<i32>,
#[prost(double, optional, tag = "3")]
pub value: ::core::option::Option<f64>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ApiPrecautionsConfig {
#[prost(bool, optional, tag = "1")]
pub bypass_order_precautions: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "2")]
pub bypass_bond_warning: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "3")]
pub bypass_negative_yield_confirmation: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "4")]
pub bypass_called_bond_warning: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "5")]
pub bypass_same_action_pair_trade_warning: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "6")]
pub bypass_flagged_accounts_warning: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "7")]
pub bypass_price_based_volatility_warning: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "8")]
pub bypass_redirect_order_warning: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "9")]
pub bypass_no_overfill_protection: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "10")]
pub bypass_route_marketable_to_bbo: ::core::option::Option<bool>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ApiConfig {
#[prost(message, optional, tag = "1")]
pub precautions: ::core::option::Option<ApiPrecautionsConfig>,
#[prost(message, optional, tag = "2")]
pub settings: ::core::option::Option<ApiSettingsConfig>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ExecutionRequest {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(message, optional, tag = "2")]
pub execution_filter: ::core::option::Option<ExecutionFilter>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct OpenOrdersEnd {}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ContractDataEnd {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HistogramDataEntry {
#[prost(double, optional, tag = "1")]
pub price: ::core::option::Option<f64>,
#[prost(string, optional, tag = "2")]
pub size: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HistogramData {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(message, repeated, tag = "2")]
pub histogram_data_entries: ::prost::alloc::vec::Vec<HistogramDataEntry>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct WshMetaDataRequest {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ErrorMessage {
#[prost(int32, optional, tag = "1")]
pub id: ::core::option::Option<i32>,
#[prost(int64, optional, tag = "2")]
pub error_time: ::core::option::Option<i64>,
#[prost(int32, optional, tag = "3")]
pub error_code: ::core::option::Option<i32>,
#[prost(string, optional, tag = "4")]
pub error_msg: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "5")]
pub advanced_order_reject_json: ::core::option::Option<
::prost::alloc::string::String,
>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ScannerSubscription {
#[prost(int32, optional, tag = "1")]
pub number_of_rows: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub instrument: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub location_code: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "4")]
pub scan_code: ::core::option::Option<::prost::alloc::string::String>,
#[prost(double, optional, tag = "5")]
pub above_price: ::core::option::Option<f64>,
#[prost(double, optional, tag = "6")]
pub below_price: ::core::option::Option<f64>,
#[prost(int64, optional, tag = "7")]
pub above_volume: ::core::option::Option<i64>,
#[prost(double, optional, tag = "8")]
pub market_cap_above: ::core::option::Option<f64>,
#[prost(double, optional, tag = "9")]
pub market_cap_below: ::core::option::Option<f64>,
#[prost(string, optional, tag = "10")]
pub moody_rating_above: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "11")]
pub moody_rating_below: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "12")]
pub sp_rating_above: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "13")]
pub sp_rating_below: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "14")]
pub maturity_date_above: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "15")]
pub maturity_date_below: ::core::option::Option<::prost::alloc::string::String>,
#[prost(double, optional, tag = "16")]
pub coupon_rate_above: ::core::option::Option<f64>,
#[prost(double, optional, tag = "17")]
pub coupon_rate_below: ::core::option::Option<f64>,
#[prost(bool, optional, tag = "18")]
pub exclude_convertible: ::core::option::Option<bool>,
#[prost(int64, optional, tag = "19")]
pub average_option_volume_above: ::core::option::Option<i64>,
#[prost(string, optional, tag = "20")]
pub scanner_setting_pairs: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "21")]
pub stock_type_filter: ::core::option::Option<::prost::alloc::string::String>,
#[prost(map = "string, string", tag = "22")]
pub scanner_subscription_filter_options: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(map = "string, string", tag = "23")]
pub scanner_subscription_options: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ManagedAccountsRequest {}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct HistoricalNews {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub time: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub provider_code: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "4")]
pub article_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "5")]
pub headline: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct VerifyRequest {
#[prost(string, optional, tag = "1")]
pub api_name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "2")]
pub api_version: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct HistoricalNewsEnd {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(bool, optional, tag = "2")]
pub has_more: ::core::option::Option<bool>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AccountUpdateMultiEnd {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SmartComponentsRequest {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub bbo_exchange: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FamilyCodesRequest {}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ExecutionDetailsEnd {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeadTimestampRequest {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(message, optional, tag = "2")]
pub contract: ::core::option::Option<Contract>,
#[prost(bool, optional, tag = "3")]
pub use_rth: ::core::option::Option<bool>,
#[prost(string, optional, tag = "4")]
pub what_to_show: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "5")]
pub format_date: ::core::option::Option<i32>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TickAttribLast {
#[prost(bool, optional, tag = "1")]
pub past_limit: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "2")]
pub unreported: ::core::option::Option<bool>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HistoricalTickLast {
#[prost(int64, optional, tag = "1")]
pub time: ::core::option::Option<i64>,
#[prost(message, optional, tag = "2")]
pub tick_attrib_last: ::core::option::Option<TickAttribLast>,
#[prost(double, optional, tag = "3")]
pub price: ::core::option::Option<f64>,
#[prost(string, optional, tag = "4")]
pub size: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "5")]
pub exchange: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "6")]
pub special_conditions: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HistoricalTick {
#[prost(int64, optional, tag = "1")]
pub time: ::core::option::Option<i64>,
#[prost(double, optional, tag = "2")]
pub price: ::core::option::Option<f64>,
#[prost(string, optional, tag = "3")]
pub size: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TickByTickData {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "2")]
pub tick_type: ::core::option::Option<i32>,
#[prost(oneof = "tick_by_tick_data::Tick", tags = "3, 4, 5")]
pub tick: ::core::option::Option<tick_by_tick_data::Tick>,
}
pub mod tick_by_tick_data {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Tick {
#[prost(message, tag = "3")]
HistoricalTickLast(super::HistoricalTickLast),
#[prost(message, tag = "4")]
HistoricalTickBidAsk(super::HistoricalTickBidAsk),
#[prost(message, tag = "5")]
HistoricalTickMidPoint(super::HistoricalTick),
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SecDefOptParamsRequest {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub underlying_symbol: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub fut_fop_exchange: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "4")]
pub underlying_sec_type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "5")]
pub underlying_con_id: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct OrderCancel {
#[prost(string, optional, tag = "1")]
pub manual_order_cancel_time: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "2")]
pub ext_operator: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "3")]
pub manual_order_indicator: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CancelOrderRequest {
#[prost(int32, optional, tag = "1")]
pub order_id: ::core::option::Option<i32>,
#[prost(message, optional, tag = "2")]
pub order_cancel: ::core::option::Option<OrderCancel>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PnLSingle {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub position: ::core::option::Option<::prost::alloc::string::String>,
#[prost(double, optional, tag = "3")]
pub daily_pn_l: ::core::option::Option<f64>,
#[prost(double, optional, tag = "4")]
pub unrealized_pn_l: ::core::option::Option<f64>,
#[prost(double, optional, tag = "5")]
pub realized_pn_l: ::core::option::Option<f64>,
#[prost(double, optional, tag = "6")]
pub value: ::core::option::Option<f64>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AttachedOrders {
#[prost(int32, optional, tag = "1")]
pub sl_order_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub sl_order_type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "3")]
pub pt_order_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "4")]
pub pt_order_type: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CancelMarketDepth {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(bool, optional, tag = "2")]
pub is_smart_depth: ::core::option::Option<bool>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AccountSummaryRequest {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub group: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub tags: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct HistoricalDataEnd {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub start_date_str: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub end_date_str: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TickPrice {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "2")]
pub tick_type: ::core::option::Option<i32>,
#[prost(double, optional, tag = "3")]
pub price: ::core::option::Option<f64>,
#[prost(string, optional, tag = "4")]
pub size: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "5")]
pub attr_mask: ::core::option::Option<i32>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct IdsRequest {
#[prost(int32, optional, tag = "1")]
pub num_ids: ::core::option::Option<i32>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CancelHistoricalData {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Position {
#[prost(string, optional, tag = "1")]
pub account: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "2")]
pub contract: ::core::option::Option<Contract>,
#[prost(string, optional, tag = "3")]
pub position: ::core::option::Option<::prost::alloc::string::String>,
#[prost(double, optional, tag = "4")]
pub avg_cost: ::core::option::Option<f64>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FundamentalsData {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub data: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PositionsRequest {}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CompletedOrdersRequest {
#[prost(bool, optional, tag = "1")]
pub api_only: ::core::option::Option<bool>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarketDepthData {
#[prost(int32, optional, tag = "1")]
pub position: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "2")]
pub operation: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "3")]
pub side: ::core::option::Option<i32>,
#[prost(double, optional, tag = "4")]
pub price: ::core::option::Option<f64>,
#[prost(string, optional, tag = "5")]
pub size: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "6")]
pub market_maker: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bool, optional, tag = "7")]
pub is_smart_depth: ::core::option::Option<bool>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ContractDescription {
#[prost(message, optional, tag = "1")]
pub contract: ::core::option::Option<Contract>,
#[prost(string, repeated, tag = "2")]
pub derivative_sec_types: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GlobalCancelRequest {
#[prost(message, optional, tag = "1")]
pub order_cancel: ::core::option::Option<OrderCancel>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HistoricalNewsRequest {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "2")]
pub con_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "3")]
pub provider_codes: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "4")]
pub start_date_time: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "5")]
pub end_date_time: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "6")]
pub total_results: ::core::option::Option<i32>,
#[prost(map = "string, string", tag = "7")]
pub historical_news_options: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MarketDataType {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "2")]
pub market_data_type: ::core::option::Option<i32>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CancelHistoricalTicks {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct VerifyMessageRequest {
#[prost(string, optional, tag = "1")]
pub api_data: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SmartComponent {
#[prost(int32, optional, tag = "1")]
pub bit_number: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub exchange: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub exchange_letter: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MarketDataTypeRequest {
#[prost(int32, optional, tag = "1")]
pub market_data_type: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DepthMarketDataDescription {
#[prost(string, optional, tag = "1")]
pub exchange: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "2")]
pub sec_type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub listing_exch: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "4")]
pub service_data_type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "5")]
pub agg_group: ::core::option::Option<i32>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CancelMarketData {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SoftDollarTiersRequest {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct OrdersSmartRoutingConfig {
#[prost(bool, optional, tag = "1")]
pub seek_price_improvement: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "2")]
pub pre_open_reroute: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "3")]
pub do_not_route_to_dark_pools: ::core::option::Option<bool>,
#[prost(string, optional, tag = "4")]
pub default_algorithm: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct OrdersConfig {
#[prost(message, optional, tag = "1")]
pub smart_routing: ::core::option::Option<OrdersSmartRoutingConfig>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OrderCondition {
#[prost(int32, optional, tag = "1")]
pub r#type: ::core::option::Option<i32>,
#[prost(bool, optional, tag = "2")]
pub is_conjunction_connection: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "3")]
pub is_more: ::core::option::Option<bool>,
#[prost(int32, optional, tag = "4")]
pub con_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "5")]
pub exchange: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "6")]
pub symbol: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "7")]
pub sec_type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "8")]
pub percent: ::core::option::Option<i32>,
#[prost(double, optional, tag = "9")]
pub change_percent: ::core::option::Option<f64>,
#[prost(double, optional, tag = "10")]
pub price: ::core::option::Option<f64>,
#[prost(int32, optional, tag = "11")]
pub trigger_method: ::core::option::Option<i32>,
#[prost(string, optional, tag = "12")]
pub time: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "13")]
pub volume: ::core::option::Option<i32>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CancelFundamentalsData {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HistoricalTicksLast {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(message, repeated, tag = "2")]
pub historical_ticks_last: ::prost::alloc::vec::Vec<HistoricalTickLast>,
#[prost(bool, optional, tag = "3")]
pub is_done: ::core::option::Option<bool>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HistoricalDataBar {
#[prost(string, optional, tag = "1")]
pub date: ::core::option::Option<::prost::alloc::string::String>,
#[prost(double, optional, tag = "2")]
pub open: ::core::option::Option<f64>,
#[prost(double, optional, tag = "3")]
pub high: ::core::option::Option<f64>,
#[prost(double, optional, tag = "4")]
pub low: ::core::option::Option<f64>,
#[prost(double, optional, tag = "5")]
pub close: ::core::option::Option<f64>,
#[prost(string, optional, tag = "6")]
pub volume: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "7")]
pub wap: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "8")]
pub bar_count: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HistoricalDataUpdate {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(message, optional, tag = "2")]
pub historical_data_bar: ::core::option::Option<HistoricalDataBar>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarketDepthRequest {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(message, optional, tag = "2")]
pub contract: ::core::option::Option<Contract>,
#[prost(int32, optional, tag = "3")]
pub num_rows: ::core::option::Option<i32>,
#[prost(bool, optional, tag = "4")]
pub is_smart_depth: ::core::option::Option<bool>,
#[prost(map = "string, string", tag = "5")]
pub market_depth_options: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HistoricalTicks {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(message, repeated, tag = "2")]
pub historical_ticks: ::prost::alloc::vec::Vec<HistoricalTick>,
#[prost(bool, optional, tag = "3")]
pub is_done: ::core::option::Option<bool>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SoftDollarTier {
#[prost(string, optional, tag = "1")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "2")]
pub value: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub display_name: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Order {
#[prost(int32, optional, tag = "1")]
pub client_id: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "2")]
pub order_id: ::core::option::Option<i32>,
#[prost(int64, optional, tag = "3")]
pub perm_id: ::core::option::Option<i64>,
#[prost(int32, optional, tag = "4")]
pub parent_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "5")]
pub action: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "6")]
pub total_quantity: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "7")]
pub display_size: ::core::option::Option<i32>,
#[prost(string, optional, tag = "8")]
pub order_type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(double, optional, tag = "9")]
pub lmt_price: ::core::option::Option<f64>,
#[prost(double, optional, tag = "10")]
pub aux_price: ::core::option::Option<f64>,
#[prost(string, optional, tag = "11")]
pub tif: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "12")]
pub account: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "13")]
pub settling_firm: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "14")]
pub clearing_account: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "15")]
pub clearing_intent: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bool, optional, tag = "16")]
pub all_or_none: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "17")]
pub block_order: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "18")]
pub hidden: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "19")]
pub outside_rth: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "20")]
pub sweep_to_fill: ::core::option::Option<bool>,
#[prost(double, optional, tag = "21")]
pub percent_offset: ::core::option::Option<f64>,
#[prost(double, optional, tag = "22")]
pub trailing_percent: ::core::option::Option<f64>,
#[prost(double, optional, tag = "23")]
pub trail_stop_price: ::core::option::Option<f64>,
#[prost(int32, optional, tag = "24")]
pub min_qty: ::core::option::Option<i32>,
#[prost(string, optional, tag = "25")]
pub good_after_time: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "26")]
pub good_till_date: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "27")]
pub oca_group: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "28")]
pub order_ref: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "29")]
pub rule80_a: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "30")]
pub oca_type: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "31")]
pub trigger_method: ::core::option::Option<i32>,
#[prost(string, optional, tag = "32")]
pub active_start_time: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "33")]
pub active_stop_time: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "34")]
pub fa_group: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "35")]
pub fa_method: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "36")]
pub fa_percentage: ::core::option::Option<::prost::alloc::string::String>,
#[prost(double, optional, tag = "37")]
pub volatility: ::core::option::Option<f64>,
#[prost(int32, optional, tag = "38")]
pub volatility_type: ::core::option::Option<i32>,
#[prost(bool, optional, tag = "39")]
pub continuous_update: ::core::option::Option<bool>,
#[prost(int32, optional, tag = "40")]
pub reference_price_type: ::core::option::Option<i32>,
#[prost(string, optional, tag = "41")]
pub delta_neutral_order_type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(double, optional, tag = "42")]
pub delta_neutral_aux_price: ::core::option::Option<f64>,
#[prost(int32, optional, tag = "43")]
pub delta_neutral_con_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "44")]
pub delta_neutral_open_close: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bool, optional, tag = "45")]
pub delta_neutral_short_sale: ::core::option::Option<bool>,
#[prost(int32, optional, tag = "46")]
pub delta_neutral_short_sale_slot: ::core::option::Option<i32>,
#[prost(string, optional, tag = "47")]
pub delta_neutral_designated_location: ::core::option::Option<
::prost::alloc::string::String,
>,
#[prost(int32, optional, tag = "48")]
pub scale_init_level_size: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "49")]
pub scale_subs_level_size: ::core::option::Option<i32>,
#[prost(double, optional, tag = "50")]
pub scale_price_increment: ::core::option::Option<f64>,
#[prost(double, optional, tag = "51")]
pub scale_price_adjust_value: ::core::option::Option<f64>,
#[prost(int32, optional, tag = "52")]
pub scale_price_adjust_interval: ::core::option::Option<i32>,
#[prost(double, optional, tag = "53")]
pub scale_profit_offset: ::core::option::Option<f64>,
#[prost(bool, optional, tag = "54")]
pub scale_auto_reset: ::core::option::Option<bool>,
#[prost(int32, optional, tag = "55")]
pub scale_init_position: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "56")]
pub scale_init_fill_qty: ::core::option::Option<i32>,
#[prost(bool, optional, tag = "57")]
pub scale_random_percent: ::core::option::Option<bool>,
#[prost(string, optional, tag = "58")]
pub scale_table: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "59")]
pub hedge_type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "60")]
pub hedge_param: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "61")]
pub algo_strategy: ::core::option::Option<::prost::alloc::string::String>,
#[prost(map = "string, string", tag = "62")]
pub algo_params: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(string, optional, tag = "63")]
pub algo_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(map = "string, string", tag = "64")]
pub smart_combo_routing_params: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(bool, optional, tag = "65")]
pub what_if: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "66")]
pub transmit: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "67")]
pub override_percentage_constraints: ::core::option::Option<bool>,
#[prost(string, optional, tag = "68")]
pub open_close: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "69")]
pub origin: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "70")]
pub short_sale_slot: ::core::option::Option<i32>,
#[prost(string, optional, tag = "71")]
pub designated_location: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "72")]
pub exempt_code: ::core::option::Option<i32>,
#[prost(string, optional, tag = "73")]
pub delta_neutral_settling_firm: ::core::option::Option<
::prost::alloc::string::String,
>,
#[prost(string, optional, tag = "74")]
pub delta_neutral_clearing_account: ::core::option::Option<
::prost::alloc::string::String,
>,
#[prost(string, optional, tag = "75")]
pub delta_neutral_clearing_intent: ::core::option::Option<
::prost::alloc::string::String,
>,
#[prost(double, optional, tag = "76")]
pub discretionary_amt: ::core::option::Option<f64>,
#[prost(bool, optional, tag = "77")]
pub opt_out_smart_routing: ::core::option::Option<bool>,
#[prost(double, optional, tag = "78")]
pub starting_price: ::core::option::Option<f64>,
#[prost(double, optional, tag = "79")]
pub stock_ref_price: ::core::option::Option<f64>,
#[prost(double, optional, tag = "80")]
pub delta: ::core::option::Option<f64>,
#[prost(double, optional, tag = "81")]
pub stock_range_lower: ::core::option::Option<f64>,
#[prost(double, optional, tag = "82")]
pub stock_range_upper: ::core::option::Option<f64>,
#[prost(bool, optional, tag = "83")]
pub not_held: ::core::option::Option<bool>,
#[prost(map = "string, string", tag = "84")]
pub order_misc_options: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(bool, optional, tag = "85")]
pub solicited: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "86")]
pub randomize_size: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "87")]
pub randomize_price: ::core::option::Option<bool>,
#[prost(int32, optional, tag = "88")]
pub reference_contract_id: ::core::option::Option<i32>,
#[prost(double, optional, tag = "89")]
pub pegged_change_amount: ::core::option::Option<f64>,
#[prost(bool, optional, tag = "90")]
pub is_pegged_change_amount_decrease: ::core::option::Option<bool>,
#[prost(double, optional, tag = "91")]
pub reference_change_amount: ::core::option::Option<f64>,
#[prost(string, optional, tag = "92")]
pub reference_exchange_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "93")]
pub adjusted_order_type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(double, optional, tag = "94")]
pub trigger_price: ::core::option::Option<f64>,
#[prost(double, optional, tag = "95")]
pub adjusted_stop_price: ::core::option::Option<f64>,
#[prost(double, optional, tag = "96")]
pub adjusted_stop_limit_price: ::core::option::Option<f64>,
#[prost(double, optional, tag = "97")]
pub adjusted_trailing_amount: ::core::option::Option<f64>,
#[prost(int32, optional, tag = "98")]
pub adjustable_trailing_unit: ::core::option::Option<i32>,
#[prost(double, optional, tag = "99")]
pub lmt_price_offset: ::core::option::Option<f64>,
#[prost(message, repeated, tag = "100")]
pub conditions: ::prost::alloc::vec::Vec<OrderCondition>,
#[prost(bool, optional, tag = "101")]
pub conditions_cancel_order: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "102")]
pub conditions_ignore_rth: ::core::option::Option<bool>,
#[prost(string, optional, tag = "103")]
pub model_code: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "104")]
pub ext_operator: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "105")]
pub soft_dollar_tier: ::core::option::Option<SoftDollarTier>,
#[prost(double, optional, tag = "106")]
pub cash_qty: ::core::option::Option<f64>,
#[prost(string, optional, tag = "107")]
pub mifid2_decision_maker: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "108")]
pub mifid2_decision_algo: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "109")]
pub mifid2_execution_trader: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "110")]
pub mifid2_execution_algo: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bool, optional, tag = "111")]
pub dont_use_auto_price_for_hedge: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "112")]
pub is_oms_container: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "113")]
pub discretionary_up_to_limit_price: ::core::option::Option<bool>,
#[prost(string, optional, tag = "114")]
pub auto_cancel_date: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "115")]
pub filled_quantity: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "116")]
pub ref_futures_con_id: ::core::option::Option<i32>,
#[prost(bool, optional, tag = "117")]
pub auto_cancel_parent: ::core::option::Option<bool>,
#[prost(string, optional, tag = "118")]
pub shareholder: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bool, optional, tag = "119")]
pub imbalance_only: ::core::option::Option<bool>,
#[prost(int32, optional, tag = "120")]
pub route_marketable_to_bbo: ::core::option::Option<i32>,
#[prost(int64, optional, tag = "121")]
pub parent_perm_id: ::core::option::Option<i64>,
#[prost(int32, optional, tag = "122")]
pub use_price_mgmt_algo: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "123")]
pub duration: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "124")]
pub post_to_ats: ::core::option::Option<i32>,
#[prost(string, optional, tag = "125")]
pub advanced_error_override: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "126")]
pub manual_order_time: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "127")]
pub min_trade_qty: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "128")]
pub min_compete_size: ::core::option::Option<i32>,
#[prost(double, optional, tag = "129")]
pub compete_against_best_offset: ::core::option::Option<f64>,
#[prost(double, optional, tag = "130")]
pub mid_offset_at_whole: ::core::option::Option<f64>,
#[prost(double, optional, tag = "131")]
pub mid_offset_at_half: ::core::option::Option<f64>,
#[prost(string, optional, tag = "132")]
pub customer_account: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bool, optional, tag = "133")]
pub professional_customer: ::core::option::Option<bool>,
#[prost(string, optional, tag = "134")]
pub bond_accrued_interest: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bool, optional, tag = "135")]
pub include_overnight: ::core::option::Option<bool>,
#[prost(int32, optional, tag = "136")]
pub manual_order_indicator: ::core::option::Option<i32>,
#[prost(string, optional, tag = "137")]
pub submitter: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bool, optional, tag = "138")]
pub deactivate: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "139")]
pub post_only: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "140")]
pub allow_pre_open: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "141")]
pub ignore_open_auction: ::core::option::Option<bool>,
#[prost(int32, optional, tag = "142")]
pub seek_price_improvement: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "143")]
pub what_if_type: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct OrderAllocation {
#[prost(string, optional, tag = "1")]
pub account: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "2")]
pub position: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub position_desired: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "4")]
pub position_after: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "5")]
pub desired_alloc_qty: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "6")]
pub allowed_alloc_qty: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bool, optional, tag = "7")]
pub is_monetary: ::core::option::Option<bool>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OrderState {
#[prost(string, optional, tag = "1")]
pub status: ::core::option::Option<::prost::alloc::string::String>,
#[prost(double, optional, tag = "2")]
pub init_margin_before: ::core::option::Option<f64>,
#[prost(double, optional, tag = "3")]
pub maint_margin_before: ::core::option::Option<f64>,
#[prost(double, optional, tag = "4")]
pub equity_with_loan_before: ::core::option::Option<f64>,
#[prost(double, optional, tag = "5")]
pub init_margin_change: ::core::option::Option<f64>,
#[prost(double, optional, tag = "6")]
pub maint_margin_change: ::core::option::Option<f64>,
#[prost(double, optional, tag = "7")]
pub equity_with_loan_change: ::core::option::Option<f64>,
#[prost(double, optional, tag = "8")]
pub init_margin_after: ::core::option::Option<f64>,
#[prost(double, optional, tag = "9")]
pub maint_margin_after: ::core::option::Option<f64>,
#[prost(double, optional, tag = "10")]
pub equity_with_loan_after: ::core::option::Option<f64>,
#[prost(double, optional, tag = "11")]
pub commission_and_fees: ::core::option::Option<f64>,
#[prost(double, optional, tag = "12")]
pub min_commission_and_fees: ::core::option::Option<f64>,
#[prost(double, optional, tag = "13")]
pub max_commission_and_fees: ::core::option::Option<f64>,
#[prost(string, optional, tag = "14")]
pub commission_and_fees_currency: ::core::option::Option<
::prost::alloc::string::String,
>,
#[prost(string, optional, tag = "15")]
pub margin_currency: ::core::option::Option<::prost::alloc::string::String>,
#[prost(double, optional, tag = "16")]
pub init_margin_before_outside_rth: ::core::option::Option<f64>,
#[prost(double, optional, tag = "17")]
pub maint_margin_before_outside_rth: ::core::option::Option<f64>,
#[prost(double, optional, tag = "18")]
pub equity_with_loan_before_outside_rth: ::core::option::Option<f64>,
#[prost(double, optional, tag = "19")]
pub init_margin_change_outside_rth: ::core::option::Option<f64>,
#[prost(double, optional, tag = "20")]
pub maint_margin_change_outside_rth: ::core::option::Option<f64>,
#[prost(double, optional, tag = "21")]
pub equity_with_loan_change_outside_rth: ::core::option::Option<f64>,
#[prost(double, optional, tag = "22")]
pub init_margin_after_outside_rth: ::core::option::Option<f64>,
#[prost(double, optional, tag = "23")]
pub maint_margin_after_outside_rth: ::core::option::Option<f64>,
#[prost(double, optional, tag = "24")]
pub equity_with_loan_after_outside_rth: ::core::option::Option<f64>,
#[prost(string, optional, tag = "25")]
pub suggested_size: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "26")]
pub reject_reason: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "27")]
pub order_allocations: ::prost::alloc::vec::Vec<OrderAllocation>,
#[prost(string, optional, tag = "28")]
pub warning_text: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "29")]
pub completed_time: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "30")]
pub completed_status: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OpenOrder {
#[prost(int32, optional, tag = "1")]
pub order_id: ::core::option::Option<i32>,
#[prost(message, optional, tag = "2")]
pub contract: ::core::option::Option<Contract>,
#[prost(message, optional, tag = "3")]
pub order: ::core::option::Option<Order>,
#[prost(message, optional, tag = "4")]
pub order_state: ::core::option::Option<OrderState>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ScannerSubscriptionRequest {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(message, optional, tag = "2")]
pub scanner_subscription: ::core::option::Option<ScannerSubscription>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct NewsBulletin {
#[prost(int32, optional, tag = "1")]
pub news_msg_id: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "2")]
pub news_msg_type: ::core::option::Option<i32>,
#[prost(string, optional, tag = "3")]
pub news_message: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "4")]
pub originating_exch: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CancelScannerSubscription {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct IneligibilityReason {
#[prost(string, optional, tag = "1")]
pub id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "2")]
pub description: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct NewsProvider {
#[prost(string, optional, tag = "1")]
pub provider_code: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "2")]
pub provider_name: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MarketRuleRequest {
#[prost(int32, optional, tag = "1")]
pub market_rule_id: ::core::option::Option<i32>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CancelNewsBulletins {}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CancelHistogramData {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FundamentalsDataRequest {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(message, optional, tag = "2")]
pub contract: ::core::option::Option<Contract>,
#[prost(string, optional, tag = "3")]
pub report_type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(map = "string, string", tag = "4")]
pub fundamentals_data_options: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CancelPnL {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TickString {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "2")]
pub tick_type: ::core::option::Option<i32>,
#[prost(string, optional, tag = "3")]
pub value: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarketDepth {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(message, optional, tag = "2")]
pub market_depth_data: ::core::option::Option<MarketDepthData>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarketDepthL2 {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(message, optional, tag = "2")]
pub market_depth_data: ::core::option::Option<MarketDepthData>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AccountDataEnd {
#[prost(string, optional, tag = "1")]
pub account_name: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OrderStatus {
#[prost(int32, optional, tag = "1")]
pub order_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub status: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub filled: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "4")]
pub remaining: ::core::option::Option<::prost::alloc::string::String>,
#[prost(double, optional, tag = "5")]
pub avg_fill_price: ::core::option::Option<f64>,
#[prost(int64, optional, tag = "6")]
pub perm_id: ::core::option::Option<i64>,
#[prost(int32, optional, tag = "7")]
pub parent_id: ::core::option::Option<i32>,
#[prost(double, optional, tag = "8")]
pub last_fill_price: ::core::option::Option<f64>,
#[prost(int32, optional, tag = "9")]
pub client_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "10")]
pub why_held: ::core::option::Option<::prost::alloc::string::String>,
#[prost(double, optional, tag = "11")]
pub mkt_cap_price: ::core::option::Option<f64>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SymbolSamples {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(message, repeated, tag = "2")]
pub contract_descriptions: ::prost::alloc::vec::Vec<ContractDescription>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CancelPnLSingle {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CancelContractData {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CancelAccountSummary {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CancelCalculateOptionPrice {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SecDefOptParameterEnd {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct HeadTimestamp {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub head_timestamp: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AccountUpdateTime {
#[prost(string, optional, tag = "1")]
pub time_stamp: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CompletedOrder {
#[prost(message, optional, tag = "1")]
pub contract: ::core::option::Option<Contract>,
#[prost(message, optional, tag = "2")]
pub order: ::core::option::Option<Order>,
#[prost(message, optional, tag = "3")]
pub order_state: ::core::option::Option<OrderState>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MessageConfig {
#[prost(int32, optional, tag = "1")]
pub id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub title: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub message: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "4")]
pub default_action: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bool, optional, tag = "5")]
pub enabled: ::core::option::Option<bool>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CurrentTime {
#[prost(int64, optional, tag = "1")]
pub current_time: ::core::option::Option<i64>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FaRequest {
#[prost(int32, optional, tag = "1")]
pub fa_data_type: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UserInfo {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub white_branding_id: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TickReqParams {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub min_tick: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub bbo_exchange: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "4")]
pub snapshot_permissions: ::core::option::Option<i32>,
#[prost(string, optional, tag = "5")]
pub last_price_precision: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "6")]
pub last_size_precision: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ReceiveFa {
#[prost(int32, optional, tag = "1")]
pub fa_data_type: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub xml: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LockAndExitConfig {
#[prost(string, optional, tag = "1")]
pub auto_logoff_time: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "2")]
pub auto_logoff_period: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub auto_logoff_type: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConfigResponse {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(message, optional, tag = "2")]
pub lock_and_exit: ::core::option::Option<LockAndExitConfig>,
#[prost(message, repeated, tag = "3")]
pub messages: ::prost::alloc::vec::Vec<MessageConfig>,
#[prost(message, optional, tag = "4")]
pub api: ::core::option::Option<ApiConfig>,
#[prost(message, optional, tag = "5")]
pub orders: ::core::option::Option<OrdersConfig>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CancelWshMetaData {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TickNews {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(int64, optional, tag = "2")]
pub timestamp: ::core::option::Option<i64>,
#[prost(string, optional, tag = "3")]
pub provider_code: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "4")]
pub article_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "5")]
pub headline: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "6")]
pub extra_data: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RealTimeBarsRequest {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(message, optional, tag = "2")]
pub contract: ::core::option::Option<Contract>,
#[prost(int32, optional, tag = "3")]
pub bar_size: ::core::option::Option<i32>,
#[prost(string, optional, tag = "4")]
pub what_to_show: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bool, optional, tag = "5")]
pub use_rth: ::core::option::Option<bool>,
#[prost(map = "string, string", tag = "6")]
pub real_time_bars_options: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct WshEventDataRequest {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "2")]
pub con_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "3")]
pub filter: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bool, optional, tag = "4")]
pub fill_watchlist: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "5")]
pub fill_portfolio: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "6")]
pub fill_competitors: ::core::option::Option<bool>,
#[prost(string, optional, tag = "7")]
pub start_date: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "8")]
pub end_date: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "9")]
pub total_limit: ::core::option::Option<i32>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PositionEnd {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Execution {
#[prost(int32, optional, tag = "1")]
pub order_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub exec_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub time: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "4")]
pub acct_number: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "5")]
pub exchange: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "6")]
pub side: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "7")]
pub shares: ::core::option::Option<::prost::alloc::string::String>,
#[prost(double, optional, tag = "8")]
pub price: ::core::option::Option<f64>,
#[prost(int64, optional, tag = "9")]
pub perm_id: ::core::option::Option<i64>,
#[prost(int32, optional, tag = "10")]
pub client_id: ::core::option::Option<i32>,
#[prost(bool, optional, tag = "11")]
pub is_liquidation: ::core::option::Option<bool>,
#[prost(string, optional, tag = "12")]
pub cum_qty: ::core::option::Option<::prost::alloc::string::String>,
#[prost(double, optional, tag = "13")]
pub avg_price: ::core::option::Option<f64>,
#[prost(string, optional, tag = "14")]
pub order_ref: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "15")]
pub ev_rule: ::core::option::Option<::prost::alloc::string::String>,
#[prost(double, optional, tag = "16")]
pub ev_multiplier: ::core::option::Option<f64>,
#[prost(string, optional, tag = "17")]
pub model_code: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "18")]
pub last_liquidity: ::core::option::Option<i32>,
#[prost(bool, optional, tag = "19")]
pub is_price_revision_pending: ::core::option::Option<bool>,
#[prost(string, optional, tag = "20")]
pub submitter: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "21")]
pub opt_exercise_or_lapse_type: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HistogramDataRequest {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(message, optional, tag = "2")]
pub contract: ::core::option::Option<Contract>,
#[prost(bool, optional, tag = "3")]
pub use_rth: ::core::option::Option<bool>,
#[prost(string, optional, tag = "4")]
pub time_period: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ContractDetails {
#[prost(string, optional, tag = "1")]
pub market_name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "2")]
pub min_tick: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub order_types: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "4")]
pub valid_exchanges: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "5")]
pub price_magnifier: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "6")]
pub under_con_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "7")]
pub long_name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "8")]
pub contract_month: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "9")]
pub industry: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "10")]
pub category: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "11")]
pub subcategory: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "12")]
pub time_zone_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "13")]
pub trading_hours: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "14")]
pub liquid_hours: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "15")]
pub ev_rule: ::core::option::Option<::prost::alloc::string::String>,
#[prost(double, optional, tag = "16")]
pub ev_multiplier: ::core::option::Option<f64>,
#[prost(map = "string, string", tag = "17")]
pub sec_id_list: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(int32, optional, tag = "18")]
pub agg_group: ::core::option::Option<i32>,
#[prost(string, optional, tag = "19")]
pub under_symbol: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "20")]
pub under_sec_type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "21")]
pub market_rule_ids: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "22")]
pub real_expiration_date: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "23")]
pub stock_type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "24")]
pub min_size: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "25")]
pub size_increment: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "26")]
pub suggested_size_increment: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "27")]
pub fund_name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "28")]
pub fund_family: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "29")]
pub fund_type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "30")]
pub fund_front_load: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "31")]
pub fund_back_load: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "32")]
pub fund_back_load_time_interval: ::core::option::Option<
::prost::alloc::string::String,
>,
#[prost(string, optional, tag = "33")]
pub fund_management_fee: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bool, optional, tag = "34")]
pub fund_closed: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "35")]
pub fund_closed_for_new_investors: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "36")]
pub fund_closed_for_new_money: ::core::option::Option<bool>,
#[prost(string, optional, tag = "37")]
pub fund_notify_amount: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "38")]
pub fund_minimum_initial_purchase: ::core::option::Option<
::prost::alloc::string::String,
>,
#[prost(string, optional, tag = "39")]
pub fund_minimum_subsequent_purchase: ::core::option::Option<
::prost::alloc::string::String,
>,
#[prost(string, optional, tag = "40")]
pub fund_blue_sky_states: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "41")]
pub fund_blue_sky_territories: ::core::option::Option<
::prost::alloc::string::String,
>,
#[prost(string, optional, tag = "42")]
pub fund_distribution_policy_indicator: ::core::option::Option<
::prost::alloc::string::String,
>,
#[prost(string, optional, tag = "43")]
pub fund_asset_type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "44")]
pub cusip: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "45")]
pub issue_date: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "46")]
pub ratings: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "47")]
pub bond_type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(double, optional, tag = "48")]
pub coupon: ::core::option::Option<f64>,
#[prost(string, optional, tag = "49")]
pub coupon_type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bool, optional, tag = "50")]
pub convertible: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "51")]
pub callable: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "52")]
pub puttable: ::core::option::Option<bool>,
#[prost(string, optional, tag = "53")]
pub desc_append: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "54")]
pub next_option_date: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "55")]
pub next_option_type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bool, optional, tag = "56")]
pub next_option_partial: ::core::option::Option<bool>,
#[prost(string, optional, tag = "57")]
pub bond_notes: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "58")]
pub ineligibility_reason_list: ::prost::alloc::vec::Vec<IneligibilityReason>,
#[prost(string, optional, tag = "59")]
pub event_contract1: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "60")]
pub event_contract_description1: ::core::option::Option<
::prost::alloc::string::String,
>,
#[prost(string, optional, tag = "61")]
pub event_contract_description2: ::core::option::Option<
::prost::alloc::string::String,
>,
#[prost(string, optional, tag = "62")]
pub min_algo_size: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "63")]
pub last_price_precision: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "64")]
pub last_size_precision: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PositionMulti {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub account: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "3")]
pub contract: ::core::option::Option<Contract>,
#[prost(string, optional, tag = "4")]
pub position: ::core::option::Option<::prost::alloc::string::String>,
#[prost(double, optional, tag = "5")]
pub avg_cost: ::core::option::Option<f64>,
#[prost(string, optional, tag = "6")]
pub model_code: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct WshMetaData {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub data_json: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateDisplayGroupRequest {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub contract_info: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CancelWshEventData {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlaceOrderRequest {
#[prost(int32, optional, tag = "1")]
pub order_id: ::core::option::Option<i32>,
#[prost(message, optional, tag = "2")]
pub contract: ::core::option::Option<Contract>,
#[prost(message, optional, tag = "3")]
pub order: ::core::option::Option<Order>,
#[prost(message, optional, tag = "4")]
pub attached_orders: ::core::option::Option<AttachedOrders>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PnL {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(double, optional, tag = "2")]
pub daily_pn_l: ::core::option::Option<f64>,
#[prost(double, optional, tag = "3")]
pub unrealized_pn_l: ::core::option::Option<f64>,
#[prost(double, optional, tag = "4")]
pub realized_pn_l: ::core::option::Option<f64>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct HistoricalSession {
#[prost(string, optional, tag = "1")]
pub start_date_time: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "2")]
pub end_date_time: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub ref_date: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HistoricalSchedule {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub start_date_time: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub end_date_time: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "4")]
pub time_zone: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "5")]
pub historical_sessions: ::prost::alloc::vec::Vec<HistoricalSession>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExecutionDetails {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(message, optional, tag = "2")]
pub contract: ::core::option::Option<Contract>,
#[prost(message, optional, tag = "3")]
pub execution: ::core::option::Option<Execution>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SubscribeToGroupEventsRequest {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "2")]
pub group_id: ::core::option::Option<i32>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct OrderBound {
#[prost(int64, optional, tag = "1")]
pub perm_id: ::core::option::Option<i64>,
#[prost(int32, optional, tag = "2")]
pub client_id: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "3")]
pub order_id: ::core::option::Option<i32>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetServerLogLevelRequest {
#[prost(int32, optional, tag = "1")]
pub log_level: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SmartComponents {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(message, repeated, tag = "2")]
pub smart_components: ::prost::alloc::vec::Vec<SmartComponent>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StartApiRequest {
#[prost(int32, optional, tag = "1")]
pub client_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub optional_capabilities: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CompletedOrdersEnd {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarketDataRequest {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(message, optional, tag = "2")]
pub contract: ::core::option::Option<Contract>,
#[prost(string, optional, tag = "3")]
pub generic_tick_list: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bool, optional, tag = "4")]
pub snapshot: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "5")]
pub regulatory_snapshot: ::core::option::Option<bool>,
#[prost(map = "string, string", tag = "6")]
pub market_data_options: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TickByTickRequest {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(message, optional, tag = "2")]
pub contract: ::core::option::Option<Contract>,
#[prost(string, optional, tag = "3")]
pub tick_type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "4")]
pub number_of_ticks: ::core::option::Option<i32>,
#[prost(bool, optional, tag = "5")]
pub ignore_size: ::core::option::Option<bool>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct QueryDisplayGroupsRequest {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PriceIncrement {
#[prost(double, optional, tag = "1")]
pub low_edge: ::core::option::Option<f64>,
#[prost(double, optional, tag = "2")]
pub increment: ::core::option::Option<f64>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct NextValidId {
#[prost(int32, optional, tag = "1")]
pub order_id: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateConfigWarning {
#[prost(int32, optional, tag = "1")]
pub message_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub title: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub message: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct NewsArticle {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "2")]
pub article_type: ::core::option::Option<i32>,
#[prost(string, optional, tag = "3")]
pub article_text: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HistoricalDataRequest {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(message, optional, tag = "2")]
pub contract: ::core::option::Option<Contract>,
#[prost(string, optional, tag = "3")]
pub end_date_time: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "4")]
pub bar_size_setting: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "5")]
pub duration: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bool, optional, tag = "6")]
pub use_rth: ::core::option::Option<bool>,
#[prost(string, optional, tag = "7")]
pub what_to_show: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "8")]
pub format_date: ::core::option::Option<i32>,
#[prost(bool, optional, tag = "9")]
pub keep_up_to_date: ::core::option::Option<bool>,
#[prost(map = "string, string", tag = "10")]
pub chart_options: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ScannerParameters {
#[prost(string, optional, tag = "1")]
pub xml: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RerouteMarketDepthRequest {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "2")]
pub con_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "3")]
pub exchange: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PnLRequest {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub account: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub model_code: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PositionsMultiRequest {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub account: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub model_code: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateConfigResponse {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub status: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub message: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "4")]
pub changed_fields: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "5")]
pub errors: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "6")]
pub warnings: ::prost::alloc::vec::Vec<UpdateConfigWarning>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ScannerDataElement {
#[prost(int32, optional, tag = "1")]
pub rank: ::core::option::Option<i32>,
#[prost(message, optional, tag = "2")]
pub contract: ::core::option::Option<Contract>,
#[prost(string, optional, tag = "3")]
pub market_name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "4")]
pub distance: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "5")]
pub benchmark: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "6")]
pub projection: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "7")]
pub combo_key: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ScannerData {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(message, repeated, tag = "2")]
pub scanner_data_element: ::prost::alloc::vec::Vec<ScannerDataElement>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MatchingSymbolsRequest {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub pattern: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FamilyCode {
#[prost(string, optional, tag = "1")]
pub account_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "2")]
pub family_code: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FamilyCodes {
#[prost(message, repeated, tag = "1")]
pub family_codes: ::prost::alloc::vec::Vec<FamilyCode>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NewsArticleRequest {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub provider_code: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub article_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(map = "string, string", tag = "4")]
pub news_article_options: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct VerifyCompleted {
#[prost(bool, optional, tag = "1")]
pub is_successful: ::core::option::Option<bool>,
#[prost(string, optional, tag = "2")]
pub error_text: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ContractData {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(message, optional, tag = "2")]
pub contract: ::core::option::Option<Contract>,
#[prost(message, optional, tag = "3")]
pub contract_details: ::core::option::Option<ContractDetails>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RealTimeBarTick {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(int64, optional, tag = "2")]
pub time: ::core::option::Option<i64>,
#[prost(double, optional, tag = "3")]
pub open: ::core::option::Option<f64>,
#[prost(double, optional, tag = "4")]
pub high: ::core::option::Option<f64>,
#[prost(double, optional, tag = "5")]
pub low: ::core::option::Option<f64>,
#[prost(double, optional, tag = "6")]
pub close: ::core::option::Option<f64>,
#[prost(string, optional, tag = "7")]
pub volume: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "8")]
pub wap: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "9")]
pub count: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ManagedAccounts {
#[prost(string, optional, tag = "1")]
pub accounts_list: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TickSize {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "2")]
pub tick_type: ::core::option::Option<i32>,
#[prost(string, optional, tag = "3")]
pub size: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DisplayGroupUpdated {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub contract_info: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NewsProviders {
#[prost(message, repeated, tag = "1")]
pub news_providers: ::prost::alloc::vec::Vec<NewsProvider>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HistoricalData {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(message, repeated, tag = "2")]
pub historical_data_bars: ::prost::alloc::vec::Vec<HistoricalDataBar>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CancelHeadTimestamp {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarketDepthExchanges {
#[prost(message, repeated, tag = "1")]
pub depth_market_data_descriptions: ::prost::alloc::vec::Vec<
DepthMarketDataDescription,
>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AllOpenOrdersRequest {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SecDefOptParameter {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub exchange: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "3")]
pub underlying_con_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "4")]
pub trading_class: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "5")]
pub multiplier: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "6")]
pub expirations: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(double, repeated, tag = "7")]
pub strikes: ::prost::alloc::vec::Vec<f64>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct NewsBulletinsRequest {
#[prost(bool, optional, tag = "1")]
pub all_messages: ::core::option::Option<bool>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SoftDollarTiers {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(message, repeated, tag = "2")]
pub soft_dollar_tiers: ::prost::alloc::vec::Vec<SoftDollarTier>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CancelPositions {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExerciseOptionsRequest {
#[prost(int32, optional, tag = "1")]
pub order_id: ::core::option::Option<i32>,
#[prost(message, optional, tag = "2")]
pub contract: ::core::option::Option<Contract>,
#[prost(int32, optional, tag = "3")]
pub exercise_action: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "4")]
pub exercise_quantity: ::core::option::Option<i32>,
#[prost(string, optional, tag = "5")]
pub account: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bool, optional, tag = "6")]
pub r#override: ::core::option::Option<bool>,
#[prost(string, optional, tag = "7")]
pub manual_order_time: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "8")]
pub customer_account: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bool, optional, tag = "9")]
pub professional_customer: ::core::option::Option<bool>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateConfigRequest {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(message, optional, tag = "2")]
pub lock_and_exit: ::core::option::Option<LockAndExitConfig>,
#[prost(message, repeated, tag = "3")]
pub messages: ::prost::alloc::vec::Vec<MessageConfig>,
#[prost(message, optional, tag = "4")]
pub api: ::core::option::Option<ApiConfig>,
#[prost(message, optional, tag = "5")]
pub orders: ::core::option::Option<OrdersConfig>,
#[prost(message, repeated, tag = "6")]
pub accepted_warnings: ::prost::alloc::vec::Vec<UpdateConfigWarning>,
#[prost(bool, optional, tag = "7")]
pub reset_api_order_sequence: ::core::option::Option<bool>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AccountUpdatesMultiRequest {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub account: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub model_code: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bool, optional, tag = "4")]
pub ledger_and_nlv: ::core::option::Option<bool>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct WshEventData {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub data_json: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CancelPositionsMulti {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PnLSingleRequest {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub account: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub model_code: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "4")]
pub con_id: ::core::option::Option<i32>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AccountSummaryEnd {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct VerifyMessageApi {
#[prost(string, optional, tag = "1")]
pub api_data: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UnsubscribeFromGroupEventsRequest {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarketRule {
#[prost(int32, optional, tag = "1")]
pub market_rule_id: ::core::option::Option<i32>,
#[prost(message, repeated, tag = "2")]
pub price_increments: ::prost::alloc::vec::Vec<PriceIncrement>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CurrentTimeInMillisRequest {}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DisplayGroupList {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub groups: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ReplaceFaEnd {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(string, optional, tag = "2")]
pub text: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FaReplace {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "2")]
pub fa_data_type: ::core::option::Option<i32>,
#[prost(string, optional, tag = "3")]
pub xml: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MarketDepthExchangesRequest {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ContractDataRequest {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(message, optional, tag = "2")]
pub contract: ::core::option::Option<Contract>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AccountDataRequest {
#[prost(bool, optional, tag = "1")]
pub subscribe: ::core::option::Option<bool>,
#[prost(string, optional, tag = "2")]
pub acct_code: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PortfolioValue {
#[prost(message, optional, tag = "1")]
pub contract: ::core::option::Option<Contract>,
#[prost(string, optional, tag = "2")]
pub position: ::core::option::Option<::prost::alloc::string::String>,
#[prost(double, optional, tag = "3")]
pub market_price: ::core::option::Option<f64>,
#[prost(double, optional, tag = "4")]
pub market_value: ::core::option::Option<f64>,
#[prost(double, optional, tag = "5")]
pub average_cost: ::core::option::Option<f64>,
#[prost(double, optional, tag = "6")]
pub unrealized_pnl: ::core::option::Option<f64>,
#[prost(double, optional, tag = "7")]
pub realized_pnl: ::core::option::Option<f64>,
#[prost(string, optional, tag = "8")]
pub account_name: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CalculateOptionPriceRequest {
#[prost(int32, optional, tag = "1")]
pub req_id: ::core::option::Option<i32>,
#[prost(message, optional, tag = "2")]
pub contract: ::core::option::Option<Contract>,
#[prost(double, optional, tag = "3")]
pub volatility: ::core::option::Option<f64>,
#[prost(double, optional, tag = "4")]
pub under_price: ::core::option::Option<f64>,
#[prost(map = "string, string", tag = "5")]
pub option_price_options: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
}