How To Create a GMMA MetaStock Exploration

How To Create a GMMA MetaStock Exploration
By David Jenyns & www.meta-formula.com
The Guppy Multiple Moving Average (GMMA) indicator was first mentioned in Trading Tactics in 1997 and has since
gone on to be very well respected within the trading community. In short, through the use of multiple moving averages,
the indicator allows a trader to gain insight into a trading candidate’s trend activity and the relationship between short
term traders and long term investors.
To find out more about the GMMA and its applications please visit: http://www.guppytraders.com/gup329.shtml
The goal of this article is show you how to identify those stocks that have recently moved into a GMMA buy/sell signal
by way of a MetaStock exploration.
That is to say, we want 2 explorers indentifying stocks crossing from a GMMA bearish signal to bullish and a second
exploration showing stocks moving from a bullish signal to bearish one. I’ll also show you how to ensure these
conditions have been met within the last 3 trading days.
Using the Metastock indicator formula freely provided by Daryl (below) it’s really quite easy.
Bullish formula
Value1:=(Mov(CLOSE,3,E)+Mov(CLOSE,5,E)+Mov(CLOSE,8,E)+
Mov(CLOSE,10,E)+Mov(CLOSE,12,E)+Mov(CLOSE,15,E));
Value2:=(Mov(CLOSE,30,E)+Mov(CLOSE,35,E)+Mov(CLOSE,40,
E)+Mov(CLOSE,45,E)+Mov(CLOSE,50,E)+Mov(CLOSE,60,E));
Value1-Value2>=0
Bearish formula
Value1:=(Mov(CLOSE,3,E)+Mov(CLOSE,5,E)+Mov(CLOSE,8,E)+
Mov(CLOSE,10,E)+Mov(CLOSE,12,E)+Mov(CLOSE,15,E));
Value2:=(Mov(CLOSE,30,E)+Mov(CLOSE,35,E)+Mov(CLOSE,40,
E)+Mov(CLOSE,45,E)+Mov(CLOSE,50,E)+Mov(CLOSE,60,E));
Value1-Value2<0
First, for demonstrative purposes, I have created an indicator using both the bullish and bearish formulas and applied
them to a chart (below). Notice when the formula is ‘true’ it displays and value of ‘1’ and when it’s ‘false’ it displays a
value of ‘0’.
1 Copyright 2009 www.meta-­‐formula.com Starting with the bullish exploration first, what we’re looking for is the point at which the bullish and bearish GMMAs
cross. MetaStock has a pre-programmed function called ‘Cross’ that allows us to indentify this quite easily.
Here’s its syntax: Cross(Data Array 1, Data Array 2)
Where ‘Data Array 1’ is the information that is required to cross above the second set of information and ‘Data Array 2’
is the information that ‘data array 1’ crosses above.
Let’s look at an example applying it to the bullish condition we wish to indentify:
Value1:=(Mov(CLOSE,3,E)+Mov(CLOSE,5,E)+Mov(CLOSE,8,E)+Mov(CL
OSE,10,E)+Mov(CLOSE,12,E)+Mov(CLOSE,15,E));
Value2:=(Mov(CLOSE,30,E)+Mov(CLOSE,35,E)+Mov(CLOSE,40,E)+Mov
(CLOSE,45,E)+Mov(CLOSE,50,E)+Mov(CLOSE,60,E));
Cross(Value1,Value2)
Next we want to extend the signal so that it may held ‘true’ for more than just the point of the cross. Using another of
MetaStock’s pre-programmed functions called ‘Bar Since’ we can achieve this.
The syntax for this is: BarsSince(Expression)
Where ‘expression’ is the technical condition that you are going back through the data to search for. When found,
MetaStock will count the number for bas since it last occurred.
Using MetaStock’s formula, we can further stipulate that this conduction must have occurred in the past 3 days. See
our updated example below:
Value1:=(Mov(CLOSE,3,E)+Mov(CLOSE,5,E)+Mov(CLOSE,8,E)+Mov(CL
OSE,10,E)+Mov(CLOSE,12,E)+Mov(CLOSE,15,E));
Value2:=(Mov(CLOSE,30,E)+Mov(CLOSE,35,E)+Mov(CLOSE,40,E)+Mov
(CLOSE,45,E)+Mov(CLOSE,50,E)+Mov(CLOSE,60,E));
BarsSince(Cross(Value1,Value2))<=3 That’s it! Now all that is left is to plug the above formula into an exploration as shown below:
2 Please note: Te formula must go into the into the filter tab.
Copyright 2009 www.meta-­‐formula.com Click ‘ok’ then ‘explore’, running it as you would a normal exploration (if you’re having trouble with this please visit:
www.meta-formula.com/mpsg). What you’re left with is only those stocks that have turned bullish within the past 3
days according to the GMMA.
Simple isn’t it?
Now to turn this on its head and identify all those stocks that have recently turned bearish all we need do is swap
around the values within the ‘Cross’ function (as show below).
Value1:=(Mov(CLOSE,3,E)+Mov(CLOSE,5,E)+Mov(CLOSE,8,E)+Mov(CL
OSE,10,E)+Mov(CLOSE,12,E)+Mov(CLOSE,15,E));
Value2:=(Mov(CLOSE,30,E)+Mov(CLOSE,35,E)+Mov(CLOSE,40,E)+Mov
(CLOSE,45,E)+Mov(CLOSE,50,E)+Mov(CLOSE,60,E));
BarsSince(Cross(Value2,Value1))<=3 Please note: These types of explorations are not a complete system on their own and would need to be combined with
other entry, exit and money management rules. The potential is there however to create a very solid trading system
that includes the GMMA.
If you’re having trouble getting this exploration to run correctly, I made you a video here to explain further:
http://www.youtube.com/watch?v=nSVzuCEVeEc
If you’re still having trouble or want find out more about how to use MetaStock to its full potential?
Please visit: www.meta-formula.com/mpsg
Also, one more thing you may be interested in…
Would you like to ask Daryl Guppy any trading questions? I’m interviewing Daryl this weekend and, if you get
your question in quick enough, I’ll be happy to ask Daryl for you. Visit www.davidjenyns.com to submit your questions.
3 Copyright 2009 www.meta-­‐formula.com