예제 #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="UserDefinedUniverse"/> class
 /// </summary>
 /// <param name="configuration">The configuration used to resolve the data for universe selection</param>
 /// <param name="subscriptionSettings">The settings used for new subscriptions generated by this universe</param>
 /// <param name="interval">The interval at which selection should be performed</param>
 /// <param name="symbols">The initial set of symbols in this universe</param>
 public UserDefinedUniverse(SubscriptionDataConfig configuration, SubscriptionSettings subscriptionSettings, TimeSpan interval, IEnumerable<Symbol> symbols)
     : base(configuration)
 {
     _interval = interval;
     _symbols = symbols.ToHashSet();
     _subscriptionSettings = subscriptionSettings;
 }
예제 #2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="UserDefinedUniverse"/> class
 /// </summary>
 /// <param name="configuration">The configuration used to resolve the data for universe selection</param>
 /// <param name="subscriptionSettings">The settings used for new subscriptions generated by this universe</param>
 /// <param name="interval">The interval at which selection should be performed</param>
 /// <param name="selector">Universe selection function invoked for each time returned via GetTriggerTimes.
 /// The function parameter is a DateTime in the time zone of configuration.ExchangeTimeZone</param>
 public UserDefinedUniverse(SubscriptionDataConfig configuration, SubscriptionSettings subscriptionSettings, TimeSpan interval, Func<DateTime,IEnumerable<string>> selector)
     : base(configuration)
 {
     _interval = interval;
     _subscriptionSettings = subscriptionSettings;
     _selector = time =>
     {
         var selectSymbolsResult = selector(time.ConvertFromUtc(Configuration.ExchangeTimeZone));
         // if we received an unchaged then short circuit the symbol creation and return it directly
         if (ReferenceEquals(selectSymbolsResult, Unchanged)) return Unchanged;
         return selectSymbolsResult.Select(sym => Symbol.Create(sym, Configuration.SecurityType, Configuration.Market));
     };
 }
예제 #3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="FuncUniverse"/> class
 /// </summary>
 /// <param name="configuration">The configuration used to resolve the data for universe selection</param>
 /// <param name="subscriptionSettings">The settings used for new subscriptions generated by this universe</param>
 /// <param name="universeSelector">Returns the symbols that should be included in the universe</param>
 public FuncUniverse(SubscriptionDataConfig configuration, SubscriptionSettings subscriptionSettings, Func<IEnumerable<BaseData>, IEnumerable<Symbol>> universeSelector)
     : base(configuration)
 {
     _universeSelector = universeSelector;
     _subscriptionSettings = subscriptionSettings;
 }
예제 #4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="FuncUniverse"/> class
 /// </summary>
 /// <param name="configuration">The configuration used to resolve the data for universe selection</param>
 /// <param name="subscriptionSettings">The settings used for new subscriptions generated by this universe</param>
 /// <param name="universeSelector">Returns the symbols that should be included in the universe</param>
 public FuncUniverse(SubscriptionDataConfig configuration, SubscriptionSettings subscriptionSettings, Func <IEnumerable <BaseData>, IEnumerable <Symbol> > universeSelector)
     : base(configuration)
 {
     _universeSelector     = universeSelector;
     _subscriptionSettings = subscriptionSettings;
 }
예제 #5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="FuncUniverse"/> class
 /// </summary>
 /// <param name="configuration"></param>
 /// <param name="subscriptionSettings"></param>
 /// <param name="coarse">Defines an initial coarse selection</param>
 public FuncUniverse(SubscriptionDataConfig configuration, SubscriptionSettings subscriptionSettings, Func<IEnumerable<BaseData>, IEnumerable<Symbol>> coarse)
 {
     _coarse = coarse;
     Configuration = configuration;
     SubscriptionSettings = subscriptionSettings;
 }