Ejemplo n.º 1
0
        /// <summary>
        /// Gets the level1 quote from the current input lines.
        /// </summary>
        /// <param name="ticker">The ticker.</param>
        /// <param name="data">The data.</param>
        /// <returns></returns>
        private DataPoint GetLevel1Quote(string ticker, List <InputLine> data, DateTime date)
        {
            //Creaate new orderbook
            OrderBook orderbook = new OrderBook(ticker);

            //Get lines
            foreach (var line in data)
            {
                //Get data
                var    input = line.Line.Split(',');
                bool   isBid = input[1] == "b";
                double price = double.Parse(input[2], NumberStyles.Any, new CultureInfo("en-US"));
                double size  = double.Parse(input[3], NumberStyles.Any, new CultureInfo("en-US"));

                //Add to book
                orderbook.AddQuote(isBid, price, size);
            }

            //Return current quote
            return(new Tick(DataFeed.GetQuantlerTicker(ticker), DataFeed.DataSource)
            {
                AskSize = Convert.ToDecimal(orderbook.AskSize),
                AskPrice = Convert.ToDecimal(orderbook.BestAsk),
                BidPrice = Convert.ToDecimal(orderbook.BestBid),
                BidSize = Convert.ToDecimal(orderbook.BidSize),
                Depth = 0,
                Occured = date,
                TimeZone = TimeZone.Utc
            });
        }