コード例 #1
0
        /// <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);
        }
コード例 #2
0
        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);
            }
        }