If there's one trading-related activity that I really enjoy doing is creating simple mechanical strategies that have a statistical edge, and can be successfully used by anyone, regardless of experience level in the world of trading in general, and Forex in particular. This month I took a look at a moving average indicator called the GMMA (Guppy Multiple Moving Average), and tried to come up with a profitable strategy, based on a few simples rules.
► Brief introduction into the GMMA indicator
Even though this tool (developed by Australian trader Daryl Guppy) is not available in the Dukascopy jForex platform, you can easily apply it to your charts, because it simply consists of two groups of exponential moving averages (EMA). The faster averages are 3, 5, 8, 10, 12 and 15 EMA, while the slower ones are 30, 35, 40, 45, 50 and 60 EMA.
The way you trade with the GMMA is not by the typical moving average crossover you would expect, but by analysing and interpreting the interaction between the two groups (for example, if the distance between them is compressing or expanding), and also among the different EMAs within each group. However, since I believe that looking at things differently than most people do is a good way to increase your odds of success, I ignored the usual interpretations of GMMA, and focused on developing something easier to systematize, and without any kind of subjectivity.
► Ingredients of this mechanical system
When developing this strategy I replaced the EMAs of the faster group for SMAs (simple moving average), because EMAs will react more nervously to the market and end up triggering too many trades, or prematurely closing existing ones.
- Place 3, 5, 8, 10, 12 and 15 SMA on your charts. You can use slightly different colors to easily distinguish them, For example, different shades of blue.
- Place 30, 35, 40, 45, 50 and 60 EMA.
- Add an ATR 10, this will measure volatility and help us with position sizing and stop loss placement.
- Time frame: I don't recommend using anything shorter than 1 hour candles, because in shorter time-frames there is too much price noise that always have a very negative impact when using moving averages.
- Recommend pairs: Any pair that trends well, has lots of liquidity and as few price spikes as possible, can be used. That's basically all the majors.
► Rules of the strategy
The objective of this strategy is to trigger trades only when there's a clear trend in the market, in all time time frames.
- Go LONG when at the close of the current candle all moving averages are correctly aligned in an uptrend direction, in increasing order. EMA 3 will be higher than EMA 5, this one will be higher than EMA 8, and then EMA 10, until you get to SMA 60:
- Go SHORT when the opposite happens, and all 12 moving averages are aligned in decreasing order:
- Open trades are exited when the initial stop loss is hit, or more likely if one or more of the moving averages are no longer properly aligned at the close of the candle (always wait for the candle to close). For example, a long position would be closed if the EMA 8 went below the EMA 10, even if all the other ones maintained their alignment:
- Initial stop loss is placed at 2 x ATR 10. So if ATR 10 is 75 pips, the stop loss would be placed 150 pips from the entry price.
- All trades are entered at the open of the next candle. For example, if at the close of the 10am candle all moving averages point to an uptrend, then you open a long position right when the 11am candle starts.
► Money management and position sizing
I don't recommend fixed lot sizes at all, the markets are dynamic and so should your trades be. As usual with my all strategies, I include an Excel money management calculator, which we will use to place the stop loss and determine position sizing, based on volatility, the size of the trading account and how much we want to risk per trade. This way we trade smaller positions when the market is more volatile, and bigger when the market is calm. Also, by compounding the profits and trading bigger positions the bigger the account gets (and the opposite if we start losing), we achieve a higher rate of return than if we traded the same amount all the time.
This calculator I developed has been described in other articles I wrote, if you have any doubts please check this article How to Calculate Position Sizing and Normalize Volatility, or simply post a question here. This is how the calculator looks like:
I always make a few tweaks to it, to better adapt it to each system I create, you can download this month's calculator HERE (you need Excel to open it).
► Backtesting results
I did a manual backtest of this strategy on a daily EUR/USD chart for the last 10 years, from April 17 2003, to April 17, 2013. 1 pip was taken from each position, for spread and commissions, and the risk per trade was 4% of the account balance. Note that this strategy can be used on any time frame, I used daily charts because that's what I trade in my live account, and I was looking to see if I could add this strategy to my collection of systems.
This strategy didn't trigger that many trades, 120 in 10 years. Considering that there are about 250 daily candles in a year (2500 for the whole testing period), there's approximately a trade signal every 21 candles, on average. If instead of daily charts you used hourly ones, you could expect about 1 trade signal per day.
If anyone wants a list of a few trades made in the backtest, please let me know in the comments below.
Risking 4% per trade the system produced a total positive return of 51%, which is equivalent to a compound annual growth rate (CAGR) of 4.21%, while the maximum drawdown was 32.1%. Unlike last month's article, where the results of that strategy exceeded my expectations, this time I have to admit that I'm disappointed. Although the first 5-6 years of the test were very good, the following years produced many losses, which caused that big drawdown. The system does appear to have a positive edge (and in a negative-sum market even breaking even is already good), albeit a small one.
My biggest disappointment comes from the profit factor (although anything above 1 is profitable), not the CAGR, because if I had used hourly candles that alone would have increased the CAGR significantly (and the drawdown a bit as well), because there would be a lot more trades and time to compound the profits.
► How to further improve the system
Almost at the end of the backtest, I started to realize that placing the stop loss at ATR 10 will, almost certainly, work better than 2 x ATR 10, because there were a few big losses that could have been partially avoided. If we do that we should also reduce the risk per trade to 2%.
I also thought about adding a very long term moving average, possibly 200 SMA, and only open orders in the direction of that MA.
Another filter could be Fibonacci retracements, which would keep us out of a trade if there was an important ration close to the opening price.
All of these improvements could potentially give a boost to the profit factor, I will probably return to this strategy sometime in the future, with further tests.
► Final words and why backtesting is so important
After checking the results, and realizing they were not as good as I expected (I was counting on a profit factor of at least 1.5), I had two options: on one hand I could have described the system (without the backtesting results), saying how well I believed it would work and most people would rate it and congratulate me for such a good strategy; on the other hand, I could include the backtesting, thus admiting, it is not such an amazing system after all (even though it still beats over 95% of the market). But in doing so I'd be providing a much better service to the community, so the right option is obvious.
The lesson here is simple, when you think you have a great idea, test it extensively before trading it in a live account. And if you see a system developed by another trader ask him/her to provide a backtest, because without one you really don't know if what seems as a great strategy is actually that good, or just a way to lose money very fast. No backtest = no strategy.