void Window1_Checked4(object sender, RoutedEventArgs e) { if (reset.IsEnabled == false) { reset.IsEnabled = true; } ChartTechnicalIndicator indicator = new ChartTechnicalIndicator(); indicator.IndicatorType = IndicatorTypes.MACD; ser1.Indicators.Items.Add(indicator); syncChart1.Areas[syncChart1.Areas.Count-1].BeginInit(); if (syncChart1.Areas.Count > 1) { ChartMACD.SetDivergenceLineColor(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1], new SolidColorBrush(Color.FromRgb(0x00, 0xD3, 0x0A))); ChartMACD.SetConvergenceLineColor(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1], new SolidColorBrush(Color.FromRgb(0x00, 0xF3, 0xFF))); ChartMACD.SetSignalLineInterior(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1], new SolidColorBrush(Color.FromRgb(0xFF, 0xF2, 0xFF))); ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].MACDArea.SecondaryAxis.LineStroke = this.Resources["pen1"] as Pen; ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].MACDArea.SecondaryAxis.TickLineStroke = this.Resources["pen1"] as Pen; ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].MACDArea.SecondaryAxis.EdgeLabelsDrawingMode = EdgeLabelsDrawingMode.Shift; ChartArea.SetGridLineStroke(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].MACDArea.SecondaryAxis, this.Resources["pen1"] as Pen); ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].MACDArea.SecondaryAxis.LabelForeground = this.Resources["gradient2"] as LinearGradientBrush; } syncChart1.Areas[syncChart1.Areas.Count - 1].EndInit(); }
void Indicator_Checked(object sender, RoutedEventArgs e) { ChartTechnicalIndicator indicator = new ChartTechnicalIndicator(); indicator.IndicatorType = IndicatorTypes.AccumulationDistribution; ser1.Indicators.Items.Add(indicator); ChartLayer layer = new ChartLayer(); layer.LayerIndicatorName = "Accumulation Distribution"; ChartAccumulationDistribution.SetSignalLineColor(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1], Brushes.Red); ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].accumulationArea.Background = this.Resources["transparentBackground"] as SolidColorBrush; ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].accumulationArea.SecondaryAxis.LineStroke = this.Resources["linestroke"] as Pen; ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].accumulationArea.SecondaryAxis.IntersectAction = ChartLabelIntersectAction.Hide; ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].accumulationArea.SecondaryAxis.EdgeLabelsDrawingMode = EdgeLabelsDrawingMode.Shift; ChartArea.SetGridLineStroke(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].accumulationArea.SecondaryAxis, this.Resources["gridstroke"] as Pen); ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].accumulationArea.SecondaryAxis.OpposedPosition = true; ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].accumulationArea.SecondaryAxis.LabelTemplate = this.Resources["YAxistemplate"] as DataTemplate; AddNotes(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].accumulationArea.Series[0], layer, 5); for (int i = 0; i < syncChart1.Areas.Count; i++) { SetHorizontalScale(syncChart1.Areas[i]); } }
public void Indicator2_Checked(object sender, RoutedEventArgs e) { ChartTechnicalIndicator indicator = new ChartTechnicalIndicator(); indicator.IndicatorType = IndicatorTypes.ExponentialAverage; ser1.Indicators.Items.Add(indicator); layer2.LayerIndicatorName = "Exponential Average"; ChartExponentialAverage.SetSignalLineInterior(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1], Brushes.Orange); AddNotes(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].Series, layer2, ChartExponentialAverage.GetExponentialAverage(indicator), 0); }
void Window1_Checked9(object sender, RoutedEventArgs e) { if (reset.IsEnabled == false) { reset.IsEnabled = true; } ChartTechnicalIndicator indicator = new ChartTechnicalIndicator(); indicator.IndicatorType = IndicatorTypes.SimpleAverage; ser1.Indicators.Items.Add(indicator); ChartSimpleAverage.SetSignalLineInterior(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1], new SolidColorBrush(Color.FromRgb(0xDD,0x00,0x00))); }
public void Indicator1_Checked(object sender, RoutedEventArgs e) { ChartTechnicalIndicator indicator = new ChartTechnicalIndicator(); layer1.LayerIndicatorName = "Simple Average"; indicator.IndicatorType = IndicatorTypes.SimpleAverage; ChartSimpleAverage.SetMovingAverage(indicator, 10); ser1.Indicators.Items.Add(indicator); ChartSimpleAverage.SetSignalLineInterior(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1], Brushes.Maroon); AddNotes(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].Series, layer1, ChartSimpleAverage.GetMovingAverage(indicator), 11); }
void Indicator_Checked(object sender, RoutedEventArgs e) { ChartTechnicalIndicator indicator = new ChartTechnicalIndicator(); indicator.IndicatorType = IndicatorTypes.MACD; ser1.Indicators.Items.Add(indicator); syncChart1.Areas[syncChart1.Areas.Count - 1].BeginInit(); if (syncChart1.Areas.Count > 1) { //ChartMACD.SetDivergenceLineColor(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1], Brushes.Olive); //ChartMACD.SetConvergenceLineColor(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1], Brushes.Olive); //ChartMACD.SetSignalLineInterior(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1], Brushes.Olive); ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].MACDArea.Background = this.Resources["transparentBackground"] as SolidColorBrush; ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].MACDArea.SecondaryAxis.LineStroke = this.Resources["linestroke"] as Pen; ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].MACDArea.SecondaryAxis.IntersectAction = ChartLabelIntersectAction.Hide; ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].MACDArea.SecondaryAxis.EdgeLabelsDrawingMode = EdgeLabelsDrawingMode.Shift; ChartArea.SetGridLineStroke(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].MACDArea.SecondaryAxis, this.Resources["gridstroke"] as Pen); ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].MACDArea.SecondaryAxis.OpposedPosition = true; ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].MACDArea.SecondaryAxis.LabelTemplate = this.Resources["YAxistemplate"] as DataTemplate; ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].MACDArea.SecondaryAxis.IsAutoSetRange = false; ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].MACDArea.SecondaryAxis.Range = new DoubleRange(-15, 15); ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].MACDArea.SecondaryAxis.Header = "Variation Range"; } ChartFastSeriesPresenter.SetPen(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].MACDArea.Series[0], new Pen() { Brush = Brushes.Olive, Thickness = 1d, DashStyle = DashStyles.Solid }); ChartFastSeriesPresenter.SetPen(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].MACDArea.Series[1], new Pen() { Brush = Brushes.Olive, Thickness = 2d, DashStyle = DashStyles.Solid }); ChartFastSeriesPresenter.SetPen(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].MACDArea.Series[2], new Pen() { Brush = Brushes.Olive, Thickness = 1d, DashStyle = DashStyles.Dash }); syncChart1.Areas[syncChart1.Areas.Count - 1].EndInit(); ChartLayer layer = new ChartLayer(); layer.LayerIndicatorName = "MACD"; layer.ParmsToParmString(defaultParams); foreach (ChartSeries series in ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].MACDArea.Series) { AddNotes(series, layer, 10); } for (int i = 0; i < syncChart1.Areas.Count; i++) { SetHorizontalScale(syncChart1.Areas[i]); } }
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]); } }
public void Indicator_Checked(object r, RoutedEventArgs e) { ChartTechnicalIndicator indicator = new ChartTechnicalIndicator(); indicator.IndicatorType = IndicatorTypes.BollingerBands; ser1.Indicators.Items.Add(indicator); layer.LayerIndicatorName = "Bollinger Bands"; layer.ParmsToParmString(new object[] { ChartBollingerBand.GetBollingerMovingAverage(indicator), 2.0d }); ChartBollingerBand.SetUpperLineColor(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1], Brushes.Brown); ChartBollingerBand.SetLowerLineColor(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1], Brushes.Brown); ChartBollingerBand.SetSignalLineColor(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1], Brushes.Brown); AddNotes(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].Series, layer, 5); // ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].MACDArea.SecondaryAxis.Header = "Variation Range"; }
void Indicator_Checked(object sender, RoutedEventArgs e) { ChartTechnicalIndicator indicator = new ChartTechnicalIndicator(); indicator.IndicatorType = IndicatorTypes.Momentum; ChartMomentum.SetMomentumTimeSpan(indicator, 10); ser1.Indicators.Items.Add(indicator); syncChart1.Areas[0].SplitterPosition = .6; if (syncChart1.Areas.Count > 1) { ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].momentumArea.Background = this.Resources["transparentBackground"] as SolidColorBrush; ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].momentumArea.SecondaryAxis.LineStroke = this.Resources["linestroke"] as Pen; ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].momentumArea.SecondaryAxis.IntersectAction = ChartLabelIntersectAction.Hide; ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].momentumArea.SecondaryAxis.EdgeLabelsDrawingMode = EdgeLabelsDrawingMode.Shift; ChartArea.SetGridLineStroke(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].momentumArea.SecondaryAxis, this.Resources["gridstroke"] as Pen); ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].momentumArea.SecondaryAxis.OpposedPosition = true; ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].momentumArea.SecondaryAxis.LabelTemplate = this.Resources["YAxistemplate"] as DataTemplate; for (int i = 0; i < syncChart1.Areas.Count; i++) { SetHorizontalScale(syncChart1.Areas[i]); } } ChartLayer layer = new ChartLayer(); if (layer != null && layer.NoteVisibility != NoteVisibilityState.Hidden) { foreach (ChartSeries series in ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].momentumArea.Series) { AnnotationsCollection annotations = new AnnotationsCollection(); ChartSeriesAnnotation annotation = new ChartSeriesAnnotation(); //annotation.Header = layer.Note + ChartMomentum.GetMomentumTimeSpan(indicator).ToString(); if (layer.NoteVisibility == NoteVisibilityState.Opened) { annotation.Stroke = new SolidColorBrush(layer.StrokeColor); annotation.Template = this.Resources["AnnotationTemplateText"] as DataTemplate; } else { annotation.Template = this.Resources["AnnotationTemplate"] as DataTemplate; } annotation.X = series.Data[leftVisibleIndex + 5].X; annotation.Y = series.Data[leftVisibleIndex + 5].Y; annotations.Items.Add(annotation); series.Annotations = annotations; } } }
void Window1_Checked2(object sender, RoutedEventArgs e) { if (reset.IsEnabled == false) { reset.IsEnabled = true; } ChartTechnicalIndicator indicator = new ChartTechnicalIndicator(); indicator.IndicatorType = IndicatorTypes.BollingerBands; ser1.Indicators.Items.Add(indicator); ChartBollingerBand.SetUpperLineColor(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1], new SolidColorBrush(Color.FromRgb(0x00,0xD3,0x0A))); ChartBollingerBand.SetLowerLineColor(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1], new SolidColorBrush(Color.FromRgb(0x00,0xF3,0xFF))); ChartBollingerBand.SetSignalLineColor(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1], new SolidColorBrush(Color.FromRgb(0xFF,0xF2,0x00))); }
void Window1_Checked1(object sender, RoutedEventArgs e) { if (reset.IsEnabled == false) { reset.IsEnabled = true; } ChartTechnicalIndicator indicator = new ChartTechnicalIndicator(); indicator.IndicatorType = IndicatorTypes.AccumulationDistribution; ser1.Indicators.Items.Add(indicator); ChartAccumulationDistribution.SetSignalLineColor(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1], new SolidColorBrush(Color.FromRgb(0x00,0xD3,0x0A))); ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].accumulationArea.SecondaryAxis.LineStroke = this.Resources["pen1"] as Pen; ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].accumulationArea.SecondaryAxis.TickLineStroke = this.Resources["pen1"] as Pen; ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].accumulationArea.SecondaryAxis.EdgeLabelsDrawingMode = EdgeLabelsDrawingMode.Shift; ChartArea.SetGridLineStroke(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].accumulationArea.SecondaryAxis, this.Resources["pen1"] as Pen); ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].accumulationArea.SecondaryAxis.LabelForeground = this.Resources["gradient2"] as LinearGradientBrush; indicator.accumulationArea.Loaded += new RoutedEventHandler(accumulationArea_Loaded); }
void Window1_Checked5(object sender, RoutedEventArgs e) { if (reset.IsEnabled == false) { reset.IsEnabled = true; } ChartTechnicalIndicator indicator = new ChartTechnicalIndicator(); indicator.IndicatorType = IndicatorTypes.Momentum; ser1.Indicators.Items.Add(indicator); if (syncChart1.Areas.Count > 1) { ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].momentumArea.SecondaryAxis.LineStroke = this.Resources["pen1"] as Pen; ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].momentumArea.SecondaryAxis.TickLineStroke = this.Resources["pen1"] as Pen; ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].momentumArea.SecondaryAxis.IntersectAction = ChartLabelIntersectAction.Hide; ChartArea.SetGridLineStroke(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].momentumArea.SecondaryAxis, this.Resources["pen1"] as Pen); ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].momentumArea.SecondaryAxis.LabelForeground = this.Resources["gradient2"] as LinearGradientBrush; } }
void Window1_Checked8(object sender, RoutedEventArgs e) { if (reset.IsEnabled == false) { reset.IsEnabled = true; } ChartTechnicalIndicator indicator = new ChartTechnicalIndicator(); indicator.IndicatorType = IndicatorTypes.RelativeStrengthIndex; ser1.Indicators.Items.Add(indicator); if (syncChart1.Areas.Count > 1) { ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].rsiArea.SecondaryAxis.LineStroke = this.Resources["pen1"] as Pen; ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].rsiArea.SecondaryAxis.TickLineStroke = this.Resources["pen1"] as Pen; ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].rsiArea.SecondaryAxis.EdgeLabelsDrawingMode = EdgeLabelsDrawingMode.Shift; ChartArea.SetGridLineStroke(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].rsiArea.SecondaryAxis, this.Resources["pen1"] as Pen); ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].rsiArea.SecondaryAxis.LabelForeground = this.Resources["gradient2"] as LinearGradientBrush; } }
void Indicator_Checked(object sender, RoutedEventArgs e) { ChartTechnicalIndicator indicator = new ChartTechnicalIndicator(); indicator.IndicatorType = IndicatorTypes.RelativeStrengthIndex; 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.IndianRed); //ChartStochastics.SetUpperLineColor(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1], Brushes.IndianRed); //ChartStochastics.SetSignalLineColor(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1], Brushes.IndianRed); ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].rsiArea.Background = this.Resources["transparentBackground"] as SolidColorBrush; ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].rsiArea.SecondaryAxis.LineStroke = this.Resources["linestroke"] as Pen; ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].rsiArea.SecondaryAxis.IntersectAction = ChartLabelIntersectAction.Hide; ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].rsiArea.SecondaryAxis.EdgeLabelsDrawingMode = EdgeLabelsDrawingMode.Shift; ChartArea.SetGridLineStroke(ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].rsiArea.SecondaryAxis, this.Resources["gridstroke"] as Pen); ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].rsiArea.SecondaryAxis.OpposedPosition = true; ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].rsiArea.SecondaryAxis.LabelTemplate = this.Resources["YAxistemplate"] as DataTemplate; ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].rsiArea.SecondaryAxis.IsAutoSetRange = false; ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].rsiArea.SecondaryAxis.Range = new DoubleRange(0, 100); for (int i = 0; i < syncChart1.Areas.Count; i++) { SetHorizontalScale(syncChart1.Areas[i]); } } ChartLayer layer = new ChartLayer(); layer.LayerIndicatorName = "Relative Strength Index"; layer.ParmsToParmString(defaultParams); foreach (ChartSeries series in ser1.Indicators.Items[ser1.Indicators.Items.Count - 1].rsiArea.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; } }