Hey honestly, I have always found positionEvent to not be so good and have a lot of latency so I personally keep track of position logic on my own. The most accurate thing is to use and use
or ?
?to update your positions, BUT be careful since for combos it triggers for the entire combo and for each leg so you also need some logic that?
Fill.contract.secType!='BAG' (if you are only worried about positions)