Let’s take a look at a simple moving average crossover system and see if we can improve it. Specifically, can we improve the moving average system’s performance by reducing the number of whipsaws during those dreaded range bound markets? Whipsaws occur when a market moves from a trending mode to a consolidation mode. During this consolidation mode the system gets whipsawed from long to short creating a string of losing trades. Long trades suddenly reverse hitting your stop. Likewise for short trades. These ‘false signals’ can destroy your equity curve. In this article I’m going to present two simple methods to improve the simple moving average crossover system. These ideas can easily be implemented into your trading systems and may provide a great starting point for a trend following system.
Our baseline system will consist of two simple moving averages (SMA) executed on a daily chart of the Euro futures. I’m picking the Euro because it has demonstrated solid trending characteristics as opposed to the stock index markets which tend to be mean reverting. If you will recall, signals are generated when a faster moving average (trigger SMA or trigger line) crosses a slower moving average (slow SMA or slow line).
Slow SMA 50 period Trigger SMA 3 period Go Long when trigger crosses above Slow SMA Go Short when trigger crosses under Slow SMA Dates Tested: May 2001 – September 30, 2013 Commissions & Slippage: $30 deducted per trade Number of Contracts: 1
For those using TradeStation the Baseline System was created by inserting two strategies into the chart that were provided by TradeStation. Below are the two strategies. The first one controls the long entry (LE) rules and the second one controls the short entry (SE) rules. You can see the input fields contain the three and the fifty for the two different periods for our moving averages. Buy using these provided strategies you can build a moving average crossover strategy within seconds without any coding skills.
movAvg2Line Cross LE
MovAvg2Line Cross SE
These two simple rules produce a trading system that is actually profitable over the long term. This is a testimate to the trending characteristics of the Euro futures market. However, there are periods of large drawdowns and long periods where no new equity highs are created. It’s not likely anyone would actually trade this with real money. The image below shows a recent period from 2011 when the Euro entered a consolidation phase during the summer months of June through August. During this time our Baseline System produced a string of eight consecutive losing trades.
With this entry method we are going to delay our entry into the market after the trigger line crosses the slow SMA. So, when the trigger line crosses the slow SMA we do not open our position right away. We delay for several bars. Let’s say we wait for 15 bars after the cross occurs. On the tenth bar after the signal we see if price is still above the slow SMA (for a long entry) and enter at the open of the 11th. If price is below our slow SMA we don’t open a new position. By doing this we eliminate some whipsaws at the expense of entering the trade later than the original SMA cross. The idea behind this method is if a new bull market is about to start, price should not fall back below the slow SMA. In short, it’s another way to measure the amount of conviction for the next market phase. However, we will keep the exit the same. When an EMA cross occurs we always close our open position. We only apply the delay when opening a new position.
The equity curve with our delayed entry actually moves the entire equity curve above the zero line. Fewer trades are taken and we reduce the total net profit. The equity curve also appears a little less jagged implying a slightly more smoother climb up. Below is an image showing the whipsaw summer time period in 2011. You will notice we have reduced the number of whipsaws from eight to zero.
Whipsaw Summer 2011
Unlike the standard moving average crossover where the trigger line must simply cross the slow SMA, our trigger line must now demonstrate conviction by crossing beyond the slow SMA. For example, picture another band above the slow SMA that is 1 ATR above the slow SMA. In order to open a new long position we require the trigger line to penetrate that ATR band above the slow line. Now picture another band that is one ATR below the SMA. This band represents our short trigger when we open a short position. We hope to eliminate some whipsaws by delaying our entry and forcing the market to show us some strength.
Some of you may have already noticed that what we have is a Keltner Channel. A Keltner Channel is nothing more than a moving average (slow SMA) with an upper band X number of ATRs above and below the slow SMA. The upper and lower bands act as the trigger to enter either a long position or a short position. The bands adapt to expanding volatility requiring more price conviction to initiate a new position. Likewise, these bands contract during lower volatility times. Thus, the entry and exit rules are more dynamic to a changing market than a simple moving average crossover.
The equity graph does not look too much different than our baseline system. The entire equity curve spends less time near the zero line and there are fewer trades. Below is the same time period showing the Band System has reduced the number of false signals from eight to two. This is a great improvement over the Baseline System.
Whipsaw Summer 2011
Each of the two methods improved the results of the original Baseline System. Looking at the table below we can see performance statistics such as profit factor, percent winners and average trade net profit all increased. The Keltner produced the best overall statistics. We certainly don’t have a trading system that is tradable with real money, but we accomplished our mission. We reduced the number of whipsaws with our Delayed Entry System and Band Entry System. You can see this by looking at the number of trades taken by each system and the percent winning trades.
MA Improvements Peformance
Avg.Trade Net Profit
Annual Rate of Return
You can take this research in all types of directions. Here two more ideas.
Delay With Time Decay – Markets switch between trending and non-trending as we all know. Often you will notice a string of whipsaws on a moving average crossover system right after a great winning trade was closed. The market apparently is now morphing to a range bound market and will likely do this for sometime. However, as the days or weeks wear on the likelihood of a breakout probably increases. Thus maybe we can reduce the delay amount as time goes by. After the close of a successful trade we begin looking for the next cross with our default X bar delay. The market remains range bound and produces several false signals over the weeks but our system does not take any new signals. During these false signals our delay counter is reset but let’s not always reset it to X. Every day or every week we reduce our X day delay by one. We do this because we believe as time goes by a breakout becomes more likely. However, we never reduce X to reach zero or lower. In fact, we may never want to go much lower than 5 or so.
Trend Filter – In a previous article I used rsRank or a 200-period SMA as a trend indicator to help determine the bigger picture for the Euro. In other words, are we within a bullish or bearish market? Maybe only taking long trades during a bull market or taking short trades during a bear market would improve results. This would be an interesting and simple test to perform. I would love to hear your results.
Be sure to leave a comment below. I would love to hear any ideas or results from your own testing!
Both the baseline and Keltner channel systems are straight forward to create so they are not included here. However the delayed entry based system is a bit more trickily to code so that system is available here for download.
Jeff is the founder of System Trader Success - a website and mission to empowering the retail trader with the proper knowledge and tools to become a profitable trader the world of quantitative/automated trading.
Please log in again. The login page will open in a new window. After logging in you can close it and return to this page.