Vast majority of systems fail because they're not based on a edge in the market. Most are based on fitting a method to the past data. Even with a walk forward test they're just wasting their time. Take the trades from backtesting....put them through a Monte Carlo process...save the 95% drawdown level...watch how often it's hit in out of sample tests. Pretty conclusive evidence the method was based on past market conditions and not a edge. Just about all commercially available systems are built on market conditions and just about all fall apart over time.
I have found it quite difficult to take a fairly simple pattern [that I can identify instantly by looking at a chart] and put it in terms a computer can understand. I can look at a certain pattern where volatility is increasing and the price is dropping and mentally I say "mudslide" because I have named it that but to convey mudslide to a computer program is not at all easy. Gaps in the price bars make the difference. The volatility and the rate of change of the volatility might measure similarly but there might be a big gap down somewhere, in my mind that is not a "mudslide", that is a "most downer" and it has to be traded entirely differently. The interpretation of what is a big gap vs a little gap can make the difference and it just can't be reduced to a mathematical thing. It is very easy for me to differentiate the two via a chart, the sets of the two never intersect, based on observations of subsequent price and volume action, but I cannot turn that task over to the computer after years of trying. What I am thinking is that when people follow "simple rules" they are not following "simple rules", they might think they are but probably what they are following is way more complex than they know. I have found that if I know the difference between simple rules and the more complex stuff then I can establish the boundary between myself and the computer. I can then turn some of the work over to the computer.
If X% of systems fail because there is no edge, then an additional Y% will fail when they automate, because they simply dont have the technical skills required to fully automate or automate properly. That said, fully automated systems that pull money every day, that have a real edge, and really trade full auto, do exist and are successful. But they are very rare. Most people dont have the skill to find a real edge. Even fewer have the technical skills to automate that edge.
i agree with rufus. strategies work very well for a while, but due to a change in rules, such as order handling, fractions to pennies, or just an inefficiency gets worked out, that systems will not work forever, and new ones must be developed to a new environment.
The reason for failure is that human make trading decision both rationally and irrationally. An automated system needs to consider the two variables in its decision making in order to succeed. The first variable (rational side) is likely possible to implement in the computer but for the second variable (irrational side) is impossible to make an algorithm to work at our time. Perhaps in the far future that it will be resolved or maybe never.
Market making and liquidity provision programs are not so uncommon. The edge they have is that the market has a spread and ticks in fixed increments both of which are structural inefficiencies. Stat arb is another example.
About patterns recognized by human eyes - they are very hard to implement and are less likely to be successful when implemented as trading models due to subtle absence of the traders' situational analysis of the environment at the point in time when he/she was reading the chart. e.g. a potential sell signal when the price is charging at a previous high is also the same setup for a break out trade when the previous high is taken out "decisively". The clue does not lies in the price pattern itself but the condition (mkt is over extended, or mkt is rising from a significant low) that set up the price action. On the other hand, there are mechanical setups that cannot be detected easily by human eye, but can be implemented very easily by mechanical systems. e.g. multiple ticks based patterns, bid/ask patterns, etc.
Instead of using the past data to forecast turning points, dynamic support levels and trading ranges in the future .