예제 #1
0
        private async Task <List <OrderBook> > GetOrderBooks()
        {
            var assetPairQuotes = await _assetPairQuoteRepository.GetAllAsync();

            var orderBook = new List <OrderBook>();

            foreach (var assetPairQuote in assetPairQuotes)
            {
                var assetPair = await _dictionaryProxy.GetAssetPairByIdAsync(assetPairQuote.AssetPairId);

                var significantDigit = Math.Pow(10, -assetPair.Accuracy);
                var sign             = _rnd.Next(0, 1) * 2 - 1;

                var ask = assetPairQuote.Ask + sign * significantDigit;
                var bid = assetPairQuote.Bid + sign * significantDigit;

                var orderBookItemSell = new OrderBook
                {
                    AssetPair   = assetPair,
                    Price       = ask,
                    OrderAction = OrderAction.Sell,
                    Volume      = -1 * _rnd.Next(500, 100000)
                };

                var orderBookItemBuy = new OrderBook
                {
                    AssetPair   = assetPair,
                    Price       = bid,
                    OrderAction = OrderAction.Buy,
                    Volume      = _rnd.Next(500, 100000)
                };

                orderBook.Add(orderBookItemSell);
                orderBook.Add(orderBookItemBuy);
            }
            return(orderBook);
        }
 public async Task <IEnumerable <AssetPairQuote> > GetMarketProfileAsync()
 {
     return(await _assetPairQuoteRepository.GetAllAsync());
 }