Trades are 'pooled' at the end of the run() call (which is at each BarPeriod).
Only if your tick-based TMF triggers a trade intrabar, does a 'virtual' trade become a 'pool' trade immediately.