private void View_ShowTagGraphs(object sender, EventArgs e) { if (!CurrentDatasetAvailable) { return; } FrmGraph frm = new FrmGraph(CurrentDataset); FtFormFactory.Show(frm); }
internal void ShowGraph(Operacao oper) { if (oper == null) { return; } if (frmGraph == null || frmGraph.IsDisposed) { frmGraph = new FrmGraph(); panelDraw = frmGraph.panelDraw; canvas = new ShapeContainer(); canvas.Parent = panelDraw; shapes.Clear(); } if (!frmGraph.Visible) { frmGraph.Show(frmPrincipal); } Clear(canvas); Candle candle = oper.candleInicial; maxValue = candle.GetValor(FormulaManager.HIGH); minValue = candle.GetValor(FormulaManager.LOW); maxPeriodos = 0; while (candle.candleAnterior != oper.candleFinal && candle != candle.proximoCandle) { maxPeriodos++; if (candle.GetValor(FormulaManager.HIGH) > maxValue) { maxValue = candle.GetValor(FormulaManager.HIGH); } if (candle.GetValor(FormulaManager.LOW) < minValue) { minValue = candle.GetValor(FormulaManager.LOW); } candle = candle.proximoCandle; } maxValue *= 1.2f; minValue *= 0.8f; maxPeriodos += 10; contaPers = 0; candle = oper.candleInicial; //Periodo anterior oper.stop.stopAtual = oper.stop.stopInicial; candle = oper.candleInicial.candleAnterior; for (int i = 0; i < 5; i++) { contaPers++; if (candle != null) { DrawCandle(oper, oper.carteira.tradeSystem, candle, false); candle = candle.candleAnterior; } } candle = oper.candleInicial; while (candle.candleAnterior != oper.candleFinal && candle != candle.proximoCandle) { contaPers++; DrawCandle(oper, oper.carteira.tradeSystem, candle, true); candle = candle.proximoCandle; } //Periodo posterior for (int i = 0; i < 5; i++) { contaPers++; if (candle != null) { DrawCandle(oper, oper.carteira.tradeSystem, candle, false); candle = candle.proximoCandle; } } }