コード例 #1
0
        private RadCartesianChartView createChart()
        {
            RadCartesianChartView chart = new RadCartesianChartView(this.Activity);

            DateTimeCategoricalAxis horizontalAxis = new DateTimeCategoricalAxis();

            horizontalAxis.DateTimeFormat    = new SimpleDateFormat("MM/dd");
            horizontalAxis.DateTimeComponent = DateTimeComponent.Date;

            LinearAxis verticalAxis = new LinearAxis();

            DataPointBinding categoryBinding = new CategoryBinding();
            DataPointBinding openBinding     = new OpenValueBinding();
            DataPointBinding highBinding     = new HighValueBinding();
            DataPointBinding lowBinding      = new LowValueBinding();
            DataPointBinding closeBinding    = new CloseValueBinding();

            ArrayList data = this.getData();

            CandlestickSeries series = new CandlestickSeries();

            series.CategoryBinding = categoryBinding;
            series.OpenBinding     = openBinding;
            series.HighBinding     = highBinding;
            series.LowBinding      = lowBinding;
            series.CloseBinding    = closeBinding;
            series.Data            = data;

            BollingerBandsIndicator bollingerBands = new BollingerBandsIndicator();

            bollingerBands.CategoryBinding    = categoryBinding;
            bollingerBands.ValueBinding       = closeBinding;
            bollingerBands.Period             = 5;
            bollingerBands.StandardDeviations = 2;
            bollingerBands.Data = data;

            MovingAverageIndicator movingAverage = new MovingAverageIndicator();

            movingAverage.CategoryBinding = categoryBinding;
            movingAverage.ValueBinding    = closeBinding;
            movingAverage.Period          = 5;
            movingAverage.Data            = data;

            chart.VerticalAxis   = verticalAxis;
            chart.HorizontalAxis = horizontalAxis;
            chart.Series.Add(series);
            chart.Series.Add(bollingerBands);
            chart.Series.Add(movingAverage);

            // irrelevant
            horizontalAxis.LabelFitMode = AxisLabelFitMode.Rotate;

            return(chart);
        }
コード例 #2
0
        private RadCartesianChartView createChart()
        {
            RadCartesianChartView chart = new RadCartesianChartView(this.Activity);

            DateTimeCategoricalAxis horizontalAxis = new DateTimeCategoricalAxis();
            horizontalAxis.SetDateTimeFormat(new SimpleDateFormat("MM/dd"));
            horizontalAxis.DateTimeComponent = DateTimeComponent.Date;

            LinearAxis verticalAxis = new LinearAxis();

            DataPointBinding categoryBinding = new CategoryBinding();
            DataPointBinding openBinding = new OpenValueBinding();
            DataPointBinding highBinding = new HighValueBinding();
            DataPointBinding lowBinding = new LowValueBinding();
            DataPointBinding closeBinding = new CloseValueBinding();

            ArrayList data = this.getData();

            CandlestickSeries series = new CandlestickSeries();
            series.CategoryBinding = categoryBinding;
            series.OpenBinding = openBinding;
            series.HighBinding = highBinding;
            series.LowBinding = lowBinding;
            series.CloseBinding = closeBinding;
            series.Data = data;

            BollingerBandsIndicator bollingerBands = new BollingerBandsIndicator();
            bollingerBands.CategoryBinding = categoryBinding;
            bollingerBands.ValueBinding = closeBinding;
            bollingerBands.Period = 5;
            bollingerBands.StandardDeviations = 2;
            bollingerBands.Data = data;

            MovingAverageIndicator movingAverage = new MovingAverageIndicator();
            movingAverage.CategoryBinding = categoryBinding;
            movingAverage.ValueBinding = closeBinding;
            movingAverage.Period = 5;
            movingAverage.Data = data;

            chart.VerticalAxis = verticalAxis;
            chart.HorizontalAxis = horizontalAxis;
            chart.Series.Add(series);
            chart.Series.Add(bollingerBands);
            chart.Series.Add(movingAverage);

            // irrelevant
            horizontalAxis.LabelFitMode = AxisLabelFitMode.Rotate;

            return chart;
        }
