I wrote an algo to do something similar. I was playing the (dead cat) bounce. I scanned the SnP, looking for equities that had triggered the uptick rule, and timing a buy to catch a 1% bounce.
To answer your questions:
1. I did it with the Interactive Brokers API. It worked well.
2. I used Python because IB is not a ULL or LL platform... you don't need the speed of C, and you'll pay BIG bucks for anything even close to LL.
3. Buying at the open is a bad idea. There's a lot of price discovery going on, and the spreads can be enormously wide.. you can really get slaughtered by transaction costs and irrational movement.
4. You can't just buy any instrument. You must check volume before you take a position. If an instrument has light volume, you may get stuck with a huge bid/ask spread, and may not be able to get out without taking a hit. I HATE sluggish instruments with big spreads!!
5. In your scheme, you'll get killed by transaction costs. IB charges $1 for each trade up to 200 shares; to the best of my knowledge, this is the cheapest retail broker for what you're trying to do. if you're only buying 1-2 shares of thousands of stocks, you'll rack up thousands in fees. Perhaps better to focus on a narrower group of targets to minimize transaction costs.
6. Finally, as a retail trader, you're always bottom of the totem pole. You'll get the worst fills... you're last in line.
So, I didn't make any money... not because the algo was bad; because sometimes the damn stocks didn't bounce after a big drop. It was still a 50/50.
Hope this helps. IB API link follows.
https://interactivebrokers.github.io/tws-api/introduction.html