Should Market-orders be always matched with Limit-orders with best price on the opposite book? Or is there a case scenario where a Market-order could be matched with another Market-order? At which price?
If there are no limit orders on the opposite side of the book when your market order gets its turn for execution, it should be rejected by the market. A market order should generally not "sit on the book" like your question suggests waiting for another order to arrive. Thus, the situation that you describe should not happen in an ordinary market that is operating in an orderly fashion.
This is not to say that your order cannot "sit" for a while in a queue - If there is heavy volume, orders will be executed in order, so your your market order may have to wait for orders entered ahead of it to be processed. But once its turn comes up, that's it.
There are some related points to consider:
- Many exchanges want to avoid this situation and have people assigned to ensure that there is liquidity at all times. These people - called "specialists" in the US stock markets - may have an obligation to participate in the market to ensure that the book does not get too lopsided. Securities can have their trading halted if things become too lopsided.
- In markets where this is not provided or not possible, it's often not permitted to place a market order in the first place. "Over-the-counter" stock exchanges are an example of this.
- There are "market on close" and "market on open" order types (on US stock markets at least) that sound like they are variants of the "usual" market order. You should view these as completely different order types that have nothing to do with the "usual" market order. In this case, you will have market orders matched to market orders, but through an auction mechanism that's exchange specific and reasonably complicated.
- There are also some more obscure market type orders like "market not held" (http://www.nasdaq.com/investing/glossary/m/market-not-held-order) that each have their own special rules. Market not held, for example, gives the broker discretion to execute the order when they think it's most advantageous to you.
I should caution that my answer is biased a bit to US stock markets, whereas you asked about currency markets. I believe the same basic principles apply, but I'd be swayed by someone with evidence to the contrary. I'd also note that currency tends to be more liquid than stock, so I think it's less likely that this situation would come up. Maybe possible for a "weak" currency or a currency that experiences a sudden crisis of some sort.
Based on my research while asking How are unmarketable market orders (other side of the order book is empty) matched with incoming orders? and the one answer there, it seems like there are a few things for certain:
- This is a rare situation. There could only be an open market order on the books if there are literally no orders on the other side of the order book, which would only happen in a very illiquid market.
- Market orders are matched with higher priority than other orders. If there's already a market order on the books when a new order is placed (whether the new order is a limit order or a market order) it will be matched with that market order (the earliest-placed one if there are multiple) before any limit orders also on the books get matched.
- The price at which that transaction takes place is worked out based on some some equation specific to the exchange you're trading on. For example it could be the market open price, maybe last trade price, etc.
All of this of course depends on the exact algorithm specified by the given exchange - I don't think there's a standard here.