Exemplo n.º 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));
        }