Пример #1
0
        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);
        }
        public async Task <IEnumerable <ExchangeOrder> > GetFromExchange(string symbol, Exchange exchange)
        {
            var pairs = await _hubBldr.GetMarketsForACoin(symbol);

            return(await _hubBldr.GetExchangeOpenOrdersByPairs(pairs, exchange));

            //var exchangeOrderList = new List<ExchangeOrder>();

            //foreach (var order in orders)
            //{
            //    var exchangeOrder = OrderResponseToExchangeOrder(order, exchange);
            //    exchangeOrderList.Add(exchangeOrder);
            //}

            //return exchangeOrderList;
        }