コード例 #1
0
        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
                });
            });
        }
コード例 #2
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
            }));
        }