/// <summary> /// прорисовать точку входа /// </summary> private void PaintOpen(int posCurrent, List <Candle> candles, int index, decimal price) { if (NeadToPaintEmu == false) { return; } if (_points == null) { _points = new List <PointElement>(); } PointElement point = _points.Find(element => element.TimePoint == candles[index].TimeStart); if (point != null) { return; } point = new PointElement(candles[index].TimeStart.ToString(), "Prime"); point.TimePoint = candles[index].TimeStart; point.Style = MarkerStyle.Cross; point.Y = price; point.Size = 15; if (posCurrent == 1) { point.Color = Color.DarkSeaGreen; } else { point.Color = Color.DarkOrchid; } _points.Add(point); _tab.SetChartElement(point); }
/// <summary> /// перерисовать линии /// </summary> private void RepaintLines() { if (_lineElements == null || _lines.Count != _lineElements.Count) { // нужно полностью перерисовать _lineElements = new List <LineHorisontal>(); for (int i = 0; i < _lines.Count; i++) { _lineElements.Add(new LineHorisontal(NameStrategyUniq + "Line" + i, "Prime", false) { Value = _lines[i] }); _tab.SetChartElement(_lineElements[i]); } } else { // надо проверить уровни линиий, и несовпадающие перерисовать for (int i = 0; i < _lineElements.Count; i++) { if (_lineElements[i].Value != _lines[i]) { _lineElements[i].Value = _lines[i]; } _lineElements[i].Refresh(); } } }
/// <summary> /// redraw lines / /// перерисовать линии /// </summary> private void RepaintLines() { if (_lineElements == null || _lines.Count != _lineElements.Count) { _lineElements = new List <LineHorisontal>(); for (int i = 0; i < _lines.Count; i++) { _lineElements.Add(new LineHorisontal(NameStrategyUniq + "Line" + i, "Prime", false) { Value = _lines[i] }); _tab.SetChartElement(_lineElements[i]); } } else { for (int i = 0; i < _lineElements.Count; i++) { if (_lineElements[i].Value != _lines[i]) { _lineElements[i].Value = _lines[i]; } _lineElements[i].Refresh(); } } }