/// <summary> /// Performs additional initialization steps after algorithm initialization /// </summary> protected virtual void PostInitialize() { SubscriptionSynchronizer.SubscriptionFinished += (sender, subscription) => { SubscriptionManager.RemoveSubscription(subscription.Configuration); Log.Debug("Synchronizer.SubscriptionFinished(): Finished subscription:" + $"{subscription.Configuration} at {FrontierTimeProvider.GetUtcNow()} UTC"); }; // this is set after the algorithm initializes _dateTimeZone = Algorithm.TimeZone; TimeSliceFactory = new TimeSliceFactory(_dateTimeZone); SubscriptionSynchronizer.SetTimeSliceFactory(TimeSliceFactory); }
private void PostInitialize() { _subscriptionSynchronizer.SubscriptionFinished += (sender, subscription) => { _subscriptionManager.RemoveSubscription(subscription.Configuration); Log.Debug("Synchronizer.SubscriptionFinished(): Finished subscription:" + $"{subscription.Configuration} at {FrontierTimeProvider.GetUtcNow()} UTC"); }; // this is set after the algorithm initializes _dateTimeZone = _algorithm.TimeZone; _timeSliceFactory = new TimeSliceFactory(_dateTimeZone); _subscriptionSynchronizer.SetTimeSliceFactory(_timeSliceFactory); if (!_liveMode) { // GetTimeProvider() will call GetInitialFrontierTime() which // will consume added subscriptions so we need to do this after initialization TimeProvider = GetTimeProvider(); _subscriptionSynchronizer.SetTimeProvider(TimeProvider); } }