The slope of the line of best fit is a requirement for any spread to be included in my universe of candidates. Trigger points are then generated according to deviations from the line conforming to a few basic technical criteria.
I am building my own product in Java. It is not finished yet, at the moment it is a just a VBA application.
What I did was fill two workbooks with the last 5 years of daily price data from the S&P 500 (a pain in the arse, I tried doing it manually from Datastream at first before finding that Bloomberg does it really quickly).
The stocks entered for processing are just those in the S&P 500.
Doing it dynamically is currently very clumsy as I have to re enter the last 5 years of data every day direct from Bloomberg. Once my Java application is up and running I will use a live feed into a sql database and the data will be continuously scanned on a dedicated PC in there.
I am still exploring the relative merits of sector neutrality. Being sector neutral offers fewer triggers but they are right more often. We will see what the backtest shows up when it is complete...