An algorithm is a step-by-step procedure to accomplish a task. Algorithmic trading is the process of using computers programmed to follow a defined set of instructions for placing trades in order to generate profits at a speed and frequency that are beyond a person’s capability.For example, suppose a trader wants to follow two simple trade criteria: Buy 50 shares of a stock when its 50-day moving average crosses above its 200-day moving average And sell the stock when its 50-day moving averages goes below the 200-day moving average A computer program can follow those instructions, as well as monitor the prices, and then place the orders when the conditions are met. The trader doesn’t have to do it, the algorithm trading system does it. Algo-trading provides many benefits. Trades are executed at the best possible prices, as well as instantly and accurately. Transaction costs and the risk of manual error are reduced, and algorithms can be backtested on historical data to gauge how they’ll work in current conditions. Most algo-trading is high frequency trading, which attempts to capitalize on placing a large number of orders at very fast speeds across multiple markets. There are many strategies, most of which follow trends in moving averages, channel breakouts, price level movements and other technical indicators. Risks include system failures or network connectivity issues. There may be time lags between orders and execution, and an algorithm can be imperfect. The more complex the algorithm, the more backtesting it requires. Despite the risks, analytical traders should consider learning algorithm programming.