I have basic question concerning the stock market. I placed a Limit-Sell Order of 500 stocks at $1.45 for Stock X while it was trading below that. Two days later I woke up to all shares being sold for the actual price of $1.55 per stock. Of course I was happy about it, yet that must mean that the buyer ended up paying more per stock than for what I was willing to sell it for. I'm using a smaller platform so the bid-ask spread is oftern higher than at e.g. NYSE (I'm also not from the US). My understanding was that if given e.g.:
Ask 1000 $1.55 Ask 500 $1.45 Ask 200 $1.44 Bid 100 $1.43 etc.
and now a Market- or let's say Limit Order for 1000 shares for $1.60 is placed that the buy order would've been executed like that:
200 → $1.44 500 → $1.45 <- my order 300 → $1.55 ----------- total: $1478
but instead my stocks were sold for the same, higher price. I suppose that is due to the fact, that the buyer was willing to pay $1.60 in this example? Is that what must've happened in this case or is there a different explanation?
Also: what happens if a stock is very low in volume (on that platform), let's say someone wants to buy 1M stocks but only 900k are available? Is the order halted until the full volume is reached or would you first receive 900k stocks and the remaining 100k are still awaiting to be fulfilled? Is that part of the one-time transaction fee that is payed?