/// <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(); } }