public BotWhithTwoTimeFrameUi(BotWhithTwoTimeFrame bot) { InitializeComponent(); _painter = new ChartPainter("chart"); _painter.StartPaint(HostChart, Rectangle); _bot = bot; }
// управление /// <summary> /// начать прорисовывать данный чарт на окне /// </summary> public void StartPaint(WindowsFormsHost host, Rectangle rectangle) { try { _chartCandle.StartPaint(host, rectangle); _chartCandle.PaintPositions(_myPosition); _chartCandle.PaintCandles(_myCandles); for (int i = 0; _indicatorsCandles != null && i < _indicatorsCandles.Count; i++) { _chartCandle.PaintIndicator(_indicatorsCandles[i]); } for (int i = 0; _chartElements != null && i < _chartElements.Count; i++) { _chartCandle.PaintElem(_chartElements[i]); } _chartCandle.ClearAlerts(_alertArray); for (int i = 0; _alertArray != null && i < _alertArray.Count; i++) { if (_alertArray[i].TypeAlert == AlertType.ChartAlert) { _chartCandle.PaintAlert((AlertToChart)_alertArray[i]); } } } catch (Exception error) { SendErrorMessage(error); } }
private void PaintActivTab(int tabNum) { if (_lastTabNum == tabNum) { return; } _lastTabNum = tabNum; _chart.StopPaint(); _chart.Clear(); if (tabNum < _panel.TabsSimple.Count) { _chart.PaintCandles(_panel.TabsSimple[tabNum].CandlesFinishedOnly); _chart.StartPaint(ChartHostPanel, RectChart); _chart.PaintPositions(_panel.TabsSimple[tabNum].PositionsAll); for (int i = 0; _panel.TabsSimple[tabNum].Indicators != null && i < _panel.TabsSimple[tabNum].Indicators.Count; i++) { ChartArea area = _chart.CreateArea("Area" + _panel.TabsSimple[tabNum].Indicators[i].Name, 15); _panel.TabsSimple[tabNum].Indicators[i].NameSeries = _chart.CreateSeries(area, _panel.TabsSimple[tabNum].Indicators[i].TypeIndicator, _panel.TabsSimple[tabNum].Indicators[i].NameSeries); _chart.PaintIndicator(_panel.TabsSimple[tabNum].Indicators[i]); } } else { tabNum = tabNum - _panel.TabsSimple.Count; _chart.PaintCandles(_panel.TabsIndex[tabNum].Candles); _chart.StartPaint(ChartHostPanel, RectChart); for (int i = 0; _panel.TabsIndex[tabNum].Indicators != null && i < _panel.TabsIndex[tabNum].Indicators.Count; i++) { ChartArea area = _chart.CreateArea("Area" + _panel.TabsIndex[tabNum].Indicators[i].Name, 15); _panel.TabsIndex[tabNum].Indicators[i].NameSeries = _chart.CreateSeries(area, _panel.TabsIndex[tabNum].Indicators[i].TypeIndicator, _panel.TabsIndex[tabNum].Indicators[i].Name + i); _chart.PaintIndicator(_panel.TabsIndex[tabNum].Indicators[i]); } } }