Example #1
0
        public void Start()
        {
            loggingService.Info($"Start Core service (Version: {Version})...");

            if (backtestingService.Config.Enabled)
            {
                backtestingService.Start();
            }
            if (Config.HealthCheckInterval > 0 && (!backtestingService.Config.Enabled || !backtestingService.Config.Replay))
            {
                healthCheckService.Start();
            }
            if (tradingService.Config.Enabled)
            {
                tradingService.Start();
            }
            if (notificationService.Config.Enabled)
            {
                notificationService.Start();
            }
            if (webService.Config.Enabled)
            {
                webService.Start();
            }

            ThreadPool.QueueUserWorkItem((state) =>
            {
                Thread.Sleep(2000);
                Started?.Invoke();
                tasksService.StartAllTasks();
            });

            loggingService.Info("Core service started");
            notificationService.Notify($"IntelliTrader started");
        }