public void IgnorePlotDuringLiveWarmup(bool liveMode) { _algorithm.SetLiveMode(liveMode); _algorithm.Plot("Chart", 1); _algorithm.Plot("Chart", "Series", 2); foreach (var chart in _algorithm.GetChartUpdates(true)) { foreach (var serie in chart.Series) { if (liveMode) { Assert.IsEmpty(serie.Value.Values); } else { Assert.IsNotEmpty(serie.Value.Values); } } } _algorithm.SetFinishedWarmingUp(); _algorithm.Plot("Chart", 1); _algorithm.Plot("Chart", "Series", 2); foreach (var chart in _algorithm.GetChartUpdates(true)) { foreach (var serie in chart.Series) { Assert.IsNotEmpty(serie.Value.Values); } } }
public void TestGetChartUpdatesWhileAdding() { var algorithm = new QCAlgorithm(); var task1 = Task.Factory.StartNew(() => { for (var i = 0; i < 1000; i++) { algorithm.AddChart(new Chart($"Test_{i}")); Thread.Sleep(1); } }); var task2 = Task.Factory.StartNew(() => { for (var i = 0; i < 1000; i++) { algorithm.GetChartUpdates(true); Thread.Sleep(1); } }); Task.WaitAll(task1, task2); }
/// <summary> /// Get the chart updates since the last request: /// </summary> /// <param name="clearChartData"></param> /// <returns>List of Chart Updates</returns> public List <Chart> GetChartUpdates(bool clearChartData = false) { return(_baseAlgorithm.GetChartUpdates(clearChartData)); }