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]); } }
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; } }