private void apiClient_OnLastTimeBar(object sender, TimeBarArgs e) { //var checkCandle = listCandles.Where(m => m.Symbol == e.TimeBar.Symbol).FirstOrDefault(); var Form = forms.Where(m => m.symbol == e.TimeBar.Symbol).FirstOrDefault(); if (Form != null) { var formCandle = Form.form.candleDataMT as BindingList <CandleDataMT>; CandleDataMT candleData = new CandleDataMT(); candleData.Symbol = e.TimeBar.Symbol; candleData.Close = e.TimeBar.Close; candleData.High = e.TimeBar.High; candleData.Low = e.TimeBar.Low; candleData.MTS = e.TimeBar.CloseTime; candleData.Open = e.TimeBar.Open; formCandle.Add(candleData); var max = formCandle.Max(m => m.High); var min = formCandle.Min(m => m.Low); frmChart.Invoke((Action) delegate() { frmChart.chart1.ChartAreas["ChartArea1"].AxisY.Minimum = Convert.ToDouble(min); frmChart.chart1.ChartAreas["ChartArea1"].AxisY.Maximum = Convert.ToDouble(max); frmChart.chart1.DataSource = formCandle; }); } }
private void CandleAddition(string symbol, ENUM_TIMEFRAMES pERIOD_CURRENT = ENUM_TIMEFRAMES.PERIOD_CURRENT) { var Form = forms.Where(m => m.symbol == symbol).FirstOrDefault(); if (Form != null) { var formCandle = Form.form.candleDataMT as BindingList <CandleDataMT>; var rates = apiClient.CopyRates(symbol, pERIOD_CURRENT, 0, 1); if (rates != null) { foreach (var rate in rates) { CandleDataMT candleData = new CandleDataMT(); candleData.Symbol = symbol; candleData.Close = rate.Close; candleData.High = rate.High; candleData.Low = rate.Low; candleData.MTS = rate.Time; candleData.Open = rate.Open; candleData.Volume = rate.RealVolume; formCandle.Add(candleData); } var max = formCandle.Max(m => m.High); var min = formCandle.Min(m => m.Low); frmChart.Invoke((Action) delegate() { frmChart.chart1.ChartAreas["ChartArea1"].AxisY.Minimum = Convert.ToDouble(min); frmChart.chart1.ChartAreas["ChartArea1"].AxisY.Maximum = Convert.ToDouble(max); frmChart.chart1.DataSource = formCandle; }); } } }
private BindingList <CandleDataMT> RequestHistoricalCandles(string symbol, ENUM_TIMEFRAMES pERIOD_CURRENT) { var listCandles = new BindingList <CandleDataMT>(); var rates = apiClient.CopyRates(symbol, pERIOD_CURRENT, DateTime.Now.AddDays(-15), DateTime.Now); if (rates != null) { foreach (var rate in rates) { CandleDataMT candleData = new CandleDataMT(); candleData.Symbol = symbol; candleData.Close = rate.Close; candleData.High = rate.High; candleData.Low = rate.Low; candleData.MTS = rate.Time; candleData.Open = rate.Open; candleData.Volume = rate.RealVolume; listCandles.Add(candleData); } } return(listCandles); }