private static void AddMinutesToGrid(List <IRecord> minutes, MinuteRequest request) { string symbol = request.Symbol; foreach (IRecord rec in minutes) { if (cancelRequest) { break; } var minute = (IMinute)rec; var record = minute as IIntradayRecord; var sym = record != null ? record.Symbol : symbol; var bar = new MinuteBar { Close = (decimal)(minute.Close * Data.PriceMultiplier), High = (decimal)(minute.High * Data.PriceMultiplier), Interval = request.Interval, Low = (decimal)(minute.Low * Data.PriceMultiplier), Open = (decimal)(minute.Open * Data.PriceMultiplier), Symbol = sym, Volume = minute.Volume, Time = minute.Timestamp }; Data.MinuteBars.Add(bar); } }
private static Request AssembleRequest(string symbol, int minutes, int maxrecords) { Request request = null; //if (minutes == 5) //{ // maxrecords = 100; //} request = new MinuteRequest(); if (string.IsNullOrEmpty(Server)) { // Find out who the server is through the Connection object Connection.Username = Core.Username; Connection.Password = Core.Password; Connection.RefreshUserInfo(); } else { request.Username = Core.Username; request.Password = Core.Password; request.Server = Server; } request.Symbol = symbol; ((MinuteRequest)request).Interval = (short)minutes; request.End = DateTime.Now.AddHours(-7).AddMinutes(-minutes); request.DownloadFormat = (DownloadFormat)Enum.Parse(typeof(DownloadFormat), Fileformat); request.ServerBufferSize = 0; request.GZip = Gzip; request.Deflate = Compression; request.MaxRecords = maxrecords; request.SortOrder = (SortOrder)Enum.Parse( typeof(SortOrder), "Ascending"); request.Properties["normalizetimestamps"] = true; if (Async) { var batchSize = 0; request.BatchSize = batchSize; if (request.BatchSize > 0) { request.BatchUnits = (BatchUnits)Enum.Parse(typeof(BatchUnits), "Minutes"); } } return(request); }