예제 #1
0
        /// <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);
        }
예제 #2
0
        /// <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();
                }
            }
        }
예제 #3
0
        /// <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();
                }
            }
        }