System testing is an integral part of developing a successful trading strategy.  For example, imagine you decided that you are going to buy when today’s close is above the three previous highs, and the three previous candles were red (close lower then open). How are you going to test this strategy?  Are you going to go through the chart and manually count how many times you were right and what the outcome of those trades was? Luckily progress does not stand still, and over the last decades computers have proven to be of invaluable help in testing trading strategies.

Today there are many programs that allow you to analyze your strategy, and extract lots of useful information you might not even suspect about your system.  Among the better ones I’d mention TradeStation and Metastock.  Personally I use the latter, and I think that it’s one of the most advanced trading tools that is currently available for traders, apart from proprietary software developed for hedge funds.

System testing does not guarantee that in the future the system would perform like it did in the past, but at least you would get a fairly decent idea about how good or bad your concept is, and what you would need to do to improve it.  Metastock has a downside however – you do need to possess programming skills in order to successfully code your concept, but once you master the language, the array of tools available to you is truly amazing.  

A word of caution – optimization would do you much more harm than good. Over-optimized systems (systems in which values have been handpicked to show optimal results for historical data) usually perform stellar on paper, but in real life fail miserably.  These are usually systems that are complex and have multiple indicators built into them.  My advice – keep your system simple. The fewer components it has the less can go wrong with it.