private void RunOptimizationModel(Response response) { //var tickDataFileNames = _optimizationTickDataFileList.Where(f => f.Checked).Select(f => f.LongFileName).ToList(); _backtestModel.Reset(); _backtestModel.LoadResponse(response); //_backtestModel.LoadTickData(tickDataFileNames); _backtestModel.Play(_optimizationConfigurationModel.SelectedPlayToValue); }
//TOGGLE FOR TEMPORARY TESTING private void RunBacktestButton_Click(object sender, System.Windows.RoutedEventArgs e) { UnbindInitializationModels(); UnbindReportModels(); _backtest.Clear(); _activityModel.Status = "Backtest started."; var tickDataGroups = BacktestingTickFileControl.GetSelectedFilePaths(); _activityModel.NumberTestsToRun = tickDataGroups.Count; _activityModel.NumberTestsCompleted = 0; foreach (var _tickDataGroup in tickDataGroups) { var _backtestingModel = new BacktestingModel(); _backtestingModel.CacheWait = _backtestingConfigurationModel.CacheWait; var _reportModel = new BatchReportModel(_backtestingModel, _activityModel /*, updatePlots*/); var info = TickFileNameInfo.GetTickFileInfoFromLongName(_tickDataGroup.First()); _reportModel.ReportName = "Y:" + info.Year.ToString() + ",M:" + info.Month.ToString() + ",D:" + info.Day.ToString(); _backtest.AddRun(_backtestingModel, _reportModel); _reportModel.RegisterDispatcher(DispatchableType.Fill, FillsTab.Dispatcher); _reportModel.RegisterDispatcher(DispatchableType.Indicator, IndicatorTab.Dispatcher); _reportModel.RegisterDispatcher(DispatchableType.Message, MessagesTab.Dispatcher); _reportModel.RegisterDispatcher(DispatchableType.Order, OrdersTab.Dispatcher); _reportModel.RegisterDispatcher(DispatchableType.Plot, BacktestPlotter.Dispatcher); _reportModel.RegisterDispatcher(DispatchableType.Position, PositionTab.Dispatcher); BindInitializationModels(); _backtestingModel.LoadResponse(_backtestingConfigurationModel.GetFreshResponseInstance()); _backtestingModel.LoadTickData(_tickDataGroup); _backtestingModel.Play(_backtestingConfigurationModel.SelectedPlayToValue); } Task.Factory.StartNew(() => { _activityModel.AllRunsCompleted.WaitOne(); if (_backtest.BacktestReports.Any()) { _backtest.SelectedReport = _backtest.BacktestReports.First(); BindStatisticsModels("Results"); } }); }