I am in the process of developing an interface for a trading program that I developed for personal use. Currently it only exists in STATA code. This trading program is based on an amazingly simple idea.
Here is how it works: You tell the program about a stock that you like, and the program will tell you an optimal trading plan using limit orders. E.g. say you enter FB, and set your preferences for day-trading strategies. The program will tell you something like this: "If you place a buy order with a limit price of $X and a sell order with a limit price of $Y, then with a probability of p, both of these orders will get executed in the next trading day, giving you a profit of R%=(Y-X)/X and an expected return of pR%." There's a lot more to it, of course -- such as the probability of the orders getting executed within the next n days, and you can add various constraints (e.g. not buy and sell the same stock on the same day).
Intuitively, this strategy helps you make money off of daily price fluctuations. It works under the assumption that all price movements are random variables and calculates the probability of order execution in a non-parametric way, weighing most recent data more heavily. For example, it turns out that if you buy FB at a limit price of 0.996 x previous closing price, and sell at a limit price of 1.008 x buying price, there is a 50% chance that both trades will execute within one trading day (and 93% chance that they will execute within 2 days), netting you an expected daily profit of 0.4%. That means if you have $100k, you can get an income of $2000 each week.