The guy cannot buy both for 155.
His order will go through on the 150 USD order and sit there with an buy @155 while the other guy has a sell at @160.
I would be pissed if I put on an exchange that I am willing to sell my bitcoin for $160 and the exchange sold it to some guy for $155.
No the seller @ $150 gets $150.
The seller @ $160 gets $160.
This sounds like it is a good algorithm that no exchange right now already has. Most exchanges right now will buy @ $150 and give you $5 back so you have $160 laying in your account, but the exchange does not have your permission to buy @ $160.
Unless you do a market order for all your money.