In a way, it's interesting to see this sort of recapitulation take place.
Do you mind giving some context to this statement? What I know of the ECNs you mentioned is from reading the book 'Dark Pools'. It would be great to get some insight into the innovations that were developed in all three projects, that have become a mainstay in 'fintech'.
ECNs were f!cking amazing and when Datek started routing limit orders to Island (genius play) from retail investors the days of crazy spreads, slippage and free money became history. Some of them also allowed you to do cross-exchange routing - I think BRUT was first to do it - so you could send your order via BRUT to a specific exchange. This killed NYSE/PHL/AMEX arbitrage (AMEX and PHL were slower than NYSE so it was possible to do a trade on NYSE and take offsetting position on PHL/AMEX immediately locking the spread)
Since ECNs would self-cross at the NBB and NBA even if the market had no action because the likes of NITE and GSCO were slowing down just to get better money on the order flow, the trading simply moved to Island and Instinet forcing regular market makers to play ball.
The effect of ECNs in trading was equivalent of introducing Ansible and Puppet management in server management. Crypto-exchanges now act the same way as the who who say "We only manage our servers using Vt100 terminals using vi"
NBB is "national best bid" and NBA is "national best ask"
Buy|Sell
1000@5|100@5.1 <-- top of the book/best price
1000@4.9|100@5.5
..
..
..
100000@1|1000000@10000 <--- bottom of the book, worst price - this is "sucker catcher". If someone clown with more money than brains throws a marker order with the quantity higher than posted by everyone above, it will catch the bottom of the book.
At this point no trades are happening because no one is offering to buy at a price that someone else is willing to sell.
A market order is an order that does not specify the price. Only action and qualities. This is the only type of an "immediate" order because as long as there is anyone on the other side willing to sell or buy a quantity, it will be executed against the most eligible entry ( top ) of the book.
What happens when you do a limit order? The limit order "Buy 5@4.95" will be inserted into the book based on the price so with this order the book will look:
1000@5|100@5.1
5@4.95|100@5.5
1000@4.9|
..
..
..
100000@1|1000000@10000
As you can see still nothing is trading because there's still a spread.
What happens if someone does "sell 5000@5" against the book above:
1000@5|5000@5 <--- locked market
5@4.95|100@5.1
1000@4.9|100@5.5
..
..
..
100000@1|1000000@10000
The market is now locked - there's someone who wants to buy @5 and someone who wants to sell @5. Result of this is automatic market unlock:
5@4.95|4000@5 <--- unlocked market
1000@4.9|100@5.1
..
..
..
100000@1|1000000@10000
with a single 1000@5 traded so the "new price" of the asset is now @5
What happens when trading is suspended and market "ran away" i.e. significantly moved. Nothing special actually. All non-canceled orders are entered into a queue in an order of entry and are executed based on the book replay as if there was no suspension at all.