if the amount of lowest i asks have already exceeds the amount of all the candidate bids, eg. N.
which is amount(market1_ask0, market2_aski) >= amount(market2_bid0, market2_bidN)
there's no need to consider the (i + 1, M) range in market1_asks
with this change, the returned final buyprice can be different