Ether Delta is really a masterpice.
A small contract of 300 lines of code is the entire exchange actually :)
(https://github.com/etherdelta/smart_contract/blob/master/etherdelta.sol)
But it is not standard exchange and people confused
You can see it in the picture below.
The catch is in contrast to general exchange, you don't just send buy request, because then there is that akward picture that someone sells for 145 and yet buys for 150???
The reason is, in EtherDelta you need to choose the position, and then you buy.
Otherwise you just put a position until someone press on it and sells you, this is the limitation of the smart contract
How it looks after pressing (generally you don't want to use the buy window bellow the spread)