Exemple #1
0
        private void SaveQuoteProc(object sender, ElapsedEventArgs e)
        {
            var timer = sender as Timer;

            timer.Stop();
            var dictBuffer = new Dictionary <Tuple <string, DateTime>, Tuple <double, double> >();

            while (!_queQuote.IsEmpty)
            {
                QuoteInfoEventArgs item = null;
                _queQuote.TryDequeue(out item);
                var dayFormat = item.Timestamp;
                var key       = new Tuple <string, DateTime>(item.Symbol, dayFormat);
                if (!dictBuffer.ContainsKey(key))
                {
                    dictBuffer[key] = new Tuple <double, double>(item.Ask, item.Bid);
                }
            }
            var items = dictBuffer.Select(i => new Tuple <string, double, double, DateTime>
                                              (i.Key.Item1, i.Value.Item1, i.Value.Item2, i.Key.Item2));

            UpdateQuote(items);
            if (EnableRunning)
            {
                timer.Start();
            }
        }
Exemple #2
0
        void WhenNewQuote(object sender, QuoteInfoEventArgs e)
        {
            var handler = OnNewQuote;

            if (handler != null)
            {
                handler(sender, e);
            }
        }
Exemple #3
0
 void WhenNewQuote(object sender, QuoteInfoEventArgs e)
 {
     _queQuote.Enqueue(e);
 }