18 using System.Collections.Generic;
41 private Cash _nullCash;
48 private bool _parallelHistoryRequestsEnabled;
49 private bool _initialized;
65 throw new InvalidOperationException(
"SubscriptionDataReaderHistoryProvider can only be initialized once");
87 public override IEnumerable<Slice>
GetHistory(IEnumerable<HistoryRequest> requests, DateTimeZone sliceTimeZone)
90 var subscriptions =
new List<Subscription>();
91 foreach (var request
in requests)
93 var subscription = CreateSubscription(request);
94 subscriptions.Add(subscription);
105 var config = request.ToSubscriptionDataConfig();
114 _nullSymbolProperties,
134 IEnumerator<BaseData> reader = dataReader;
136 if (intraday !=
null)
174 var timeBasedFilter =
new TimeBasedFilter(request);
179 if (_parallelHistoryRequestsEnabled)
197 private class TimeBasedFilter
199 public Type RequestedType {
get;
set; }
200 public DateTime EndTimeLocal {
get;
set; }
201 public DateTime StartTimeLocal {
get;
set; }
213 if (data.
EndTime > EndTimeLocal)
return false;
215 return data.
EndTime > StartTimeLocal;