My favorite algorithm sends 2-5 orders per second to get in or out of a stock position. Why? I get better fills by sending tiers of 100-share orders, to scale in or out. When managing several positions, it adds up to 20-30 orders per second in a fast market. Using the Genesis GTP protocol, it works great. I feel like such a spammer.
I send to BATS or NASDAQ depending on the stock .... it usually takes a couple minutes to accumulate 1-3k shares.
The reason I implemented this .... sizing up to 500-1000k+ shares I was just not getting the same results. Many of the winners I only grabbed 100, 200, 500 shares. And of course, every loser was full size. It's a sneaky problem with limit orders. Having winning trades half the size of the losers will kill any good strategy. Playing the 100 share game helps somewhat. I was considering all-or-none orders, but then I guess it is a similar risk of not getting filled at all. I don't know if there's anything else I can do. Seriously, if I throw more that 8k at a position I have these problems (1k shares of a $8 stock). So many good trading stocks are < $10 which doesn't help at all.