Ejemplo n.º 1
0
        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();

        }
Ejemplo n.º 2
0
        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]);
            }
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
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)));
 }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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]);
            }
        }
Ejemplo n.º 7
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]);
            }
        }
Ejemplo n.º 8
0
        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";
        }
Ejemplo n.º 9
0
        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;
                }
            }
        }
Ejemplo n.º 10
0
 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)));
     
 }
Ejemplo n.º 11
0
 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);
 }
Ejemplo n.º 12
0
        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;

            }
        }
Ejemplo n.º 13
0
        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;
            }
        }
Ejemplo n.º 14
0
        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]);
            }
        }
Ejemplo n.º 15
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;
            }

        }