Ejemplo n.º 1
0
        private void BtnStartClick(object sender, EventArgs e)
        {
            if (worker.IsBusy)
            {
                // тест в процессе, пользователь пытается остановить тест
                stoppingTest = true;
                return;
            }

            stoppingTest      = false;
            progressBar.Value = 0;
            // сохраним настройки
            UserSettings.Instance.UseTestPeriod  = cbUseSelectedDate.Checked;
            UserSettings.Instance.TestPeriodFrom = dtDateFrom.Value;
            UserSettings.Instance.TestPeriodTo   = dtDateTo.Value;
            UserSettings.Instance.SaveLog        = cbLogTrace.Checked;
            UserSettings.Instance.SaveSettings();

            if (cbUseSelectedDate.Checked)
            {
                robotContext.TimeFrom = dtDateFrom.Value;
                robotContext.TimeTo   = dtDateTo.Value;
            }
            else
            {
                robotContext.TimeFrom = new DateTime(1999, 1, 1, 1, 0, 0);
                robotContext.TimeTo   = DateTime.Now;
                dtDateFrom.Value      = robotContext.TimeFrom;
                dtDateTo.Value        = robotContext.TimeTo;
            }

            robotContext.ClearAllTradeHistory();
            foreach (var robot in robotPortfolioControl.GetUsedRobots())
            {
                robot.Initialize(robotContext, CurrentProtectedContext.Instance);
                robotContext.SubscribeRobot(robot);
            }

            robotContext.LogRobots         = cbLogTrace.Checked;
            robotContext.UpdateTickerCache = cbUpdateQuotes.Checked;
            robotContext.InitiateTest();

            // сменить заголовок кнопки
            btnStart.Text = controlButtonNameStop;

            worker.RunWorkerAsync();
        }