static void ShowSimulation(ISimulation simulation, List <IBar> bars, TaResult smallEma, TaResult bigEma) { Console.WriteLine(simulation.GetReport()); ChartPool.ClearSeries(); ChartPool.AddSeries( new List <Series> { new Series("Prices", ChartType.Lines, Colors.Black, bars.Select(x => new Sample(x.DateTime, (double)x.Close))), new Series("EMA Small", ChartType.Lines, Colors.Blue, smallEma.InstantValues.Select(x => new Sample(x.DateTime, x.Value))), new Series("EMA Big", ChartType.Lines, Colors.DarkGreen, bigEma.InstantValues.Select(x => new Sample(x.DateTime, x.Value))), new Series("Trades", ChartType.Trades, Colors.Purple, simulation.ClosedPositions.Select(x => new Trade(x.OpenDateTime, x.CloseDateTime, x.Side, (double)x.OpenPrice, (double)x.ClosePrice))), } ); }
static void ShowSimulation(ISimulation simulation, List <IBar> bars, TaResult indicator0, TaResult indicator1, TaResult indicator2, TaResult indicator3) { Console.WriteLine(simulation.GetReport()); ChartPool.ClearSeries(); ChartPool.AddSeries( new List <Series> { new Series("Prices", ChartType.Lines, Colors.Black, bars.Select(x => new Sample(x.DateTime, (double)x.Close))), new Series("indicator0", ChartType.Lines, Colors.Blue, indicator0.InstantValues.Select(x => new Sample(x.DateTime, x.Value))), new Series("indicator1", ChartType.Lines, Colors.DarkGreen, indicator1.InstantValues.Select(x => new Sample(x.DateTime, x.Value))), new Series("indicator2", ChartType.Lines, Colors.DarkGreen, indicator2.InstantValues.Select(x => new Sample(x.DateTime, x.Value))), new Series("indicator3", ChartType.Lines, Colors.DarkGreen, indicator3.InstantValues.Select(x => new Sample(x.DateTime, x.Value))), new Series("Trades", ChartType.Trades, Colors.Purple, simulation.ClosedPositions.Select(x => new Trade(x.OpenDateTime, x.CloseDateTime, x.Side, (double)x.OpenPrice, (double)x.ClosePrice))), } ); }