Пример #1
0
        private void DrawCurveIndicator(application.Indicators.Meta meta)
        {
            pricePane.myGraphObj.myGraphPane.CurveList.Clear();

            //Indicators.Meta meta = Indicators.Libs.FindMetaByName(indicatorName);
            string curveName = meta.ClassType.Name + "-" + meta.ParameterString;

            Charts.Controls.baseGraphPanel myGraphPanel = pricePane;

            commonClass.DataValues[] indicatorSeries = application.Indicators.Libs.GetIndicatorData(this.myData, meta);
            for (int idx = 0, metaIdx = 1; idx < indicatorSeries.Length && metaIdx < meta.Output.Length; idx++, metaIdx++)
            {
                this.myData.DateTime.FirstValidValue = indicatorSeries[idx].FirstValidValue;
                curveName = meta.ClassType.Name + "-" + meta.ParameterString + "-" + idx.ToString();
                switch (meta.Output[metaIdx].ChartType)
                {
                case AppTypes.ChartTypes.Bar:
                    PlotCurveBar(curveName, myGraphPanel, this.myData.DateTime, indicatorSeries[idx],
                                 meta.Output[metaIdx].Color, Color.Black, meta.Output[metaIdx].Weight);
                    break;

                case AppTypes.ChartTypes.Line:
                    PlotCurveLine(curveName, myGraphPanel, this.myData.DateTime, indicatorSeries[idx],
                                  meta.Output[metaIdx].Color, meta.Output[metaIdx].Weight);
                    break;
                }
            }
            pricePane.myGraphObj.DefaultViewport();
            pricePane.myGraphObj.UpdateChart();
        }
Пример #2
0
        private CurveItem PlotCurveLine(string curveName, Charts.Controls.baseGraphPanel graphPane, commonClass.DataSeries xSeries, commonClass.DataSeries ySeries,
                                        Color color, int weight)
        {
            pricePane.myGraphObj.SetSeriesX(xSeries.Values, Charts.AxisType.DateAsOrdinal);
            CurveItem curveItem = graphPane.myGraphObj.AddCurveLine(curveName, ySeries.Values, SymbolType.None, color, weight);

            return(curveItem);
        }
Пример #3
0
        private CurveItem PlotCurveLine(string curveName, Charts.Controls.baseGraphPanel graphPane, DataValues xValues, DataValues yValues,
                                        Color color, int weight)
        {
            graphPane.myGraphObj.SetSeriesX(xValues.Values, Charts.AxisType.DateAsOrdinal);
            CurveItem curveItem = graphPane.myGraphObj.AddCurveLine(curveName, MakeChartValue(yValues), SymbolType.None, color, weight);

            myCurveList.Add(curveItem, curveName, graphPane.myGraphObj.myGraphPane, graphPane.Name);
            return(curveItem);
        }
Пример #4
0
        private CurveItem PlotCandleStick(string curveName, Charts.Controls.baseGraphPanel graphPane, application.AnalysisData data,
                                          Color barUpColor, Color barDnColor, Color bullCandleColor, Color bearCandleColor)
        {
            pricePane.myGraphObj.SetSeriesX(data.DateTime.Values, Charts.AxisType.DateAsOrdinal);
            CurveItem curveItem = graphPane.myGraphObj.AddCandleStick(curveName, data.High.Values, data.Low.Values, data.Open.Values, data.Close.Values, data.Volume.Values,
                                                                      barUpColor, barDnColor, bullCandleColor, bearCandleColor);

            return(curveItem);
        }
Пример #5
0
        private void DrawCurveIndicator(application.Indicators.Meta meta)
        {
            pricePane.myGraphObj.myGraphPane.CurveList.Clear();

            //Indicators.Meta meta = Indicators.Libs.FindMetaByName(indicatorName);
            string curveName = meta.ClassType.Name + "-" + meta.ParameterString;

            Charts.Controls.baseGraphPanel myGraphPanel = pricePane;

            commonClass.DataSeries indicatorSeries = application.Indicators.Libs.GetIndicatorData(this.myData, meta);
            this.myData.DateTime.FirstValidValue = indicatorSeries.FirstValidValue;
            switch (meta.Output[0].ChartType)
            {
            case commonClass.AppTypes.ChartTypes.Bar:
                PlotCurveBar(curveName, myGraphPanel, this.myData.DateTime, indicatorSeries,
                             meta.Output[0].Color, Color.Black, meta.Output[0].Weight);
                break;

            case commonClass.AppTypes.ChartTypes.Line:
                PlotCurveLine(curveName, myGraphPanel, this.myData.DateTime, indicatorSeries,
                              meta.Output[0].Color, meta.Output[0].Weight);
                break;
            }
            // Some indicator such as MACD having more than one output series.
            // In such case, indicator form MUST have [form.ExtraInfo] propery to provide information for the output series.
            commonClass.DataSeries[] extraSeries = null;
            if (meta.Output.Length > 1)
            {
                extraSeries = application.Indicators.Libs.GetIndicatorData(indicatorSeries, meta);
            }
            if (extraSeries != null)
            {
                for (int idx = 0, metaIdx = 1; idx < extraSeries.Length && metaIdx < meta.Output.Length; idx++, metaIdx++)
                {
                    this.myData.DateTime.FirstValidValue = extraSeries[idx].FirstValidValue;
                    curveName = meta.ClassType.Name + "-" + meta.ParameterString + "-" + idx.ToString();
                    switch (meta.Output[metaIdx].ChartType)
                    {
                    case commonClass.AppTypes.ChartTypes.Bar:
                        PlotCurveBar(curveName, myGraphPanel, this.myData.DateTime, extraSeries[idx],
                                     meta.Output[metaIdx].Color, Color.Black, meta.Output[metaIdx].Weight);
                        break;

                    case commonClass.AppTypes.ChartTypes.Line:
                        PlotCurveLine(curveName, myGraphPanel, this.myData.DateTime, extraSeries[idx],
                                      meta.Output[metaIdx].Color, meta.Output[metaIdx].Weight);
                        break;
                    }
                }
            }
            pricePane.myGraphObj.DefaultViewport();
            pricePane.myGraphObj.UpdateChart();
        }
Пример #6
0
        private CurveItem PlotCandleStick(string curveName, Charts.Controls.baseGraphPanel graphPane, AnalysisData data,
                                          Color barUpColor, Color barDnColor, Color bullCandleColor, Color bearCandleColor)
        {
            graphPane.myGraphObj.SetSeriesX(data.DateTime.Values, Charts.AxisType.DateAsOrdinal);
            CurveItem curveItem = graphPane.myGraphObj.AddCandleStick(curveName,
                                                                      MakeChartValue(data.High),
                                                                      MakeChartValue(data.Low),
                                                                      MakeChartValue(data.Open),
                                                                      MakeChartValue(data.Close),
                                                                      MakeChartValue(data.Volume),
                                                                      barUpColor, barDnColor, bullCandleColor, bearCandleColor);

            myCurveList.Add(curveItem, curveName, graphPane.myGraphObj.myGraphPane, graphPane.Name);
            return(curveItem);
        }