public ChartService(IChart chart) { Chart = chart; ScaleHorizontal = new ScaleHorizontal(); ScaleVertical = new ScaleVertical(); HorizontalLinePrice = new HorizontalLinePrice(); AdditionalHorizontalLine = new AdditionalHorizontalLine(); }
public void ChartBuild(IEnumerable <IElementChart> candles, double heightPanel, double widthPanel, double currentPrice, int digits) { GetMaxAllChart(candles); GetMinAllChart(candles); GetDeltaAllChart(); GetScaleIntervalPrice(heightPanel); // строим горизонтальную сетку ScaleHorizontal.ScaleBuild(heightPanel, widthPanel, MaxAllChart, DeltaAllChart, digits); // строим основной график Chart.Create(MaxAllChart, ScaleIntervalPrice); // строим вертикальную сетку ScaleVertical.ScaleBuild(Chart.ElementChartViews, heightPanel, widthPanel); // отображение текущей цены HorizontalLinePrice.LineCurrentPriceBuild(widthPanel, MaxAllChart, currentPrice, ScaleIntervalPrice); // отображение сделок var trades = new List <BuySellView>(); for (int i = 0; i < candles.Count(); i++) { if (i % 13 == 0) { var isBuy = false; if (i % 2 == 0) { isBuy = true; } trades.Add(new BuySellView() { Price = candles.ElementAt(i).High, IsBuy = isBuy }); } } AdditionalHorizontalLine.AdditionalLinesBuild(trades, widthPanel, MaxAllChart, ScaleIntervalPrice); //------ }