A buy limit order is only executed when the asking price is at or below the limit price specified in the order. Novice traders frequently forget that it is not the bid price that must be at their buy limit level but the ask price. Suppose a trader expects a stock price to fall to $50 and wishes to buy the stock in the event that it does retrace downward to that level. If he places a buy limit order at $50 and the stock falls only to exactly the $50 level, his order is not filled, since $50 is the bid price, not the ask price. The current market price showing for a stock is always the bid price.
[ The best way to fully understand limit orders is to see them executed in real-time, which is why Investopedia Academy created Become A Day Trader. Packed with real-time trading examples and effective day trading strategies, this is the ideal course for those looking to become smart, active traders. Learn more today! ]
A trader must always be aware of what the current bid-ask spread is when considering placing a buy limit order. Even if the bid price falls below the specified buy limit price, the trader's order is not filled if the ask price remains above his specified buy limit price. A buy limit order is only guaranteed to be filled if the ask price drops below the specified buy limit price. If the ask price only trades exactly at the buy limit level, but not below it, then the trader's order may or may not be filled. There may be more buy orders at that price level than there are sell offers, and therefore all buy limit orders at that price will not be filled.
Source : Investopedia