I have a simple algorithm that is similar to the Liquid Universe selection in the Boot Camp tutorial. When placing an order in the OnSecuritiesChanged event, I'm seeing the following error…

The security does not have an accurate price as it has not yet received a bar of data.

Searching the forum turned up this answer which works but I'm curious as to why the error is thrown if the symbols have been added to the universe. If I save the changes to a variable and buy in the OnData event, everything works fine. Should I be buying and selling in OnData instead of OnSecuritiesChanged?