コード例 #3
0
ファイル: Form1.cs プロジェクト: imaxmunguia/EjemploPracticos
        private void UpdateFinancialIndicator(string indicatorType)
        {
            DateTimeCategoricalAxis horizontalAxis = this.radChartView1.Axes[0] as DateTimeCategoricalAxis;
            LinearAxis verticalAxis = this.radChartView1.Axes[1] as LinearAxis;

            this.radChartView1.Series.Clear();

            IndicatorBase indicator = CreateFinancialIndicator(indicatorType);

            indicator.HorizontalAxis = horizontalAxis;
            indicator.VerticalAxis   = verticalAxis;
            indicator.PointSize      = SizeF.Empty;
            indicator.BorderColor    = Color.Black;

            IParentIndicator parentIndicator = indicator as IParentIndicator;

            if (parentIndicator != null)
            {
                parentIndicator.ChildIndicator.BorderColor = Color.Red;
            }

            this.radChartView1.Series.Add(indicator);
        }
コード例 #4
0
        public CartesianAxis GetAxis()
        {
            if (Axis is DateTimeCategoricalAxis)
            {
                var axis = (DateTimeCategoricalAxis)Axis;

                var axisCopy = new DateTimeCategoricalAxis
                {
                    LabelFormat    = axis.LabelFormat,
                    MajorTickStyle = axis.MajorTickStyle,
                    ShowLabels     = axis.ShowLabels,
                    ElementBrush   = axis.ElementBrush,
                    FontSize       = axis.FontSize,
                    FontWeight     = axis.FontWeight
                };

                return(axisCopy);
            }

            if (Axis is CategoricalAxis)
            {
                var axis = (CategoricalAxis)Axis;

                var axisCopy = new CategoricalAxis
                {
                    MajorTickStyle = axis.MajorTickStyle,
                    ShowLabels     = axis.ShowLabels,
                    ElementBrush   = axis.ElementBrush,
                    FontSize       = axis.FontSize,
                    FontWeight     = axis.FontWeight
                };

                return(axisCopy);
            }

            return(Axis);
        }
コード例 #5
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            enableFormatting = true;

            CartesianArea area = this.radChartView1.GetArea <CartesianArea>();

            area.ShowGrid = true;

            CartesianGrid grid = area.GetGrid <CartesianGrid>();

            grid.DrawHorizontalStripes = true;
            grid.ForeColor             = Color.FromArgb(200, 200, 200);
            grid.BorderDashStyle       = System.Drawing.Drawing2D.DashStyle.Dot;
            grid.DrawVerticalStripes   = false;
            grid.DrawHorizontalFills   = false;
            grid.DrawVerticalFills     = false;

            DateTimeCategoricalAxis horizontalAxis = new DateTimeCategoricalAxis();

            horizontalAxis.LabelFormat        = "{0:MMM - dd}";
            horizontalAxis.LabelFitMode       = AxisLabelFitMode.Rotate;
            horizontalAxis.LabelRotationAngle = 315;
            area.Axes.Add(horizontalAxis);

            LinearAxis verticalAxis = new LinearAxis();

            verticalAxis.Minimum  = 58;
            verticalAxis.Maximum  = 70;
            verticalAxis.AxisType = Telerik.Charting.AxisType.Second;
            area.Axes.Add(verticalAxis);

            InitializeOhlcSeries();
            SetupOhlcLabels();
        }
