Did you confirm that via time and sales - preferably other than IB's. You are talking about stop order, right?my order was miles away from NBBO.
You may be right about that, but I am not sure your example is a good one. Stock moving 5c below best bid is not exactly a flash crash.Fewer surprises with no dark pools.
IB's API documentation does mention that you'll most likely receive duplicate order status callbacks: https://interactivebrokers.github.io/tws-api/order_submission.html (see section at bottom of page)I'm not proficient with IB logs yet. They send multiple callbacks with seemingly the same information. For example, the first "Submitted" message seem to come from TWS itself and there is another one which comes from the server, which I assume means the server actually submitted the order to the exchange (vs TWS submitted to the server). There is no info on which exchange the order was submitted to, as far as I can tell.
Update us please if you find anything useful.
I checked a few out of curiosity ... good info to have in any case. My ping is 15-20ms.
As printed in TWS Api logs EST time on Windows:
11:15:06:227 <- placeOrder()
>>> 230ms
11:15:06:457 -> "Submitted"
11:15:06:662 <- cancelOrder()
>>> 37ms
11:15:06:699 -> "Cancelled"
I'm not proficient with IB logs yet. They send multiple callbacks with seemingly the same information. For example, the first "Submitted" message seem to come from TWS itself and there is another one which comes from the server, which I assume means the server actually submitted the order to the exchange (vs TWS submitted to the server). There is no info on which exchange the order was submitted to, as far as I can tell.
Update us please if you find anything useful.
Out of curiosity, have you thought of using one of the discount DMA-ish brokerages like Lime?I don't have logs in front of me, but I'm getting about 30ms to cancel an order.