I have come to realize that it is nearly impossible, if you enter a buy limit order on the bid to expect it to get filled on the bid, assuming price doesn't trade through. The reason being that there are so so so many limit orders ahead of you in queue to get filled. What is the likelyhood of getting filled on the bid here. If you place a limit order at the close of the previous day, and at 10:00 EST the next day your limit price is the current bid? Are you likely to get filled? My question is, I know that if you want to get filled for you limit orders you have to be on top of the queue, well how long is the queue? if you place it yesterday on the close and it's 10:00 EST are you likely to be on the top? Thanks
For a backtest I would be conservative and assume you got filled only if price trades through. You could randomly assign filled or not filled status based on some guess about chances of getting filled but why torture yourself with that? The only way to truly get an answer to the question is to trade the system on a real account. Simulated accounts have assumptions about fills and some can actually be gamed...
It completely depends on the stock. Certain stocks, like MSFT, JAVA, F, etc. are extremely liquid. That is a bad thing if you want to buy on the bid or sell at the offer. You CAN get filled, but like said above, the price will probably have to trade through you. If you were to trade something that was less liquid, you would stand a much better chance of getting hit or taken. The trade off would be it might be harder to get out at the price you want.