There are basically two types of automated stock trading software: the software that trading funds use, and the software used by individuals. The software funds use is developed in-house, and often focuses on finding small advantages that can be exploited by execution speed. Software marketed to individuals usually has an attractive user interface and includes a market depth page, which displays the bid and ask prices for any given stock.
Automated stock trading software used by funds is usually written in the computer language C++. It is optimized for execution speed, because the software must track thousands of stocks, decide which should be bought or sold, decide how many to buy and sell, communicate directly with the exchange computer, and watches time and price so that it can close out positions as needed. Funds that rely on such speed are very careful to locate the trading computer close to the exchange on which it is trading. The tiny difference in execution time between being 0.25 miles (400 meters) away and 2.5 miles (4000 meters) away can be critical to fund trading.
Many creators of automated stock trading software for individuals have made it possible for the trader to write and test his own algorithms. Pre-written routines for standard technical analysis indicators are normally included. Most have good charting capability and allow the user to draw trend lines, use up and down arrows to mark bars of interest, and allow him to make notes on the chart itself. Frequently, charts can be saved for future reference in standard formats, such as .jpg or .bmp.
Some creators of automated stock trading software for the individual offer little more than the ability to place a basket of orders with the touch of an on-screen button. While submitting a basket of orders can be a useful tool, this function should not be confused with the size or speed of the basket orders trading funds use. Individuals cannot compete with funds in a trading arena if speed is the only criterion for success or failure.
Black box trading systems are marketed to individual traders who are looking for automated stock trading software. A black box system means the algorithms are not disclosed. These systems may come with lots of test results showing how successful they were in the past, but the careful buyer will want to know if there is a substantial body of results for real time trading, preferably one verified by an independent tester. The reason for insisting on verified real time results is that most systems are easy to optimize on historic data, thus generating very good results, but will lose money in real time trading.