public override async Task <BestExchangeQuote> Get(CurrencyPair currencyPair) { var pair = currencyPairService.GetCurrencyPair(Exchange.Binance, currencyPair); var orderBook = await GetOrderBook <OrderBook>(ExchangeEndpointBase.Binance + $"ticker/bookTicker?symbol={pair}"); return(new BestExchangeQuote(Exchange.Binance.Name, orderBook.BidPrice, orderBook.AskPrice)); }
public override async Task <BestExchangeQuote> Get(CurrencyPair currencyPair) { var pair = currencyPairService.GetCurrencyPair(Exchange.Bitfinex, currencyPair); var orderBook = await GetOrderBook <OrderBook>(ExchangeEndpointBase.Bitfinex + $"book/{pair}"); var bestBid = orderBook.Bids.Last().Price; var bestAsk = orderBook.Asks.Last().Price; return(new BestExchangeQuote(Exchange.Bitfinex.Name, bestBid, bestAsk)); }
public override async Task <BestExchangeQuote> Get(CurrencyPair currencyPair) { var pair = currencyPairService.GetCurrencyPair(Exchange.Bitstamp, currencyPair); var orderBook = await GetOrderBook <OrderBook>(ExchangeEndpointBase.Bitstamp + $"order_book/{pair}/"); var bestBid = orderBook.Bids.First().First(); var bestAsk = orderBook.Asks.First().First(); return(new BestExchangeQuote(Exchange.Bitstamp.Name, bestBid, bestAsk)); }
public override async Task <BestExchangeQuote> Get(CurrencyPair currencyPair) { var pair = currencyPairService.GetCurrencyPair(Exchange.CoinExchange, currencyPair); var orderBook = await GetOrderBook <OrderBook>(ExchangeEndpointBase.CoinExchange + $"getorderbook?market_id={pair}"); var bestBid = orderBook.Result.BuyOrders.OrderByDescending(p => p.Price).First(); var bestAsk = orderBook.Result.SellOrders.OrderByDescending(p => p.Price).First(); return(new BestExchangeQuote(Exchange.CoinExchange.Name, bestBid.Price, bestAsk.Price)); }
public override async Task <BestExchangeQuote> Get(CurrencyPair currencyPair) { var pair = currencyPairService.GetCurrencyPair(Exchange.Kraken, currencyPair); var orderBook = await GetOrderBook <OrderBook>(ExchangeEndpointBase.Kraken + $"public/Depth?pair={pair}"); var bestBid = orderBook.Result.Pair.Bids.Select(p => p).Select(p => p.FirstOrDefault()).Max(); var bestAsk = orderBook.Result.Pair.Asks.Select(p => p).Select(p => p.FirstOrDefault()).Max(); return(new BestExchangeQuote(Exchange.Kraken.Name, bestBid, bestAsk)); }
public override async Task <BestExchangeQuote> Get(CurrencyPair currencyPair) { var pair = currencyPairService.GetCurrencyPair(Exchange.Poloniex, currencyPair); var orderBook = await GetOrderBook <OrderBook>(ExchangeEndpointBase.Poloniex + $"public?command=returnOrderBook¤cyPair={pair}&depth=10"); var bestBid = orderBook.Bids.Select(p => p.First()).Max(); var bestAsk = orderBook.Asks.Select(p => p.First()).Max(); return(new BestExchangeQuote(Exchange.Poloniex.Name, bestBid, bestAsk)); }
public override async Task <BestExchangeQuote> Get(CurrencyPair currencyPair) { var pair = currencyPairService.GetCurrencyPair(Exchange.Bittrex, currencyPair); var orderBook = await GetOrderBook <OrderBook>(ExchangeEndpointBase.Bittrex + $"public/getorderbook?market={pair}&type=both"); var bestBid = orderBook.Result.Buy.Max(p => p.Rate); var bestAsk = orderBook.Result.Sell.Max(p => p.Rate); return(new BestExchangeQuote(Exchange.Bittrex.Name, bestBid, bestAsk)); }
public override async Task <BestExchangeQuote> Get(CurrencyPair currencyPair) { var pair = currencyPairService.GetCurrencyPair(Exchange.CoinbasePro, currencyPair); var orderBook = await GetOrderBook <OrderBook>(ExchangeEndpointBase.CoinbasePro + $"products/{pair}/book"); var bestBid = orderBook.Bids.First().First(); var bestAsk = orderBook.Asks.First().First(); return(new BestExchangeQuote(Exchange.CoinbasePro.Name, bestBid, bestAsk)); }