示例#1
0
        public void UpdateRisks()
        {
            Risks.Clear();

            var assetClasses = (AssetClass[])Enum.GetValues(typeof(AssetClass));

            _total = 0.00;

            foreach (var assetClass in assetClasses)
            {
                var openTrades = DataConnection.GetOpenTradesByAssetClass(assetClass);

                var risk = 0.00;

                foreach (var trade in openTrades)
                {
                    risk += trade.Open.Size * (int)trade.Market.PipDivisor *
                            (Math.Abs(trade.Open.Level - trade.Levels.Stop));
                }

                _total += risk;

                Risks.Add(new Risk(assetClass.ToString(), risk));
            }

            Risks.Add(new Risk("Total", _total));

            if (_total > 0)
            {
                UpdatePercentages();
            }

            PiePlot.UpdateData(Risks);
        }
示例#2
0
        public PiePlot PlotPie(
            double[] values,
            string[] sliceLabels = null,
            Color[] colors       = null,
            bool explodedChart   = false,
            bool showValues      = false,
            bool showPercentages = false,
            bool showLabels      = true,
            string label         = null
            )
        {
            colors = colors ?? Enumerable.Range(0, values.Length).Select(i => settings.PlottablePalette.GetColor(i)).ToArray();

            PiePlot pie = new PiePlot(values, sliceLabels, colors)
            {
                explodedChart   = explodedChart,
                showValues      = showValues,
                showPercentages = showPercentages,
                showLabels      = showLabels,
                label           = label
            };

            Add(pie);
            return(pie);
        }