Пример #1
0
 //说明:为什么没有把这些更新放到相应的类里是因为apiManager只出现在Markets这个类中!
 private void UpdateExchangeTickers(TickersByExchange exchangeTickers)
 {
     foreach (var ticker in exchangeTickers)
     {
         ITickerApi tickerUpdater = apiManager.GetApi <ITickerApi>(ticker.Exchange.AbbrName);
         var        refTicker     = ticker;
         tickerUpdater.UpdateTicker(ref refTicker);
     }
 }
Пример #2
0
        private TickersByExchange GetTickersByExchange(CurrencyPair pair)
        {
            TickersByExchange tickers = new TickersByExchange();

            foreach (ExchangeApi tradeApi in apiManager.AllExchangeApi)
            {
                if (tradeApi.SelectedPairs.Contains(pair))
                {
                    var ticker = tradeApi.SelectedTickers[pair.ToString()];
                    tickers.Add(ticker);
                }
            }
            return(tickers);
        }
Пример #3
0
        /// <summary>
        /// 返回某个市场的所有交易对。
        /// 当用户没有选择时返回的空列表。不是null。使用该方法时请注意为空时的处理。
        /// </summary>
        /// <param name="marketPair"></param>
        /// <returns></returns>
        public MarketTickers GetMarketTickers(MarketPair marketPair)
        {
            MarketTickers marketTickers = new MarketTickers();

            foreach (CurrencyPair pair in marketPair.QuotePairs)
            {
                TickersByExchange tickersByExchange = GetTickersByExchange(pair);
                //当货币对没有报价时!为空!根据设计,这时获取不到键值,所以就不加入到所有报价中!
                if (tickersByExchange.Count > 0)
                {
                    marketTickers.Add(tickersByExchange);
                }
            }
            return(marketTickers);
        }