Beispiel #1
0
        protected bool processTicker(BaseTicker ticker)
        {
            // true - тікер обробили, його потрібно вивести
            // false - тікер не змінився
            bool processed = false;

            if (ticker.Symbol != string.Empty && ticker.BidPrice != 0 && ticker.AskPrice != 0 && ticker.TotalTradedVolume != 0)
            {
                if (totalTicker.dictionaryTicker.ContainsKey(ticker.Symbol))
                {
                    BaseTicker updatedTicker;
                    processed = calculateTicker(ticker, out updatedTicker);
                    if (processed)
                    {
                        totalTicker.dictionaryTicker[ticker.Symbol] = updatedTicker;
                    }
                }
                else
                {
                    totalTicker.dictionaryTicker[ticker.Symbol] = ticker;
                    processed = true;
                    //totalTicker.dictionaryTicker.TryAdd(ticker.Symbol, ticker);
                }
            }
            return(processed);
        }
        public override bool Equals(Object obj)
        {
            if (obj == null || GetType() != obj.GetType())
            {
                return(false);
            }

            BaseTicker ticker = (BaseTicker)obj;

            return((AskPrice == ticker.AskPrice) && (BidPrice == ticker.BidPrice) && (TotalTradedVolume == ticker.TotalTradedVolume));
        }
Beispiel #3
0
        protected bool calculateTicker(BaseTicker newTicker, out BaseTicker resultTicker)
        {
            // true - прийшов новий тікер
            // false - тікер рівний тікеру в dictionaryTicker
            bool       changed    = false;
            BaseTicker lastTicker = totalTicker.dictionaryTicker[newTicker.Symbol];

            if (lastTicker.AskPrice != newTicker.AskPrice ||
                lastTicker.BidPrice != newTicker.BidPrice ||
                lastTicker.TotalTradedVolume != newTicker.TotalTradedVolume)
            {
                resultTicker = newTicker;
                changed      = true;
            }
            else
            {
                resultTicker = new BaseTicker();
            }

            return(changed);
        }