Well I was using OnEndofDay(self) in an algorithm, just to get the open, high, low, close.  Like this

def OnEndOfDay(self)->None:
        
		self.previous_close = self.Securities[self.symbol.Value].Close
        self.previous_vol = self.Securities[self.symbol.Value].Volume
        self.previous_high = self.Securities[self.symbol.Value].High
        self.previous_low = self.Securities[self.symbol.Value].Low
        self.previous_open = self.Securities[self.symbol.Value].Open 

Then I saw this warning message

def OnEndOfDay(self, symbol: str) -> None
def OnEndOfDay(self, symbol: typing.Union[QuantConnect.Symbol, str]) -> None
def OnEndOfDay(self) -> None

End of a trading day event handler. This method is called at the end of the algorithm day (or multiple times if trading multiple assets).

This method is deprecated and will be removed after August 2021. Please use this overload: OnEndOfDay(Symbol symbol)

Full name: QuantConnect.Algorithm.QCAlgorithm.OnEndOfDay’.

So I'm wanting to learn how to use the new method.  Does one have to setup a loop somewhere in the program to loop through all the securities and send them to ‘def OnEndOfDay(self, symbol: str) -> None’  Kind of makes it seem more like just a standard scheduled event?  Like how am I suppose to know when to call this without scheduling it?