Esempio n. 1
0
        /// <summary>
        /// Load history data from file
        /// </summary>
        /// <param name="filePath"></param>
        /// <returns></returns>
        public StockDataSeries LoadFromFile(string fileName)
        {
            string filePath = string.Concat(TradeRobotics.DataProviders.DataContext.DataDirectory, fileName);

            DataSeries = new StockDataSeries();
            var  dataFileInfo = GetDataFileInfo(filePath);
            bool isQuotes     = dataFileInfo.Item3;

            DataSeries.Symbol = dataFileInfo.Item1;
            // Load as bars
            if (!isQuotes)
            {
                DataSeries = LoadBars(fileName);
            }
            // Load as quotes
            else
            {
                DataSeries.Quotes = LoadQuotesFromFile(fileName);
                LoadDepth(this.DataSeries.Quotes.Last().Time);
            }
            return(DataSeries);
        }
Esempio n. 2
0
        /// <summary>
        /// Get bars from file
        /// </summary>
        /// <param name="symbol"></param>
        /// <param name="period"></param>
        public StockDataSeries LoadBars(string filePath)
        {
            // Load from file
            //string filePath = string.Format(historyFileName, symbol, period);
            Tuple <string, int, bool> dataInfo = GetDataFileInfo(filePath);

            filePath = string.Concat(DataContext.DataDirectory, filePath);

            string[] lines = File.ReadAllLines(filePath);
            int      i     = 0;

            // Init quik bar
            DataSeries        = new StockDataSeries();
            DataSeries.Symbol = dataInfo.Item1;
            DataSeries.Period = dataInfo.Item2;;
            // Add bars
            foreach (string line in lines)
            {
                // First line is a header, no parse
                if (i++ == 0)
                {
                    continue;
                }
                Bar bar = ConverterHelper.LoadBar(line);

                DataSeries.Bars.Add(bar);
                DataSeries.Times.Add(bar.Time);
                DataSeries.Open.Add(bar.Open);
                DataSeries.Low.Add(bar.Low);
                DataSeries.High.Add(bar.High);
                DataSeries.Close.Add(bar.Close);
                DataSeries.Volume.Add(bar.Volume);
            }

            return(DataSeries);
        }
Esempio n. 3
0
 /// <summary>
 /// ctor
 /// </summary>
 /// <param name="dataSeries">updated data series</param>
 /// <param name="i">bar index</param>
 public TickEventArgs(StockDataSeries dataSeries, int i)
 {
     DataSeries   = dataSeries;
     LastBarIndex = i;
 }