My selection criteria. Not 100% perfect but nevertheless automated.
1) I use past N days to calculate volatility of the stock. Initially I was using formula, I learnt from smartfin Ranjan's book but later on I moved to formula, I found on NSE exchange. I've experimented with number of days from 7 to 30. Currently using 11. I did not code this in AFL but I wish I had (maybe I will in future)
2) once I get volatility numbers, I weed out scrips with less than 20% volatility and above 80%. On key news day, I shrink this to 30-70 or even 40-60. Doin nothing is better Maxim!!!
3) On top of this, there is ATP filter. EOD ATP prices are available from NSE everyday which I download and uploaded into my filter app. Initially the idea
was to use ATP as gravity point meaning that it will attract prices to itself. This worked beautifully for a week but then in one bad day, it took away 50% of week's gain. so this giant blob of code is all commented.....
4) When I take a trade, I calculate break even (capital prottectin) point as I take trade and experimenting with s/l on exponential curve after break even is crossed.