Quote from bone:
Early bird gets the worm on FIFO. Earliest timestamps get filled first. If you change your order in any way - like the quantity, for example, it gets bumped back to the queue and you are pushed to the back of the queue.
So, if you are getting cute with automation and flooding the marketplace with alot of orders with frequent cancellations and updates, unless you improve the price (like lift an offer or hit a bid) you are not getting better or earlier fills than the good old manual trader who has a resting order (price limit, GTC) placed with an earlier timestamp.
In fact, ATS are tagged lowest priority - which means unless you improve the price your fill priority is matched as lowest. ATS orders are tagged as 'contingent'. In other words, since it is part of an ATS that is cancelling and replacing orders on a very frequent basis in the system, the exchange deems it to be the least reliable liquidity to match in the system.