Traders often place orders outside the spread (i.e. buy orders above the best offer, or sell orders below the best bid). The expectation is that the order matching engine will walk the order book sequentially until the order is filled. This is how the trading engine of every platform I have ever seen works.
However, this does not work on the DEX as expected under one particular condition. It appears that when there is a margin call order on the book and the user places an order with the same price, the order matching engine matches the user's order with the margin call order, completely skipping the orders on the book that are inside the margin call order.
This issue was discovered by
@alexpmorris, who posted about it on steemit.com, which sparked some discussion:
http://bit.ly/2tKiDfbThe ability to place orders outside the spread is particularly necessary in cryptocurrency trading, where the quantity of tokens available at the best bid or best ask is so often less than the quantity a trader is interested in buying or selling. In the vast majority of cases, the DEX handles such orders as expected. But this edge case could cause people to lose confidence in the platform and should therefore be corrected ASAP.
P.S. I understand there are several fixes queued up for the next hard fork. Does anyone know when that is expected to happen? If it's not soon, perhaps a temporary fix should be made in the UI pending the next hard fork containing this fix?