pub struct MarketDataClient { /* private fields */ }Expand description
Client for dealing with market data.
Implementations§
Source§impl MarketDataClient
impl MarketDataClient
Sourcepub fn connect<A, U>(api_key: A, url: U) -> Result<Self>
pub fn connect<A, U>(api_key: A, url: U) -> Result<Self>
Creates new client instance
§Example
use tokio_binance::{MarketDataClient, BINANCE_US_URL};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = MarketDataClient::connect("<api-key>", BINANCE_US_URL)?;
Ok(())
}Sourcepub fn get_order_book<'a>(
&self,
symbol: &'a str,
) -> ParamBuilder<'a, '_, OrderBookParams>
pub fn get_order_book<'a>( &self, symbol: &'a str, ) -> ParamBuilder<'a, '_, OrderBookParams>
Get order book.
§Example
use serde_json::Value;
let response = client
.get_order_book("BNBUSDT")
// optional: default 100; max 5000.
.with_limit(5)
//
.json::<Value>()
.await?;Sourcepub fn get_trades<'a>(
&self,
symbol: &'a str,
) -> ParamBuilder<'a, '_, TradesParams>
pub fn get_trades<'a>( &self, symbol: &'a str, ) -> ParamBuilder<'a, '_, TradesParams>
Get recent trades (up to last 500).
§Example
use serde_json::Value;
let response = client
.get_trades("BNBUSDT")
// optional: default 100; max 5000.
.with_limit(5)
//
.json::<Value>()
.await?;Sourcepub fn get_historical_trades<'a>(
&self,
symbol: &'a str,
) -> ParamBuilder<'a, '_, HistoricalTradesParams>
pub fn get_historical_trades<'a>( &self, symbol: &'a str, ) -> ParamBuilder<'a, '_, HistoricalTradesParams>
Get older trades.
§Example
use serde_json::Value;
let response = client
.get_historical_trades("BNBUSDT")
// optional: trade id to fetch from; default gets most recent trades.
.with_from_id(123049)
// optional: default 100; max 5000.
.with_limit(5)
//
.json::<Value>()
.await?;Sourcepub fn get_aggregate_trades<'a>(
&self,
symbol: &'a str,
) -> ParamBuilder<'a, '_, AggTradesParams>
pub fn get_aggregate_trades<'a>( &self, symbol: &'a str, ) -> ParamBuilder<'a, '_, AggTradesParams>
Get compressed, aggregate trades. Trades that fill at the time, from the same order, with the same price will have the quantity aggregated.
§Example
use chrono::{Utc, Duration};
use serde_json::Value;
let end = Utc::now();
let start = end - Duration::minutes(59);
let response = client
.get_aggregate_trades("BNBUSDT")
// optional: filter by orders greater than or equal to the provided id.
.with_from_id(1230494)
// optional: get agg trades from; pass 60 minutes of agg trades is the default.
.with_start_time(start)
// optional: get agg trades until; default is now.
.with_end_time(end)
// optional: limit the amount of agg trades; default 500; max 1000.
.with_limit(100)
//
.json::<Value>()
.await?;Sourcepub fn get_candlestick_bars<'a>(
&self,
symbol: &'a str,
interval: Interval,
) -> ParamBuilder<'a, '_, KlinesParams>
pub fn get_candlestick_bars<'a>( &self, symbol: &'a str, interval: Interval, ) -> ParamBuilder<'a, '_, KlinesParams>
Kline/candlestick bars for a symbol. Klines are uniquely identified by their open time.
§Example
use tokio_binance::Interval;
use chrono::{Utc, Duration};
use serde_json::Value;
let end = Utc::now();
let start = end - Duration::minutes(499);
let response = client
.get_candlestick_bars("BNBUSDT", Interval::OneMinute)
// optional: get klines from; gets all recent klines by default
.with_start_time(start)
// optional: get klines until; default is now.
.with_end_time(end)
// optional: limit the amount of klines; default 500; max 1000.
.with_limit(100)
//
.json::<Value>()
.await?;Sourcepub fn get_average_price<'a>(
&self,
symbol: &'a str,
) -> ParamBuilder<'a, '_, AveragePriceParams>
pub fn get_average_price<'a>( &self, symbol: &'a str, ) -> ParamBuilder<'a, '_, AveragePriceParams>
Current average price for a symbol.
§Example
use serde_json::Value;
let response = client
.get_average_price("BNBUSDT")
.json::<Value>()
.await?;Sourcepub fn get_24hr_ticker_price<'a>(
&self,
) -> ParamBuilder<'a, '_, TwentyfourHourTickerPriceParams>
pub fn get_24hr_ticker_price<'a>( &self, ) -> ParamBuilder<'a, '_, TwentyfourHourTickerPriceParams>
24 hour rolling window price change statistics. Careful when accessing this with no symbol.
§Example
use serde_json::Value;
let response = client
.get_24hr_ticker_price()
// optional: filter by symbol; gets all symbols by default.
.with_symbol("BNBUSDT")
//
.json::<Value>()
.await?;Sourcepub fn get_price_ticker<'a>(&self) -> ParamBuilder<'a, '_, TickerPriceParams>
pub fn get_price_ticker<'a>(&self) -> ParamBuilder<'a, '_, TickerPriceParams>
Latest price for a symbol or symbols.
§Example
use serde_json::Value;
let response = client
.get_price_ticker()
// optional: filter by symbol; gets all symbols by default.
.with_symbol("BNBUSDT")
//
.json::<Value>()
.await?;Sourcepub fn get_order_book_ticker<'a>(
&self,
) -> ParamBuilder<'a, '_, OrderBookTickerParams>
pub fn get_order_book_ticker<'a>( &self, ) -> ParamBuilder<'a, '_, OrderBookTickerParams>
Best price/qty on the order book for a symbol or symbols.
§Example
use serde_json::Value;
let response = client
.get_order_book_ticker()
// optional: filter by symbol; gets all symbols by default.
.with_symbol("BNBUSDT")
//
.json::<Value>()
.await?;Trait Implementations§
Source§impl Clone for MarketDataClient
impl Clone for MarketDataClient
Source§fn clone(&self) -> MarketDataClient
fn clone(&self) -> MarketDataClient
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for MarketDataClient
impl !RefUnwindSafe for MarketDataClient
impl Send for MarketDataClient
impl Sync for MarketDataClient
impl Unpin for MarketDataClient
impl !UnwindSafe for MarketDataClient
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