Exemplo n.º 1
0
        /// <summary>
        /// Initiate data feed
        /// </summary>
        public override void Execute()
        {
            //Connect to Spark API if required
            ApiControl.Instance.Connect();

            //Get instance to exchange
            Spark.Exchange exchangeRef;
            if (ApiFunctions.GetSparkExchange(Exchange, out exchangeRef))
            {
                //Request all events for current day
                Spark.Event sparkEvent = new Spark.Event();
                if (Spark.GetAllExchangeEvents(ref exchangeRef, ref sparkEvent))
                {
                    while (Spark.GetNextExchangeEvent(ref exchangeRef, ref sparkEvent, -1))     //Specifying -1 timeout will keep it waiting until end of day
                    {
                        RaiseEvent(new EventFeedArgs(sparkEvent, Spark.TimeToDateTime(sparkEvent.Time)));
                    }
                }

                //Release memory at end of day
                Spark.ReleaseCurrentEvents();
            }
        }