I've done one as part of my scanning system, written in MS Access VBA. I'm a tightwad, so wrote the system to "do the maths" on end of day data which is loaded automatically from Yahoo. I then get a tabular output which, in access, you just click on the column headers to rank, so i can look at *for example) ADX, 'Closeness' to the upper and lower BBands, %R, any manner of moving averages and so on.
Once you've screened, then move to your on-line brokers software and use their charting package to finesse your selections.
Of course, this only works for us end-of-day peeps, and in reality I tend to screen once a week (Sunday) and load up potential trades as a watchlist on-line with CMC markets (who, so far, I've found fabulous for a noob like me)