pub enum Event {
Show 90 variants
ConnectAck,
ConnectionClosed,
Error {
req_id: i32,
time: i64,
code: i32,
message: String,
advanced_order_reject_json: String,
},
NextValidId {
order_id: i32,
},
CurrentTime {
time: i64,
},
CurrentTimeInMillis {
time_in_millis: i64,
},
MarketDataType {
req_id: i32,
market_data_type: i32,
},
TickPrice {
req_id: i32,
tick_type: i32,
price: f64,
attrib: i32,
},
TickSize {
req_id: i32,
tick_type: i32,
size: Decimal,
},
TickGeneric {
req_id: i32,
tick_type: i32,
value: f64,
},
TickString {
req_id: i32,
tick_type: i32,
value: String,
},
TickEfp {
req_id: i32,
tick_type: i32,
basis_points: f64,
formatted_basis_points: String,
total_dividends: f64,
hold_days: i32,
future_last_trade_date: String,
dividend_impact: f64,
dividends_to_last_trade_date: f64,
},
TickSnapshotEnd {
req_id: i32,
},
TickOptionComputation {
req_id: i32,
tick_type: i32,
tick_attrib: i32,
implied_vol: f64,
delta: f64,
opt_price: f64,
pv_dividend: f64,
gamma: f64,
vega: f64,
theta: f64,
und_price: f64,
},
TickReqParams {
req_id: i32,
min_tick: String,
bbo_exchange: String,
snapshot_permissions: i32,
last_price_precision: String,
last_size_precision: String,
},
CommissionAndFeesReport {
report: CommissionAndFeesReport,
},
DeltaNeutralValidation {
req_id: i32,
delta_neutral_contract: DeltaNeutralContract,
},
OrderStatus {
order_id: i32,
status: String,
filled: Decimal,
remaining: Decimal,
avg_fill_price: f64,
perm_id: i64,
parent_id: i32,
last_fill_price: f64,
client_id: i32,
why_held: String,
market_cap_price: f64,
},
OpenOrder {
order_id: i32,
contract: Box<Contract>,
order: Box<Order>,
order_state: Box<OrderState>,
},
OpenOrderEnd,
ContractDetails {
req_id: i32,
details: Box<ContractDetails>,
},
BondContractDetails {
req_id: i32,
details: Box<ContractDetails>,
},
ContractDetailsEnd {
req_id: i32,
},
ExecutionDetails {
req_id: i32,
contract: Box<Contract>,
execution: Execution,
},
ExecutionDetailsEnd {
req_id: i32,
},
MarketDepth {
req_id: i32,
position: i32,
operation: i32,
side: i32,
price: f64,
size: Decimal,
market_maker: String,
is_smart_depth: bool,
},
MarketDepthExchanges {
descriptions: Vec<DepthMarketDataDescription>,
},
SmartComponents {
req_id: i32,
components: Vec<SmartComponent>,
},
RerouteMarketDataRequest {
req_id: i32,
con_id: i32,
exchange: String,
},
RerouteMarketDepthRequest {
req_id: i32,
con_id: i32,
exchange: String,
},
HistoricalData {
req_id: i32,
bar: BarData,
},
HistoricalDataBars {
req_id: i32,
bars: Vec<BarData>,
},
HistoricalDataUpdate {
req_id: i32,
bar: BarData,
},
HistoricalDataEnd {
req_id: i32,
start: String,
end: String,
},
HistoricalTicks {
req_id: i32,
ticks: Vec<HistoricalTick>,
done: bool,
},
HistoricalTicksBidAsk {
req_id: i32,
ticks: Vec<HistoricalTickBidAsk>,
done: bool,
},
HistoricalTicksLast {
req_id: i32,
ticks: Vec<HistoricalTickLast>,
done: bool,
},
TickByTick {
req_id: i32,
tick_type: i32,
tick: Option<TickByTick>,
},
HistoricalSchedule {
req_id: i32,
start_date_time: String,
end_date_time: String,
time_zone: String,
sessions: Vec<HistoricalSession>,
},
Position {
account: String,
contract: Box<Contract>,
position: Decimal,
avg_cost: f64,
},
PositionEnd,
PositionMulti {
req_id: i32,
account: String,
model_code: String,
contract: Box<Contract>,
position: Decimal,
avg_cost: f64,
},
PositionMultiEnd {
req_id: i32,
},
AccountValue {
key: String,
value: String,
currency: String,
account_name: String,
},
PortfolioValue {
contract: Box<Contract>,
position: Decimal,
market_price: f64,
market_value: f64,
average_cost: f64,
unrealized_pnl: f64,
realized_pnl: f64,
account_name: String,
},
AccountUpdateTime {
timestamp: String,
},
AccountDownloadEnd {
account_name: String,
},
AccountSummary {
req_id: i32,
account: String,
tag: String,
value: String,
currency: String,
},
AccountSummaryEnd {
req_id: i32,
},
AccountUpdateMulti {
req_id: i32,
account: String,
model_code: String,
key: String,
value: String,
currency: String,
},
AccountUpdateMultiEnd {
req_id: i32,
},
RealTimeBar {
req_id: i32,
time: i64,
bar: BarData,
},
HeadTimestamp {
req_id: i32,
head_timestamp: String,
},
HistogramData {
req_id: i32,
items: Vec<HistogramEntry>,
},
ScannerParameters {
xml: String,
},
ScannerData {
req_id: i32,
rows: Vec<ScannerDataRow>,
},
ScannerDataEnd {
req_id: i32,
},
SoftDollarTiers {
req_id: i32,
tiers: Vec<SoftDollarTier>,
},
FamilyCodes {
family_codes: Vec<FamilyCode>,
},
SymbolSamples {
req_id: i32,
descriptions: Vec<ContractDescription>,
},
SecurityDefinitionOptionParameter {
req_id: i32,
exchange: String,
underlying_con_id: i32,
trading_class: String,
multiplier: String,
expirations: Vec<String>,
strikes: Vec<f64>,
},
SecurityDefinitionOptionParameterEnd {
req_id: i32,
},
MarketRule {
market_rule_id: i32,
price_increments: Vec<PriceIncrement>,
},
Pnl {
req_id: i32,
daily_pnl: f64,
unrealized_pnl: f64,
realized_pnl: f64,
},
PnlSingle {
req_id: i32,
position: Decimal,
daily_pnl: f64,
unrealized_pnl: f64,
realized_pnl: f64,
value: f64,
},
NewsArticle {
req_id: i32,
article_type: i32,
article_text: String,
},
NewsBulletin {
news_msg_id: i32,
news_msg_type: i32,
news_message: String,
originating_exch: String,
},
NewsProviders {
providers: Vec<NewsProvider>,
},
HistoricalNews {
req_id: i32,
time: String,
provider_code: String,
article_id: String,
headline: String,
},
HistoricalNewsEnd {
req_id: i32,
has_more: bool,
},
TickNews {
req_id: i32,
timestamp: i64,
provider_code: String,
article_id: String,
headline: String,
extra_data: String,
},
WshMetaData {
req_id: i32,
data_json: String,
},
WshEventData {
req_id: i32,
data_json: String,
},
ReceiveFa {
fa_data_type: i32,
xml: String,
},
ReplaceFaEnd {
req_id: i32,
text: String,
},
DisplayGroupList {
req_id: i32,
groups: String,
},
DisplayGroupUpdated {
req_id: i32,
contract_info: String,
},
VerifyMessageApi {
api_data: String,
},
VerifyCompleted {
is_successful: bool,
error_text: String,
},
VerifyAndAuthMessageApi {
api_data: String,
challenge: String,
},
VerifyAndAuthCompleted {
is_successful: bool,
error_text: String,
},
ConfigResponse {
req_id: i32,
status: String,
message: String,
},
UpdateConfigResponse {
req_id: i32,
status: String,
message: String,
changed_fields: Vec<String>,
errors: Vec<String>,
},
OrderBound {
perm_id: i64,
client_id: i32,
order_id: i32,
},
CompletedOrder {
contract: Box<Contract>,
order: Box<Order>,
order_state: Box<OrderState>,
},
CompletedOrdersEnd,
UserInfo {
req_id: i32,
white_branding_id: String,
},
ManagedAccounts {
accounts: String,
},
Raw {
msg_id: i32,
fields: Vec<String>,
},
RawProtobuf {
msg_id: i32,
payload: Vec<u8>,
},
}Expand description
A normalized TWS callback event.
Variants§
ConnectAck
Connection completed.
ConnectionClosed
Connection closed.
Error
Error callback.
Fields
NextValidId
Next valid order id.
CurrentTime
Current time.
CurrentTimeInMillis
Current time in milliseconds.
MarketDataType
Market data type.
TickPrice
Tick price.
Fields
TickSize
Tick size.
TickGeneric
Generic tick value.
TickString
Tick string.
TickEfp
Exchange-for-physical tick.
Fields
TickSnapshotEnd
Tick snapshot end.
TickOptionComputation
Option computation tick.
Fields
TickReqParams
Tick request parameters.
Fields
CommissionAndFeesReport
Commission and fees report callback.
Fields
report: CommissionAndFeesReportReport.
DeltaNeutralValidation
Delta-neutral validation callback.
OrderStatus
Order status.
Fields
OpenOrder
Open order callback.
Fields
order_state: Box<OrderState>Order state.
OpenOrderEnd
Open order end.
ContractDetails
Contract details.
BondContractDetails
Bond contract details.
ContractDetailsEnd
Contract details end.
ExecutionDetails
Execution details.
Fields
ExecutionDetailsEnd
Execution details end.
MarketDepth
Market depth update.
Fields
MarketDepthExchanges
Market depth exchanges.
Fields
descriptions: Vec<DepthMarketDataDescription>Exchange descriptions.
SmartComponents
Smart components callback.
RerouteMarketDataRequest
Reroute market-data request.
RerouteMarketDepthRequest
Reroute market-depth request.
HistoricalData
Historical data bar.
HistoricalDataBars
Historical data batch.
HistoricalDataUpdate
Historical data update.
HistoricalDataEnd
Historical data end.
HistoricalTicks
Historical midpoint/trade ticks callback.
HistoricalTicksBidAsk
Historical bid/ask ticks callback.
HistoricalTicksLast
Historical last trade ticks callback.
TickByTick
Tick-by-tick callback.
HistoricalSchedule
Historical schedule callback.
Fields
sessions: Vec<HistoricalSession>Sessions.
Position
Position callback.
Fields
PositionEnd
Position end.
PositionMulti
Position multi callback.
Fields
PositionMultiEnd
Position multi end.
AccountValue
Account value update.
Fields
PortfolioValue
Portfolio value update.
Fields
AccountUpdateTime
Account update time.
AccountDownloadEnd
Account download end.
AccountSummary
Account summary.
Fields
AccountSummaryEnd
Account summary end.
AccountUpdateMulti
Account update multi.
Fields
AccountUpdateMultiEnd
Account update multi end.
RealTimeBar
Real-time bar tick.
HeadTimestamp
Head timestamp.
HistogramData
Histogram data.
ScannerParameters
Scanner parameters XML.
ScannerData
Scanner data.
ScannerDataEnd
Scanner data end.
SoftDollarTiers
Soft-dollar tiers.
FamilyCodes
Family codes.
Fields
family_codes: Vec<FamilyCode>Account family-code mappings.
SymbolSamples
Symbol samples callback.
SecurityDefinitionOptionParameter
Security definition option parameter callback.
Fields
SecurityDefinitionOptionParameterEnd
Security definition option parameter end.
MarketRule
Market rule.
Pnl
PnL update.
Fields
PnlSingle
Single-contract PnL update.
Fields
NewsArticle
News article body.
NewsBulletin
News bulletin.
Fields
NewsProviders
News providers.
Fields
providers: Vec<NewsProvider>Provider metadata.
HistoricalNews
Historical news item.
Fields
HistoricalNewsEnd
Historical news end.
TickNews
Tick news item.
Fields
WshMetaData
WSH metadata.
WshEventData
WSH event data.
ReceiveFa
Receive FA data.
ReplaceFaEnd
Replace FA end.
DisplayGroupList
Display group list.
DisplayGroupUpdated
Display group updated.
VerifyMessageApi
Verify message API.
VerifyCompleted
Verify completed.
VerifyAndAuthMessageApi
Verify-and-auth message API.
VerifyAndAuthCompleted
Verify-and-auth completed.
ConfigResponse
Config response.
UpdateConfigResponse
Update config response.
Fields
OrderBound
Order bound callback.
CompletedOrder
Completed order callback.
Fields
order_state: Box<OrderState>Order state.
CompletedOrdersEnd
Completed orders end.
UserInfo
User info callback.
ManagedAccounts
Managed account list.
Raw
Raw callback not decoded into a typed variant yet.
RawProtobuf
Raw protobuf callback not decoded by this crate.