22 using System.Collections.Generic;
33 private readonly Func<DateTime, IEnumerable<Symbol>> _selector;
44 : base(CreateConfiguration(timeZone, dateRule, timeRule))
60 : this(
TimeZones.Utc, dateRule, timeRule, selector, settings)
73 : base(CreateConfiguration(timeZone, dateRule, timeRule))
75 Func<DateTime, object> func;
76 selector.TryConvertToDelegate(out func);
79 _selector = func.ConvertSelectionSymbolDelegate();
91 : this(
TimeZones.Utc, dateRule, timeRule, selector, settings)
103 return _selector(DateTime.SpecifyKind(utcTime, DateTimeKind.Unspecified));
118 var dates = _dateRule.GetDates(startTimeLocal, endTimeLocal);
119 var times = _timeRule.CreateUtcEventTimes(dates).GetEnumerator();
125 if (!times.MoveNext())
131 while (times.Current < startTimeUtc);
136 yield
return times.Current;
138 while (times.MoveNext());
145 var ticker = $
"{dateRule.Name}_{timeRule.Name}";
148 ticker = ticker.Replace(c.ToStringInvariant(),
"_");
155 dataTimeZone: timeZone,
156 exchangeTimeZone: timeZone,
158 extendedHours:
false,
159 isInternalFeed:
true,
162 isFilteredSubscription:
false
167 .
SetEntryAlwaysOpen(config.Market, config.Symbol.Value, config.SecurityType, config.ExchangeTimeZone);