protected override void OnStart(string[] args) { try { RobotCollection.Initialize(); } catch (Exception ex) { Logger.Error("Ошибка инициализации коллекции роботов", ex); throw; } QuoteStorage.Instance.LoadQuotes(string.Format("{0}\\lastquote.txt", ExecutablePath.ExecPath)); try { quoteReceiver = new TcpQuoteReceiver(); } catch (Exception ex) { Logger.Error("Ошибка получения котировок", ex); throw; } Logger.InfoFormat("Старт сервиса - загрузка настроек"); BL.RobotFarm.Instance.LoadSettings(); quoteReceiver.OnQuotesReceived += BL.RobotFarm.Instance.OnQuotesReceived; StartWebServer(); }
/// <summary> /// подкачать из БД свечки m1 за указанный период по указанным тикерам /// </summary> public void Initialize() { GetTickersToLoad(); // актуализировать историю свеч m1 var thread = new Thread(() => { AtomCandleStorage.Instance.LoadFromFiles(quoteDir); Logger.Info("Старт получения котировок от сервера"); GetDateRangeOnServer(); foreach (var ticker in tickersToStore) { ActualizeHistoryByTicker(ticker); } Logger.Info("Старт упаковки котировок в свечи"); InitCandlePackers(); Logger.Info("Подписка на получение котировок"); // подписаться на свежачок quoteReceiver = new TcpQuoteReceiver(); quoteReceiver.OnQuotesReceived += OnQuotesReceived; initializationIsCompleted = true; Logger.Info("Иницииализация завершена"); }); thread.Start(); }
protected void Application_Start() { quoteReceiver = new TcpQuoteReceiver(); AreaRegistration.RegisterAllAreas(); WebApiConfig.Register(GlobalConfiguration.Configuration); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); }
protected override void OnStart(string[] args) { // подгрузить метаданные DalSpot.Instantiate(DictionaryManager.Instance); // инициализация торговой библиотеки StartTradeLib(); // запустить сервера WCF StartWcfHosts(); // подгрузить срез котировок QuoteStorage.Instance.LoadQuotes(string.Format("{0}\\lastquote.txt", ExecutablePath.ExecPath)); // старт монитора ордеров AccountCheckStream.Instance.Start(); // старт сохранения событий по счетам UserEventStorage.Instance.Start(); try { hostModuleController = new ServiceHost(ModuleStatusController.Instance); hostModuleController.Open(); } catch (Exception ex) { Logger.Error("Ошибка в ModuleController", ex); } // старт получения живой котиры try { quoteReceiver = new TcpQuoteReceiver(); quoteReceiver.OnQuotesReceived += OnQuotesReceived; } catch (Exception ex) { Logger.Error("Ошибка старта получения живой котировки", ex); } StartWebServer(); // стартовать прослушку очереди сообщений от провайдеров try { ProviderQueueReader.Instance.Start(); } catch (Exception ex) { Logger.Error("Ошибка старта прослушки очереди сообщений от провайдера", ex); throw; } try { UserEventManager.Instance.Start(); } catch (Exception ex) { Logger.Error("Ошибка запуска UserEventManager", ex); } Logger.Info("Сервис запущен"); }
protected override void OnStart(string[] args) { try { hostServerStatusController = new ServiceHost(ModuleStatusController.Instance); hostServerStatusController.Open(); } catch (Exception ex) { Logger.Error("Ошибка в OnStart для ModuleStatusController", ex); throw; } quoteReceiver = new TcpQuoteReceiver(); try { SignalExecutor.Instance.Start(); } catch (Exception ex) { Logger.Error("Ошибка старта контроллера", ex); throw; } try { PAMMFeeManager.Instance.Start(); } catch (Exception ex) { Logger.Error("Ошибка старта PAMM-менеджера", ex); throw; } try { hostServerStat = new ServiceHost(SignalExecutor.Instance); hostServerStat.Open(); } catch (Exception ex) { Logger.Error("Ошибка старта WCF-хоста", ex); throw; } StartWebServer(); Logger.Info("Служба TradeSignalExecutor запущена"); }
public MainForm() { InitializeComponent(); SetupDaysOff(); workerQuote.WorkerSupportsCancellation = true; workerQuote.WorkerReportsProgress = true; workerQuote.DoWork += WorkerQuoteOnDoWork; workerQuote.ProgressChanged += (sender, args) => { lblWorkerProgress.Text = "прогресс: " + args.ProgressPercentage; }; workerQuote.RunWorkerCompleted += WorkerQuoteOnRunWorkerCompleted; receiver = new TcpQuoteReceiver(); receiver.OnQuotesReceived += (names, quotes) => { LiveQuotes.Instance.UpdateQuotes(names, quotes); }; RobotCollection.Initialize(); }