예제 #1
0
        void Indicator_Checked(object sender, RoutedEventArgs e)
        {
            ChartTechnicalIndicator indicator = new ChartTechnicalIndicator();

            indicator.IndicatorType = IndicatorTypes.Stochastics;
            ser1.Indicators.Items.Add(indicator);
            syncChart1.Areas[0].SplitterPosition = .6;
            if (syncChart1.Areas.Count > 1)
            {
                ChartStochastics.SetLowerLineColor(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1], Brushes.DarkOrchid);
                ChartStochastics.SetUpperLineColor(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1], Brushes.DarkOrchid);
                ChartStochastics.SetSignalLineColor(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1], Brushes.DarkOrchid);
                ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].stocasticsArea.Background = this.Resources["transparentBackground"] as SolidColorBrush;
                ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].stocasticsArea.SecondaryAxis.LineStroke            = this.Resources["linestroke"] as Pen;
                ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].stocasticsArea.SecondaryAxis.IntersectAction       = ChartLabelIntersectAction.Hide;
                ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].stocasticsArea.SecondaryAxis.EdgeLabelsDrawingMode = EdgeLabelsDrawingMode.Shift;
                ChartArea.SetGridLineStroke(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].stocasticsArea.SecondaryAxis, this.Resources["gridstroke"] as Pen);
                ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].stocasticsArea.SecondaryAxis.OpposedPosition = true;
                ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].stocasticsArea.SecondaryAxis.LabelTemplate   = this.Resources["YAxistemplate"] as DataTemplate;
                for (int i = 0; i < syncChart1.Areas.Count; i++)
                {
                    SetHorizontalScale(syncChart1.Areas[i]);
                }
            }
            ChartLayer layer = new ChartLayer();

            layer.LayerIndicatorName = "Stochastics";
            layer.ParmsToParmString(defaultParams);
            ChartFastSeriesPresenter.SetPen(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].stocasticsArea.Series[0],
                                            new Pen()
            {
                Brush = Brushes.DarkOrchid, Thickness = 2d, DashStyle = DashStyles.Dash
            });
            ChartFastSeriesPresenter.SetPen(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].stocasticsArea.Series[1],
                                            new Pen()
            {
                Brush = Brushes.DarkOrchid, Thickness = 2d, DashStyle = DashStyles.Dash
            });
            ChartFastSeriesPresenter.SetPen(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].stocasticsArea.Series[2],
                                            new Pen()
            {
                Brush = Brushes.DarkOrchid, Thickness = 2d, DashStyle = DashStyles.Solid
            });
            foreach (ChartSeries series in ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].stocasticsArea.Series)
            {
                AddNotes(series, layer, 5);
            }
            for (int i = 0; i < syncChart1.Areas.Count; i++)
            {
                SetHorizontalScale(syncChart1.Areas[i]);
            }
        }
예제 #2
0
        void Window1_Checked6(object sender, RoutedEventArgs e)
        {
            if (reset.IsEnabled == false)
            {
                reset.IsEnabled = true;
            }
            ChartTechnicalIndicator indicator = new ChartTechnicalIndicator();
            indicator.IndicatorType = IndicatorTypes.Stochastics ;
            ser1.Indicators.Items.Add(indicator);
            if (syncChart1.Areas.Count > 1)
            {
                ChartStochastics.SetLowerLineColor(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1], new SolidColorBrush(Color.FromRgb(0x00, 0xD3, 0x0A)));
                ChartStochastics.SetUpperLineColor(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1], new SolidColorBrush(Color.FromRgb(0x00, 0xF3, 0xFf)));
                ChartStochastics.SetSignalLineColor(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1], new SolidColorBrush(Color.FromRgb(0xFF, 0xF2, 0x00)));
                ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].stocasticsArea.SecondaryAxis.LineStroke = this.Resources["pen1"] as Pen;
                ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].stocasticsArea.SecondaryAxis.TickLineStroke = this.Resources["pen1"] as Pen;
                ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].stocasticsArea.SecondaryAxis.IntersectAction = ChartLabelIntersectAction.Hide;
                ChartArea.SetGridLineStroke(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].stocasticsArea.SecondaryAxis, this.Resources["pen1"] as Pen);
                ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].stocasticsArea.SecondaryAxis.LabelForeground = this.Resources["gradient2"] as LinearGradientBrush;
            }

        }