public void SetUp() { Config.Set("polygon-api-key", ""); Log.LogHandler = new CompositeLogHandler(); _historyProvider = new PolygonDataQueueHandler(false); _historyProvider.Initialize(new HistoryProviderInitializeParameters(null, null, null, null, null, null, null, false, null)); }
public void GetsHistory(Symbol symbol, Resolution resolution, TickType tickType, TimeSpan period, bool shouldBeEmpty) { Log.LogHandler = new ConsoleLogHandler(); var historyProvider = new PolygonDataQueueHandler(false); historyProvider.Initialize(new HistoryProviderInitializeParameters(null, null, null, null, null, null, null, false, null)); var now = new DateTime(2020, 5, 20, 15, 0, 0).RoundDown(resolution.ToTimeSpan()); var dataType = LeanData.GetDataType(resolution, tickType); var requests = new[] { new HistoryRequest(now.Add(-period), now, dataType, symbol, resolution, SecurityExchangeHours.AlwaysOpen(TimeZones.NewYork), TimeZones.NewYork, null, true, false, DataNormalizationMode.Adjusted, tickType) }; var history = historyProvider.GetHistory(requests, TimeZones.NewYork).ToList(); if (dataType == typeof(TradeBar)) { foreach (var slice in history) { var bar = slice.Bars[symbol]; Log.Trace($"{bar.Time}: {bar.Symbol} - O={bar.Open}, H={bar.High}, L={bar.Low}, C={bar.Close}"); } } else if (dataType == typeof(QuoteBar)) { foreach (var slice in history) { var bar = slice.QuoteBars[symbol]; Log.Trace($"{bar.Time}: {bar.Symbol} - O={bar.Open}, H={bar.High}, L={bar.Low}, C={bar.Close}"); } } else if (dataType == typeof(Tick)) { foreach (var slice in history) { var ticks = slice.Ticks[symbol]; foreach (var tick in ticks) { Log.Trace($"{tick.Time}: {tick.Symbol} - B={tick.BidPrice}, A={tick.AskPrice}, P={tick.LastPrice}, Q={tick.Quantity}"); } } } Log.Trace("Data points retrieved: " + historyProvider.DataPointCount); if (shouldBeEmpty) { Assert.IsTrue(history.Count == 0); } else { Assert.IsTrue(history.Count > 0); } }