Checking OCO orders to see if they executed, I noticed that from time to time I get an unexpected situation where I get a combo of order-status EXPIRED + NEW.
In these cases, my program checks 3 times 0.5s later. It happens that after that time, status is still EXPIRED + NEW. Checking a few hours later and it finally closed: EXPIRED + FILLED.
Any idea if this is “normal”?
What could be the cause (could it be partial fill?)?
How fast should I expect Binance to have both orders updated to latest status?
If one order in the OCO order that is partially filled, the status is PARTIALLY_FILLED and the other one will be EXPIRED. Please print out the OCO order details and see what’s the status of both orders.
When the stopPrice of the OCO order was triggered, it closed your LIMIT_MAKER (EXPIRED) and opened a new order STOP_LOSS_LIMIT. Since the last one is a limit order, it’s expected for it to not be filled immediately, that’s why it’s in NEW status.