I'm looking at the documentation for use of indicators, and it's well put together and straight forward, thanks. The indicator should be setup in initialize (using AddEquity, then self. EMA for example), and then as a second step, consumed in OnData. This I understand.

What about if I have a varying universe, for example the QC500 which I will select using universe selection, and hence not use AddEquity. Can I do the universe selection as normal, then in OnData (or any scheduled function), consume the indicator? 

I'll try to illustrate with a code snippet:

def Initialize(self):
self.UniverseSettings.Resolution = Resolution.Daily
self.AddUniverse( self.CoarseSelectionFunction, self.FineSelectionFunction)

def OnData(self, data):
self.atr = self.ATR(stocks, 200, Resolution.Daily)
# where stocks is a list of tickers that has passed through universe selection

So will this work if I never use AddEquity in Initialize, using only self.AddUniverse, then setup the indicator in OnData? I guess it's important to clarify that I'm not looking to use the indicator in Universe Selection, merely apply it afterwards, so I didn't find the EMACrossUniverseSelectionAlgorithm.py transferable.

Apologies if this post isn't clear, and especially if there is already a forum post or example on this. I've searched already, but if I've missed the previous forum post, please send me the link for it.

Thanks heaps!