public void BuildSeries(ChartControl chart) { seriesOutline.data.Clear(); var candles = chart.StockSeries.Data.Candles; if (SeriesSources.Any(s => s is CandlestickSeries)) { candles = ((CandlestickSeries)SeriesSources.First(s => s is CandlestickSeries)).Data.Candles; } var finder = new CandleConsumptionFinder(candles, MinCount); var consumptions = finder.Search(); foreach (var cons in consumptions) { seriesOutline.data.Add(new BarRegion { Color = ClLine, lineStyle = LineStyle == DashStyle.Solid ? BarRegionLineStyle.SolidThin : BarRegionLineStyle.DotThick, IndexStart = cons.startIndex, IndexEnd = cons.consumerIndex, LowerBound = (float)cons.lower, UpperBound = (float)cons.upper }); } }
private void FindConsumptions(int minConsumes) { var indi = chart.indicators.FirstOrDefault(i => i is IndicatorExternSeries) as IndicatorExternSeries; if (indi == null) { return; } caymanCandles = indi.candleSeries.Data.Candles; if (caymanCandles.Count == 0) { return; } var finder = new CandleConsumptionFinder(caymanCandles, minConsumes); var cons = finder.Search(); consumeIndices.Clear(); consumeIndices.AddRange(cons.Select(c => c.consumerIndex)); }