pub struct HistoricalTicksBuilder<'a, C> { /* private fields */ }Expand description
Implementations§
Source§impl<'a, C> HistoricalTicksBuilder<'a, C>
impl<'a, C> HistoricalTicksBuilder<'a, C>
Sourcepub fn starting(self, start: OffsetDateTime) -> Self
pub fn starting(self, start: OffsetDateTime) -> Self
Anchor the query at the start date (fetch forward in time).
Sourcepub fn ending(self, end: OffsetDateTime) -> Self
pub fn ending(self, end: OffsetDateTime) -> Self
Anchor the query at the end date (fetch backward in time).
Sourcepub fn trading_hours(self, trading_hours: TradingHours) -> Self
pub fn trading_hours(self, trading_hours: TradingHours) -> Self
Override regular- vs extended-hours (defaults to TradingHours::Regular).
Source§impl<'a> HistoricalTicksBuilder<'a, Client>
impl<'a> HistoricalTicksBuilder<'a, Client>
Sourcepub fn trade(self) -> Result<TickSubscription<TickLast>, Error>
pub fn trade(self) -> Result<TickSubscription<TickLast>, Error>
Submit the request and return trade ticks.
§Examples
use ibapi::client::blocking::Client;
use ibapi::contracts::Contract;
use time::macros::datetime;
let client = Client::connect("127.0.0.1:4002", 100).expect("connection failed");
let contract = Contract::stock("TSLA").build();
let ticks = client
.historical_ticks(&contract, 100)
.starting(datetime!(2023-04-15 0:00 UTC))
.trade()
.expect("historical ticks request failed");
for tick in ticks.iter_data() {
println!("{:?}", tick.expect("decode error"));
}Sourcepub fn mid_point(self) -> Result<TickSubscription<TickMidpoint>, Error>
pub fn mid_point(self) -> Result<TickSubscription<TickMidpoint>, Error>
Submit the request and return midpoint ticks.
§Examples
use ibapi::client::blocking::Client;
use ibapi::contracts::Contract;
use time::macros::datetime;
let client = Client::connect("127.0.0.1:4002", 100).expect("connection failed");
let contract = Contract::stock("TSLA").build();
let ticks = client
.historical_ticks(&contract, 100)
.ending(datetime!(2023-04-15 0:00 UTC))
.mid_point()
.expect("historical ticks request failed");
for tick in ticks.iter_data() {
println!("{:?}", tick.expect("decode error"));
}Sourcepub fn bid_ask(
self,
ignore_size: IgnoreSize,
) -> Result<TickSubscription<TickBidAsk>, Error>
pub fn bid_ask( self, ignore_size: IgnoreSize, ) -> Result<TickSubscription<TickBidAsk>, Error>
Submit the request and return bid/ask ticks. Pass IgnoreSize::Yes
to drop tick sizes from the response.
§Examples
use ibapi::client::blocking::Client;
use ibapi::contracts::Contract;
use ibapi::market_data::IgnoreSize;
use time::macros::datetime;
let client = Client::connect("127.0.0.1:4002", 100).expect("connection failed");
let contract = Contract::stock("TSLA").build();
let ticks = client
.historical_ticks(&contract, 100)
.starting(datetime!(2023-04-15 0:00 UTC))
.bid_ask(IgnoreSize::No)
.expect("historical ticks request failed");
for tick in ticks.iter_data() {
println!("{:?}", tick.expect("decode error"));
}Source§impl<'a> HistoricalTicksBuilder<'a, Client>
impl<'a> HistoricalTicksBuilder<'a, Client>
Sourcepub async fn trade(self) -> Result<TickSubscription<TickLast>, Error>
pub async fn trade(self) -> Result<TickSubscription<TickLast>, Error>
Submit the request and return trade ticks.
§Examples
use ibapi::prelude::*;
use time::macros::datetime;
#[tokio::main]
async fn main() {
let client = Client::connect("127.0.0.1:4002", 100).await.expect("connection failed");
let contract = Contract::stock("TSLA").build();
let mut ticks = client
.historical_ticks(&contract, 100)
.starting(datetime!(2023-04-15 0:00 UTC))
.trade()
.await
.expect("historical ticks request failed")
.filter_data();
while let Some(tick) = ticks.next().await {
println!("{:?}", tick.expect("decode error"));
}
}Sourcepub async fn mid_point(self) -> Result<TickSubscription<TickMidpoint>, Error>
pub async fn mid_point(self) -> Result<TickSubscription<TickMidpoint>, Error>
Submit the request and return midpoint ticks.
§Examples
use ibapi::prelude::*;
use time::macros::datetime;
#[tokio::main]
async fn main() {
let client = Client::connect("127.0.0.1:4002", 100).await.expect("connection failed");
let contract = Contract::stock("TSLA").build();
let mut ticks = client
.historical_ticks(&contract, 100)
.ending(datetime!(2023-04-15 0:00 UTC))
.mid_point()
.await
.expect("historical ticks request failed")
.filter_data();
while let Some(tick) = ticks.next().await {
println!("{:?}", tick.expect("decode error"));
}
}Sourcepub async fn bid_ask(
self,
ignore_size: IgnoreSize,
) -> Result<TickSubscription<TickBidAsk>, Error>
pub async fn bid_ask( self, ignore_size: IgnoreSize, ) -> Result<TickSubscription<TickBidAsk>, Error>
Submit the request and return bid/ask ticks. Pass IgnoreSize::Yes
to drop tick sizes from the response.
§Examples
use ibapi::prelude::*;
use ibapi::market_data::IgnoreSize;
use time::macros::datetime;
#[tokio::main]
async fn main() {
let client = Client::connect("127.0.0.1:4002", 100).await.expect("connection failed");
let contract = Contract::stock("TSLA").build();
let mut ticks = client
.historical_ticks(&contract, 100)
.starting(datetime!(2023-04-15 0:00 UTC))
.bid_ask(IgnoreSize::No)
.await
.expect("historical ticks request failed")
.filter_data();
while let Some(tick) = ticks.next().await {
println!("{:?}", tick.expect("decode error"));
}
}Auto Trait Implementations§
impl<'a, C> Freeze for HistoricalTicksBuilder<'a, C>
impl<'a, C> RefUnwindSafe for HistoricalTicksBuilder<'a, C>where
&'a C: RefUnwindSafe,
impl<'a, C> Send for HistoricalTicksBuilder<'a, C>
impl<'a, C> Sync for HistoricalTicksBuilder<'a, C>
impl<'a, C> Unpin for HistoricalTicksBuilder<'a, C>
impl<'a, C> UnsafeUnpin for HistoricalTicksBuilder<'a, C>where
&'a C: UnsafeUnpin,
impl<'a, C> UnwindSafe for HistoricalTicksBuilder<'a, C>where
&'a C: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more