コード例 #6
0
ファイル: Form1.cs プロジェクト: imaxmunguia/EjemploPracticos
        private void UpdateStockSeries()
        {
            DateTimeCategoricalAxis horizontalAxis = this.radChartView2.Axes[0] as DateTimeCategoricalAxis;
            LinearAxis verticalAxis = this.radChartView2.Axes[1] as LinearAxis;

            this.radChartView2.Series.Clear();

            if (this.radDropDownList1.SelectedItem != null)
            {
                string seriesType = this.radDropDownList1.SelectedItem.Text;

                OhlcSeries series;
                if (seriesType == "Candlestick")
                {
                    series = new CandlestickSeries();
                }
                else
                {
                    series = new OhlcSeries();
                }

                series.BorderColor      = Color.FromArgb(102, 102, 102);
                series.BackColor        = Color.FromArgb(102, 102, 102);
                series.HorizontalAxis   = horizontalAxis;
                series.VerticalAxis     = verticalAxis;
                series.OpenValueMember  = "Open";
                series.HighValueMember  = "High";
                series.LowValueMember   = "Low";
                series.CloseValueMember = "Close";
                series.CategoryMember   = "Date";
                series.DataSource       = viewModel.Data;

                this.radChartView2.Series.Add(series);

                if (!(series is CandlestickSeries))
                {
                    foreach (OhlcPointElement point in series.Children)
                    {
                        if (point.IsFalling)
                        {
                            point.BorderColor = Color.FromArgb(175, 175, 175);
                        }
                    }
                }
            }

            if (this.radDropDownList2.SelectedItem != null)
            {
                IndicatorBase indicator = CreateMAIndicator(this.radDropDownList2.SelectedItem.Text);
                indicator.BorderColor = Color.Red;
                indicator.PointSize   = SizeF.Empty;

                IParentIndicator parentIndicator = indicator as IParentIndicator;
                if (parentIndicator != null)
                {
                    parentIndicator.ChildIndicator.BorderColor = Color.Black;
                }

                this.radChartView2.Series.Add(indicator);
            }
        }
コード例 #7
0
ファイル: Form1.cs プロジェクト: imaxmunguia/EjemploPracticos
        void radChartView1_Drill(object sender, DrillEventArgs e)
        {
            CartesianSeries series = new BarSeries();

            series.ValueMember    = "Value";
            series.CategoryMember = "Date";

            DateTimeCategoricalAxis horizontalAxis = new DateTimeCategoricalAxis();
            CartesianArea           area           = e.View.GetArea <CartesianArea>();

            area.ShowGrid = true;

            CartesianGrid grid = area.GetGrid <CartesianGrid>();

            grid.DrawHorizontalStripes = true;
            grid.DrawVerticalStripes   = true;

            this.radChartView1.ShowTrackBall = false;
            switch (e.Level)
            {
            case 0:
                series.DataSource        = DrillDownViewModel.ParseDataByYear();
                radChartView1.Title      = "Revenue by Years";
                grid.DrawVerticalStripes = false;
                this.FillBarSeries(series);
                break;

            case 1:
                if (e.SelectedPoint != null)
                {
                    year = ((DrillDownDataInfo)e.SelectedPoint.DataItem).Date.Year;
                }

                series.DataSource          = DrillDownViewModel.ParseDataByMonth(year);
                radChartView1.Title        = "Revenue by Months";
                horizontalAxis.LabelFormat = "{0:MMMM}";
                horizontalAxis.Title       = "Months";
                grid.DrawVerticalStripes   = false;
                this.FillBarSeries(series);
                break;

            case 2:
                if (e.SelectedPoint != null)
                {
                    month = ((DrillDownDataInfo)e.SelectedPoint.DataItem).Date.Month;
                }

                series                        = new LineSeries();
                series.ValueMember            = "Value";
                series.CategoryMember         = "Date";
                series.DataSource             = DrillDownViewModel.ParseDataByDay(year, month);
                series.ShowLabels             = true;
                series.DrawLinesToLabels      = true;
                series.SyncLinesToLabelsColor = false;
                series.LinesToLabelsColor     = Color.Black;

                radChartView1.Title              = "Revenue by Days";
                horizontalAxis.LabelFormat       = "{0:dd}";
                horizontalAxis.Title             = "Days";
                this.radChartView1.ShowTrackBall = true;
                grid.DrawVerticalStripes         = true;
                series.ForeColor = Color.Black;
                this.SetTrackBall();
                break;
            }

            e.View.Axes.Clear();
            series.HorizontalAxis = horizontalAxis;
            e.View.Series.Clear();
            e.View.Series.Add(series);

            this.FillColors(e.View, KnownPalette.Warm);
        }