示例#1
0
 /// <summary>
 /// Stops event feed updates and closes down feed and thread
 /// </summary>
 private void Stop()
 {
     if (_eventFeed != null)
     {
         _eventFeed.RemoveSecurity(_security);
         Application.DoEvents();
         _eventFeedThread.Abort();
         int retryCount = 0;
         while ((_eventFeedThread.ThreadState != ThreadState.Aborted) && (retryCount < 10))
         {
             Thread.Sleep(100);
             retryCount++;
         }
         _eventFeedThread = null;
         _eventFeed       = null;
     }
 }
示例#2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="symbol"></param>
        /// <param name="exchange"></param>
        private void Initialise(string symbol, string exchange)
        {
            //Stop existing event feed if required
            if (_eventFeed != null)
            {
                Stop();
            }

            //Start new event feed using
            _eventFeed = new ApiSecurityEventFeed(symbol, exchange);

            //Create stock to process events
            _security = new Security(symbol);
            _eventFeed.AddSecurity(_security);
            securityMarketView.Security = _security;


            //Initiate replay on separate thread
            _eventFeedThread = new Thread(_eventFeed.Execute);
            _eventFeedThread.Start();
        }