Struct tokio_binance::MarketDataClient[][src]

pub struct MarketDataClient { /* fields omitted */ }

Client for dealing with market data.

Implementations

impl MarketDataClient[src]

pub fn connect<A, U>(api_key: A, url: U) -> Result<Self> where
    A: Into<String>,
    U: Into<String>, 
[src]

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(())
}

pub fn get_order_book<'a>(
    &self,
    symbol: &'a str
) -> ParamBuilder<'a, '_, OrderBookParams>
[src]

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?;

pub fn get_trades<'a>(
    &self,
    symbol: &'a str
) -> ParamBuilder<'a, '_, TradesParams>
[src]

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?;

pub fn get_historical_trades<'a>(
    &self,
    symbol: &'a str
) -> ParamBuilder<'a, '_, HistoricalTradesParams>
[src]

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?;

pub fn get_aggregate_trades<'a>(
    &self,
    symbol: &'a str
) -> ParamBuilder<'a, '_, AggTradesParams>
[src]

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?;

pub fn get_candlestick_bars<'a>(
    &self,
    symbol: &'a str,
    interval: Interval
) -> ParamBuilder<'a, '_, KlinesParams>
[src]

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?;

pub fn get_average_price<'a>(
    &self,
    symbol: &'a str
) -> ParamBuilder<'a, '_, AveragePriceParams>
[src]

Current average price for a symbol.

Example

use serde_json::Value;
 
let response = client
    .get_average_price("BNBUSDT")
    .json::<Value>()
    .await?;

pub fn get_24hr_ticker_price<'a>(
    &self
) -> ParamBuilder<'a, '_, TwentyfourHourTickerPriceParams>
[src]

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?;

pub fn get_price_ticker<'a>(&self) -> ParamBuilder<'a, '_, TickerPriceParams>[src]

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?;

pub fn get_order_book_ticker<'a>(
    &self
) -> ParamBuilder<'a, '_, OrderBookTickerParams>
[src]

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

impl Clone for MarketDataClient[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,