GMMA_Short_v1

Download script
Author: Code written by - Matt Trigwell
GMMA_Short_v1

This tool is designed to provide traders with a visual representation of short-term market trends by utilizing a specific technical analysis technique known as the Guppy Multiple Moving Average (GMMA). Instead of relying on a single line to tell you what the price might do next, this script plots six distinct moving averages simultaneously to create a clearer picture of momentum.

How it Works

The logic behind this indicator is based on "grouping" price data. It calculates six different Exponential Moving Averages (EMAs) using specific timeframes: 3, 5, 8, 10, 12, and 15 periods. By focusing on these shorter intervals, the tool highlights the immediate sentiment of the market.

Key Features

  • Trend Visualization: Each of the six lines represents a different speed of price reaction. When these lines move in harmony (clustering together), it suggests a strong, unified trend in the market.
  • Momentum Tracking: Because the script uses Exponential Moving Averages, it places more importance on recent price action than older data. This allows the indicator to react more quickly to sudden changes in market volatility.
  • Short-Term Focus: This specific version of the GMMA is optimized for "Short" analysis. It is intended to be used alongside a Long-term version to help traders identify where short-term momentum is diverging from, or aligning with, the broader market trend.

Visual Interpretation

On your chart, you will see six blue lines. The primary goal is to observe the "ribbon" effect created by these lines. Traders typically look for:

  1. Convergence: When the lines are tightly grouped together, it indicates a period of high conviction in the current price direction.
  2. Divergence: When the lines begin to spread apart or cross one another, it may signal a loss of momentum or a potential shift in trend.

By providing this multi-layered view of short-term price movement, the tool helps filter out "market noise" and allows for a more nuanced understanding of how the price is moving in the current moment.

Indicators Used
Moving average indicator
Miscellaneous
Implements a curve of type %1
9 Views
0 Downloads
0 Favorites
GMMA_Short_v1
//+------------------------------------------------------------------+
//|                        Guppy Mulitple Moving Average (Short).mq4 |
//|                                  Code written by - Matt Trigwell |
//|                                            Checked by - Linuxser |
//|                                                                  |
//+------------------------------------------------------------------+

// ***** For information on how to use this fantastic indicator *****
// http://www.guppytraders.com/
// http://www.market-analyst.com/kb/article.php/Guppy_Multiple_Moving_Average
// http://tradermike.net/2004/05/another_look_at_multiple_moving_averages
// http://karakoyunlar.blogspot.com

// ***** INSTRUCTIONS *****
// Add the GMMA Short indicator and the GMMA Long indicator to your charts.
// This is the GMMA Short indicator

#property copyright "Code written by - Matt Trigwell"

#property indicator_chart_window
//#property indicator_separate_window
#property indicator_buffers 6
#property indicator_color1 Blue
#property indicator_color2 Blue
#property indicator_color3 Blue
#property indicator_color4 Blue
#property indicator_color5 Blue

extern color Short=Blue;

//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
double ExtMapBuffer4[];
double ExtMapBuffer5[];
double ExtMapBuffer6[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_LINE,EMPTY,CLR_NONE,Short);
   SetIndexBuffer(0,ExtMapBuffer1);
   SetIndexStyle(1,DRAW_LINE,EMPTY,CLR_NONE,Short);
   SetIndexBuffer(1,ExtMapBuffer2);
   SetIndexStyle(2,DRAW_LINE,EMPTY,CLR_NONE,Short);
   SetIndexBuffer(2,ExtMapBuffer3);
   SetIndexStyle(3,DRAW_LINE,EMPTY,CLR_NONE,Short);
   SetIndexBuffer(3,ExtMapBuffer4);
   SetIndexStyle(4,DRAW_LINE,EMPTY,CLR_NONE,Short);
   SetIndexBuffer(4,ExtMapBuffer5);
   SetIndexStyle(5,DRAW_LINE,EMPTY,CLR_NONE,Short);
   SetIndexBuffer(5,ExtMapBuffer6);
//----
   return(0);
  }

int deinit()
  {
   return(0);
  }

int start()
  {
   int i,j,limit,counted_bars=IndicatorCounted();
   
   
   if(counted_bars<0) return(-1);
   if(counted_bars>0) counted_bars--;
   limit=Bars-counted_bars;
   
   for(i=0; i<limit; i++){
      ExtMapBuffer1[i]=iMA(NULL,0,3,0,MODE_EMA,PRICE_CLOSE,i);
      ExtMapBuffer2[i]=iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,i);
      ExtMapBuffer3[i]=iMA(NULL,0,8,0,MODE_EMA,PRICE_CLOSE,i);
      ExtMapBuffer4[i]=iMA(NULL,0,10,0,MODE_EMA,PRICE_CLOSE,i);
      ExtMapBuffer5[i]=iMA(NULL,0,12,0,MODE_EMA,PRICE_CLOSE,i);
      ExtMapBuffer6[i]=iMA(NULL,0,15,0,MODE_EMA,PRICE_CLOSE,i);
   }
   

   return(0);
  }
//+------------------------------------------------------------------+

Comments