public EquityCurveChartPanel() { InitializeComponent(); _totalPnL = EquityChart.CreateCurve(LocalizedStrings.PnL, Colors.Green, Colors.Red, EquityCurveChartStyles.Area); _unrealizedPnL = EquityChart.CreateCurve(LocalizedStrings.PnLUnreal, Colors.Black); _commission = EquityChart.CreateCurve(LocalizedStrings.Str159, Colors.Red, EquityCurveChartStyles.DashedLine); var cmdSvc = ConfigManager.GetService <IStudioCommandService>(); cmdSvc.Register <ResetedCommand>(this, false, cmd => { _totalPnL.Clear(); _unrealizedPnL.Clear(); _commission.Clear(); }); cmdSvc.Register <PnLChangedCommand>(this, false, cmd => { _totalPnL.Add(new EquityData { Time = cmd.Time, Value = cmd.TotalPnL }); _unrealizedPnL.Add(new EquityData { Time = cmd.Time, Value = cmd.UnrealizedPnL }); _commission.Add(new EquityData { Time = cmd.Time, Value = cmd.Commission ?? 0 }); }); }
public PositionChartPanel() { InitializeComponent(); _positionCurve = EquityChart.CreateCurve(LocalizedStrings.Str862, Colors.SteelBlue); var cmdSvc = ConfigManager.GetService <IStudioCommandService>(); cmdSvc.Register <ResetedCommand>(this, false, cmd => _positionCurve.Clear()); cmdSvc.Register <PositionCommand>(this, false, cmd => _positionCurve.Add(new EquityData { Time = cmd.Time, Value = cmd.Position.Value })); }