From d6e12a171fee3d83198b85572decfe7d749997a7 Mon Sep 17 00:00:00 2001 From: Wil Boayue Date: Sun, 15 Dec 2024 09:00:17 -0800 Subject: [PATCH] Fix completed orders regression (#195) Fix completed order message mapping --- Cargo.toml | 2 +- examples/completed_orders.rs | 14 ++++++++++++++ examples/place_order.rs | 2 +- src/messages/shared_channel_configuration.rs | 2 +- 4 files changed, 17 insertions(+), 3 deletions(-) create mode 100644 examples/completed_orders.rs diff --git a/Cargo.toml b/Cargo.toml index 7f9c48be..2f74ddd9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ibapi" -version = "1.0.5" +version = "1.0.6" edition = "2021" authors = ["Wil Boayue "] description = "A Rust implementation of the Interactive Brokers TWS API, providing a reliable and user friendly interface for TWS and IB Gateway. Designed with a focus on simplicity and performance." diff --git a/examples/completed_orders.rs b/examples/completed_orders.rs new file mode 100644 index 00000000..bf1b6863 --- /dev/null +++ b/examples/completed_orders.rs @@ -0,0 +1,14 @@ +use ibapi::Client; + +// This example demonstrates how to request completed orders. + +fn main() { + env_logger::init(); + + let client = Client::connect("127.0.0.1:4002", 100).expect("connection failed"); + + let subscription = client.completed_orders(false).expect("get completed orders failed"); + for order in subscription { + println!("{:?}", order); + } +} diff --git a/examples/place_order.rs b/examples/place_order.rs index 2920d851..e9a72f78 100644 --- a/examples/place_order.rs +++ b/examples/place_order.rs @@ -27,7 +27,7 @@ fn main() { println!("connection_string: {connection_string}, stock_symbol: {stock_symbol}"); - let client = Client::connect("localhost:4002", 100).expect("connection failed"); + let client = Client::connect(&connection_string, 100).expect("connection failed"); info!("Connected {client:?}"); diff --git a/src/messages/shared_channel_configuration.rs b/src/messages/shared_channel_configuration.rs index 97fc10fe..1cfd1879 100644 --- a/src/messages/shared_channel_configuration.rs +++ b/src/messages/shared_channel_configuration.rs @@ -41,7 +41,7 @@ pub(crate) const CHANNEL_MAPPINGS: &[ChannelMapping] = &[ }, ChannelMapping { request: OutgoingMessages::RequestCompletedOrders, - responses: &[IncomingMessages::OpenOrder, IncomingMessages::OrderStatus, IncomingMessages::OpenOrderEnd], + responses: &[IncomingMessages::CompletedOrder, IncomingMessages::CompletedOrdersEnd], }, ChannelMapping { request: OutgoingMessages::RequestManagedAccounts,