use ibapi::client::blocking::Client;
use ibapi::market_data::historical::ToDuration;
use ibapi::prelude::*;
fn main() {
env_logger::init();
let client = Client::connect("127.0.0.1:4002", 100).expect("connection failed");
let contract = Contract::call("AMZN").strike(230.0).expires_on(2025, 1, 31).build();
let historical_data = client
.historical_data(&contract, HistoricalBarSize::Hour)
.what_to_show(HistoricalWhatToShow::AdjustedLast)
.duration(10.days())
.fetch()
.expect("historical data request failed");
println!("start: {:?}, end: {:?}", historical_data.start, historical_data.end);
for bar in &historical_data.bars {
println!("{bar:?}");
}
}