If you can load the earnings' dates into that array, that would work.
Creating a data feed would be optimal in a case in which you don't know in advance when you will have access to the earnings' date. The data feed would for example await such date listening on a socket and would deliver something (for example the actual earning) on that date, giving you a cue.
But for backtesting it seems far better to load things into an array and make the logic test.
Wrong. The positions are the same for all strategies for a single asset.
Yes for broker it's true, I understand. But example was for situation with separatly storing positions for each strategy (with analyzer <class Positions> above). And then comparing it with Positions in broker.