private IEnumerable <ExchangeCoin> BalanceCollectionToExchangeCoins(IEnumerable <Balance> balances, Exchange exchange) { var exCoinList = new List <ExchangeCoin>(); foreach (var balance in balances) { var exCoin = BalanceToExchangeCoin(balance, exchange); exCoinList.Add(exCoin); } return(exCoinList); }
public async Task <IEnumerable <CoinBuy> > GetLatest(string symbol, decimal quantity, Exchange exchange) { var relevantBuys = await this.GetRelevantCoinBuys(symbol, quantity, exchange); var coinBuys = await this.Get(symbol, exchange); var exchangeList = relevantBuys.OrderByDescending(b => b.ClosedDate).ToList(); var dbList = coinBuys.OrderByDescending(b => b.ClosedDate).ToList(); return(await OnGetLastest(exchangeList, dbList)); }
public async Task <IEnumerable <ExchangeCoin> > Get(string symbol, Exchange exchange) { var entities = await _ecRepo.Get(e => e.Symbol.Equals(symbol) && e.Exchange == exchange); return(EntitiesToContracts(entities)); }
private IEnumerable <CoinBuy> ExchangeOrderCollectionToCoinBuys(IEnumerable <ExchangeOrder> orders, Exchange exchange) { var coinBuys = new List <CoinBuy>(); foreach (var order in orders) { var coinBuy = ExchangeOrderToCoinBuy(order, exchange); coinBuys.Add(coinBuy); } return(coinBuys); }
public async Task <IEnumerable <CoinBuy> > Get(string symbol, Exchange exchange) { var entities = await _cbRepo.Get(c => c.Pair.StartsWith(symbol) && c.Exchange == exchange); return(EntitiesToContracts(entities)); }
private IEnumerable <HistoricalPrice> TickerCollectionToHistoricalPrices(IEnumerable <Ticker> tickers, Exchange exchange) { var hpList = new List <HistoricalPrice>(); foreach (var ticker in tickers) { var hp = TickerToHistoricalPrice(ticker, exchange); hpList.Add(hp); } return(hpList); }
public async Task <IEnumerable <CoinBuy> > GetRelevantCoinBuys(string symbol, decimal quantity, Exchange exchange) { var pairs = await _hubBldr.GetMarketsForACoin(symbol); var orders = await _hubBldr.GetExchangeOrders(pairs, exchange); var coinBuyList = new List <CoinBuy>(); foreach (var order in orders) { var quantityApplied = quantity >= order.FilledQuantity ? order.FilledQuantity : quantity; quantity -= order.FilledQuantity; var coinBuy = ExchangeOrderToCoinBuy(order, exchange, quantityApplied); coinBuyList.Add(coinBuy); if (quantity <= 0) { break; } } return(coinBuyList); }
/// <summary> /// Convert an OrderResponse to an ExchangeOrder /// </summary> /// <param name="orderResponse">OrderResponse to convert</param> /// <returns>new ExchangeOrder object</returns> public ExchangeOrder OrderResponseToExchangeOrder(OrderResponse orderResponse, Exchange exchange) { var exchangeOrder = new ExchangeOrder { Exchange = exchange, FilledQuantity = orderResponse.FilledQuantity, OrderId = orderResponse.OrderId, Pair = orderResponse.Pair, PlaceDate = orderResponse.TransactTime, Price = orderResponse.Price, Quantity = orderResponse.OrderQuantity, Side = (Side)orderResponse.Side }; return(exchangeOrder); }
private IEnumerable <ExchangeOrder> OrderResponseCollectionToExchangeOrders(IEnumerable <OrderResponse> orders, Exchange exchange) { var exchangeOrders = new List <ExchangeOrder>(); foreach (var order in orders) { var exchangeOrder = OrderResponseToExchangeOrder(order, exchange); exchangeOrders.Add(exchangeOrder); } return(exchangeOrders); }
private IEnumerable <CoinBuy> OrderResponseCollectionToCoinBuys(IEnumerable <OrderResponse> orders, Exchange exchange) { var coinBuys = new List <CoinBuy>(); foreach (var order in orders) { var coinBuy = OrderResponseToCoinBuy(order, exchange); coinBuys.Add(coinBuy); } return(coinBuys); }
public async Task <IEnumerable <ExchangeOrder> > GetExchangeOpenOrdersByPairs(IEnumerable <string> pairs, Exchange exchange) { var hub = _exchangeHubs.Where(e => e.GetExchange() == exchange.ToString()).FirstOrDefault(); var exchangeOrders = new List <ExchangeOrder>(); foreach (var pair in pairs) { var pairOrders = await hub.GetOpenOrders(pair); exchangeOrders.AddRange(OrderResponseCollectionToExchangeOrders(pairOrders, IHelper.StringToExchange(hub.GetExchange()))); } return(exchangeOrders); }
public async Task <IEnumerable <ExchangeOrder> > GetExchangeOpenOrders(string pair, Exchange exchange) { var hub = _exchangeHubs.Where(e => e.GetExchange() == exchange.ToString()).FirstOrDefault(); var orders = await hub.GetOpenOrders(pair); var exchangeOrders = OrderResponseCollectionToExchangeOrders(orders, IHelper.StringToExchange(hub.GetExchange())); return(exchangeOrders); }