Beispiel #1
0
        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;
                });
            }
        }
Beispiel #2
0
        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;
                    });
                }
            }
        }
Beispiel #3
0
        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);
        }