I can't figure this out for the life of me as in other parts of the project there are similarly referenced modules/classes that don't raise this error. Note that I've set up RsiAlphaModel the same way I have with MainAlgorithm - yet the MainAlgorithm class declaration doesn't throw an error and RsiAlphaModel does. My project directory has folders "Alphas", "Indicators" and "Algorithms" aside from main.py. Hoping someone can shed some light on this.

from Algorithms import StandardAlgorithm from Alphas import RsiAlphaModel class MainAlgorithm(StandardAlgorithm): def Initialize(self): # Securities traded symbols = [ Symbol.Create("CRNS", SecurityType.Equity, Market.USA) ] self.SetUniverseSelection( ManualUniverseSelectionModel(symbols) ) super().Initialize() self.SetAlpha(CompositeAlphaModel(RsiAlphaModel())) class StandardAlphaModel(AlphaModel): def Initialize(self): self.Indicator = None def OnSecuritiesChanged(self, algorithm, changes): for security in changes.AddedSecurities: for minutes, timeframe in algorithm.timeframes.items(): algorithm.RegisterIndicator(security.Symbol.Value, self.Indicator, timeframe) class StandardAlgorithm(QCAlgorithmFramework): def Initialize(self): self.SetTimeframes() self.SetSecurityInitializer(self.SetSecurities) def SetSecurities(self, security): security.SetDataNormalizationMode(DataNormalizationMode.Raw) def OnSecuritiesChanged(self, changes): for security in changes.AddedSecurities: for minutes, timeframe in self.timeframes.items(): self.SubscriptionManager.AddConsolidator(security.Symbol.Value, timeframe) for security in changes.RemovedSecurities: for minutes, timeframe in self.timeframes.items(): self.SubscriptionManager.RemoveConsolidator(security.Symbol.Value, timeframe) def SetTimeframes(self): self.SetTimeZone(TimeZones.Toronto) self.UniverseSettings.Resolution = Resolution.Minute self.timeframes = { 1: None, 5: None, 15: None, 30: None, 60: None, 240: None, 390: None, 1950: None } for minutes in self.timeframes: self.timeframes[minutes] = TradeBarConsolidator(TimeSpan.FromMinutes(minutes)) self.timeframes[minutes].DataConsolidated += self.OnDataConsolidated def OnDataConsolidated(self, sender, bar): pass from Alphas import StandardAlphaModel from Indicators import EhlerRsiDiscriminator # This is where the error occurs! class RsiAlphaModel(StandardAlphaModel): def Initialize(self): self.Name = "RSI Alpha" self.Indicator = EhlerRsiDiscriminator(true, 48, 10)

 

Author