+91-0000000000

}

Monday – Friday : 9:00 AM – 6:30 PM

Guppy GMMA

Guppy GMMA (Guppy Multiple Moving Average) is a robust indicator in Amibroker AFL that utilizes multiple exponential moving averages to analyze market trends. Leveraging the Amibroker data feed, this AFL calculates two groups of EMAs – short-term and long-term – representing trader sentiment and investor sentiment, respectively. The convergence or divergence of these EMAs helps traders identify potential entry or exit points.

/_SECTION_BEGIN("GMMA");
/* ------------------------------------------------------------------------------------------------- GUPPY MULTIPLE MOVING AVEREGES ------------------
   Guppy GMMA from AmiBroker Library, enhanced with "derived" Indicators 
 ---------------------------------------------------------------------------*/
EnableTextOutput(False);
GuppyGraphType  = ParamList("Type of Guppy Graphic","Guppy GMMA,Guppy Compressions,Guppy Sonar",0);
// Normalization   = ParamToggle("Normalization Array","CLOSE,EMA30",0);
LocalBuySignal  = LocalSellSignal = 0;
MinMaxPeriod    = 20;
// --- DEFINE/CALCULATE ALL DATA NEEDED FOR BUY & SELL COMPOSITE SIGNALS outside the IndicatorType IF --- 
EMA03           = EMA(Close,3); 
EMA15           = EMA(Close,15);
EMA30           = EMA(Close,30);
EMA60           = EMA(Close, 60);
NormalizerArray = EMA30;   // IIf(Normalization == 0, Close, EMA30);
//
GMMADeltaPerc   = ((EMA15 - EMA30) / NormalizerArray) * 100;
switch(GuppyGraphType)
{
   case "Guppy GMMA":
       SetChartOptions( 1, chartShowDates | chartWrapTitle, ChartGridMargins ); 
       SetChartBkColor(ColorRGB(222,222,222));
       Plot(Close, "\\c16Guppy GMMA: \\c43 Close", colorBrightGreen, styleLine | styleThick );   
       Plot( EMA03,          "EMA(3)",  colorSkyblue,     styleLine | styleNoLabel ); 
       Plot( EMA(Close, 5),  "EMA(5)",  colorAqua,        styleLine | styleNoLabel ); 
       Plot( EMA(Close, 8),  "EMA(8)",  colorTurquoise,   styleLine | styleNoLabel ); 
       Plot( EMA(Close, 10), "EMA(10)", colorLightBlue,   styleLine | styleNoLabel ); 
       Plot( EMA(Close, 12), "EMA(12)", colorBlue,        styleLine | styleNoLabel ); 
       Plot( EMA15,          "EMA(15)", colorBlueGrey,    styleLine | styleNoLabel );       
       Plot( EMA30,          "EMA(30)", colorYellow,      styleLine | styleNoLabel ); 
       Plot( EMA(Close, 35), "EMA(35)", colorGold,        styleLine | styleNoLabel ); 
       Plot( EMA(Close, 40), "EMA(40)", colorLightOrange, styleLine | styleNoLabel ); 
       Plot( EMA(Close, 45), "EMA(45)", colorOrange,      styleLine | styleNoLabel ); 
       Plot( EMA(Close, 50), "EMA(50)", colorRed,         styleLine | styleNoLabel ); 
       Plot( EMA60,          "EMA(60)", colorDarkRed,     styleLine | styleNoLabel ); 
       break;
   case "Guppy Compressions":
       SetChartOptions( 1, chartShowDates | chartWrapTitle, ChartGridMiddle ); 
       Plot((Max(EMA03, EMA15) - Min(EMA03, EMA15)) / NormalizerArray * 100,"TRADERS Width, % vs EMA(30)",  colorBlue, styleLine | styleThick);
       Plot((Max(EMA30, EMA60) - Min(EMA30, EMA60)) / NormalizerArray * 100,"INVESTORS Width, % vs EMA(30)", colorRed, styleLine | styleThick);  
       Plot((Max(EMA03, EMA60) - Min(EMA03, EMA60)) / NormalizerArray * 100,"TOTAL GUPPY Width, % vs EMA(30)",   colorGold, styleLine | styleThick); 
       break; 
   case "Guppy Sonar":
       SetChartOptions( 1, chartShowDates | chartWrapTitle, ChartGridMiddle);  
       GMMAUP    = GMMADeltaPerc > Ref(GMMADeltaPerc,-1);
       GMMADOWN  = GMMADeltaPerc < Ref(GMMADeltaPerc,-1);
       BarColor  = IIf(GMMAUP AND GMMADeltaPerc >= 0,colorBrightGreen, IIf(GMMADOWN AND GMMADeltaPerc > 0,colorGreen, IIf(GMMAUP AND GMMADeltaPerc < 0, colorRed, colorDarkRed)));
       Plot(GMMADeltaPerc, "\\c16Guppy SONAR, % Gap \\c29TRADERS\\c16 - \\c32INVESTORS\\c16 vs EMA(30)", BarColor, styleHistogram | styleThick );   
}
_SECTION_END();

_SECTION_BEGIN("Price");
SetChartOptions(0,chartShowArrows|chartShowDates);
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) ));
Plot( C, "Close", ParamColor("Color", colorBlack ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() ); 
_SECTION_END();

Open chat
1
Hi, how can I help you?