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);
                }
            }
        }
示例#2
0
        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));
 }