Monday, December 28, 2009

Filtering Everything... A Wrong Approach Towards System Design

This year has been one of the most exciting years in my life. In particular, I think that these year has meant for me a huge leap in the understanding of how automated trading systems work and how long term profitable systems can be designed. Today, I want to write a post about one of the most common mistakes people new to system design make, which limits the profitability of the systems and often makes the achievement of profitable systems impossible. The name of this mistake is filtering.

People who program automated trading systems in forums and as a hobby tend to use this word frequently. You will easily find that this is the first thing people try when a given logic does not give profitable results. Does that EMA cross fail to give you profitable results ? What about a filter to remove all those unwanted losing trades ? Do you have a Bollinger band strategy that fails to profit in trending markets ? What about adding a trending filter to take out all those losing trades ? These approaches couldn't be more wrong. Analysts have known for years that there is no such thing as the "switch" that is, there is no given technical analysis tool that can clearly differentiate between two given market conditions.

What is the regular result of adding filters ? Generally you don't get any significant increase in profitability, you just get a reduction in the number of trades. Reducing the number of trades can be either positive or negative, depending on whether the trades removed are losing or winning trades. Results are rarely positive, and even if they are, they rarely put the system into a much better position.

People fail to realize that there is a price to pay for the profitability of each trading system. This price, called market exposure, is simply the amount of temporary draw down the market demands when unfavorable market conditions are met. The God's gift ATR for example faces long draw down/ break even periods in ranging markets. However it more than makes up for that when the market starts to trend significantly. If you try to filter those ranging markets, you will filter out many profitable trades with them (due to the fact that there is no "switch").

What is the way then to arrive at better systems ? The answer is quiet simple. Follow sound trading principles. Are your loses on unfavorable market conditions larger than your profits when the system is favored ? Then introduce a logic to cut your loses short, instead of trying to filter our all losing trades. Adding a closing logic that quickly takes out losing trades but gives winning trades a chance to follow the trend is one of the easiest ways to improve trading systems, particularly trading systems that are being automated.

The Watukushay No.1 and No.2 experts are very good examples of how the introduction of sound closing strategies that are carefully designed help to greatly increase the profitability of a trading system. If you would like to learn more about these two expert advisors and long term profitable automated trading system design please consider buying my ebook on automated trading or subscribing to my weekly newsletter to receive updates and check the live and demo accounts I am running with several expert advisors. I hope you enjoyed the article !


Winter said...

Hi Daniel,

Your article enlightened me. You are right, adding filter(s) will only reduce the number of trades. I shall move towards on the closing logic. Thank you so much.


Chen said...

This is definitely enlightening statement. I have been programming EA for one year so far, and can not agree more with you on this.

Daniel said...

Hi Chen and Winter,

I am glad you have both liked my article so much :o). There are another couple of popular wrong approaches to systems design which I will discuss in the future. Thank you very much for visiting !

Best Regards,


Daniel Fernandez's Expert Author Email Alerts
Sign up to receive email alerts of Daniel Fernandez’s latest articles from!

Email Address: