Beispiel #1
0
        private void ProcessMessageTicker(ISerializedValue[] arguments)
        {
            var currencyPair          = CurrencyPair.Parse(arguments[0].Deserialize <string>());
            var priceLast             = arguments[1].Deserialize <double>();
            var orderTopSell          = arguments[2].Deserialize <double>();
            var orderTopBuy           = arguments[3].Deserialize <double>();
            var priceChangePercentage = arguments[4].Deserialize <double>();
            var volume24HourBase      = arguments[5].Deserialize <double>();
            var volume24HourQuote     = arguments[6].Deserialize <double>();
            var isFrozenInternal      = arguments[7].Deserialize <byte>();

            var marketData = new MarketData
            {
                PriceLast             = priceLast,
                OrderTopSell          = orderTopSell,
                OrderTopBuy           = orderTopBuy,
                PriceChangePercentage = priceChangePercentage,
                Volume24HourBase      = volume24HourBase,
                Volume24HourQuote     = volume24HourQuote,
                IsFrozenInternal      = isFrozenInternal
            };

            if (Tickers.ContainsKey(currencyPair))
            {
                Tickers[currencyPair] = marketData;
            }
            else
            {
                Tickers.Add(currencyPair, marketData);
            }

            OnTickerChanged?.Invoke(this, new TickerChangedEventArgs(currencyPair, marketData));
        }
 private void Timer_Elapsed(object sender, ElapsedEventArgs e)
 {
     try
     {
         if (SubscribeTokenList != null && OnTickerChanged != null)
         {
             OnTickerChanged?.Invoke(SubscribeTokenList);
         }
     }
     catch (Exception ex)
     {
         OnError?.Invoke(ex.Message);
     }
 }