To make it properly you should have:
historical data streams per instrument and
backtest engine is synchronizing those into one GlobalMarket object (instant quote representation after each tick). Synchronization happens by reading timestamp of each tick and then pushing it into GlobalMarket
If you have this setup, then latency can be added as a shift to ...