Download Ind GG01 MT4 Indicator

Ind-GG01-MT4-IndicatorMost of the forex traders combine strong indicators to generate trading signals. IND-GG01 indicator is composed of 3 reliable indicators which traders have been using for many years: Moving Averages, Bollinger Bands and Parabolic SAR.

Moving averages determine the current trend, Bollinger bands and Parabolic SAR find best entry points and filter the signals from whipsaws. This indicator also gives you more space on the charts.

How to Trade With IND-GG01:

Buy Signal:

-Wait for IND-GG01 to generate a buy signal (green arrow below the price bar).

Sell Signal:

-Wait for IND-GG01 to generate a sell signal (red arrow above the price bar).

Ind GG01 MT4 Indicator – is visual easy to use, GG01 indicator gives you Buy or Sell signal. It uses Moving Averages, Parabolic SAR, Bollinger Bands.

 

[php]

//+——————————————————————+
//| Die Stنrke des Corrected Average (CA) besteht darin, |
//| dass der aktuelle Wert der Zeitreihe einen von der momentanen |
//| Volatilitنt abhنngigen Schwellenwert überschreiten muss, |
//| damit der Filter steigt bzw. fنllt, wodurch Fehlsignale |
//| in trendschwachen Phasen vermieden werden. |
//| -A.Uhl- |
//+——————————————————————+
//|Germany, 23.03.2007
#property copyright “A.Uhl, © RickD 2006, Alexander Piechotta”
#property link “http://onix-trade.net/forum/”
//—-
#define major 1
#define minor 0
//—-
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Gold
//—-
extern int MA.Period=35;
extern int MA.method=MODE_SMA;
extern int MA.applied_price=PRICE_CLOSE;
//—-
double MABuf[];
double CABuf[];
//+——————————————————————+
//| |
//+——————————————————————+
void init()
{
IndicatorBuffers(2);
SetIndexStyle(2, DRAW_LINE, STYLE_SOLID,1);
SetIndexDrawBegin(0, MA.Period);
//
SetIndexBuffer(0, CABuf);
SetIndexBuffer(1, MABuf);
IndicatorShortName(“Corrected Average (CA) (“+MA.Period+”)”);
}
//+——————————————————————+
//| |
//+——————————————————————+
void deinit()
{}
//+——————————————————————+
//| |
//+——————————————————————+
void start()
{
int counted=IndicatorCounted();
if (counted < 0) return(-1);
if (counted > 0) counted–;
int limit=Bars-counted;
double v1, v2, k;
//—-
for(int i=limit-1; i>=0; i–)
{
MABuf[i]=iMA(NULL, 0, MA.Period, 0, MA.method, MA.applied_price, i);
if (i==Bars-1)
{
CABuf[i]=MABuf[i];
continue;
}
v1=MathPow(iStdDev(NULL, 0, MA.Period, 0, MA.method, MA.applied_price, i), 2);
v2=MathPow(CABuf[i+1] – MABuf[i], 2);
//—-
k=0;
if (v2 < v1 || v2==0) k=0; else k=1 – v1/v2;

CABuf[i]=CABuf[i+1] + k*(MABuf[i]-CABuf[i+1]);
}
}
//+——————————————————————+

[/php]

[php]

//+——————————————————————+
//| Ind-GG01.mq4 |
//| GGekko |
//| |
//+——————————————————————+
#property copyright “GGekko”
#property link “”

#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 Red
#property indicator_color2 Lime
#property indicator_color3 Gold
#property indicator_width1 1
#property indicator_width2 1
#property indicator_width3 1

//—- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];

double ma0,ma1;
double ca;
double psar;
double boll_upper0,boll_upper1;
double boll_lower0,boll_lower1;
double bollingerdiff0,bollingerdiff1;
int barsToProcess=500;

extern int period_ma=5;
extern int period_ca=5;
extern int method_=MODE_SMMA;
extern int price_=PRICE_CLOSE;
extern double step_psar=0.01;
extern double max_psar=0.3;
extern int period_boll=14;
extern int dev_boll=2;
extern int bolldiff=15;
/*
PRICE_CLOSE 0 Close price.
PRICE_OPEN 1 Open price.
PRICE_HIGH 2 High price.
PRICE_LOW 3 Low price.
PRICE_MEDIAN 4 Median price, (high+low)/2.
PRICE_TYPICAL 5 Typical price, (high+low+close)/3.
PRICE_WEIGHTED 6 Weighted close price, (high+low+close+close)/4.

MODE_SMA 0 Simple moving average,
MODE_EMA 1 Exponential moving average,
MODE_SMMA 2 Smoothed moving average,
MODE_LWMA 3 Linear weighted moving average.
*/

//+——————————————————————+
//| Custom indicator initialization function |
//+——————————————————————+
int init()
{
//—- indicators
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0,242);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexEmptyValue(0,EMPTY_VALUE);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1,241);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexEmptyValue(1,EMPTY_VALUE);
SetIndexStyle(2,DRAW_ARROW);
SetIndexArrow(2,115);
SetIndexBuffer(2,ExtMapBuffer3);
SetIndexEmptyValue(2,EMPTY_VALUE);

IndicatorShortName(“GG01 (“+period_ma+”,”+period_ca+”,”+bolldiff+”)”);
//—-
return(0);
}
//+——————————————————————+
//| Custom indicator deinitialization function |
//+——————————————————————+
int deinit()
{
//—-

//—-
return(0);
}
//+——————————————————————+
//| Custom indicator iteration function |
//+——————————————————————+
int start()
{
int counted_bars=IndicatorCounted(), limit;
int i=0;
if(counted_bars>0)
counted_bars–;

limit=Bars-counted_bars;

if(limit>barsToProcess)
limit=barsToProcess;

while (i<limit)
{

ma0=iMA(NULL,0,period_ma,0,method_,price_,i);
ma1=iMA(NULL,0,period_ma,0,method_,price_,i+1);
ca=iCustom(NULL,0,”i-CAi”,period_ca,method_,price_,0,i);
psar=iSAR(NULL,0,step_psar,max_psar,i);
boll_lower0=iBands(NULL,0,period_boll,dev_boll,0,PRICE_CLOSE,MODE_LOWER,i);
boll_upper0=iBands(NULL,0,period_boll,dev_boll,0,PRICE_CLOSE,MODE_UPPER,i);
bollingerdiff0=(boll_upper0-boll_lower0)/Point;
boll_lower1=iBands(NULL,0,period_boll,dev_boll,0,PRICE_CLOSE,MODE_LOWER,i+1);
boll_upper1=iBands(NULL,0,period_boll,dev_boll,0,PRICE_CLOSE,MODE_UPPER,i+1);
bollingerdiff1=(boll_upper1-boll_lower1)/Point;

//SELL SIGNAL
if(ma0<ca && ma0<=ma1 && psar>Close[i] && bollingerdiff0>bolldiff && bollingerdiff0>bollingerdiff1)
ExtMapBuffer1[i]=ma0;
else ExtMapBuffer1[i]=EMPTY_VALUE;

//BUY SIGNAL
if(ma0>ca && ma0>=ma1 && psar<Close[i] && bollingerdiff0>bolldiff && bollingerdiff0>bollingerdiff1)
ExtMapBuffer2[i]=ma0;
else ExtMapBuffer2[i]=EMPTY_VALUE;

if(ExtMapBuffer1[i]==EMPTY_VALUE && ExtMapBuffer2[i]==EMPTY_VALUE)
ExtMapBuffer3[i]=ma0;
else ExtMapBuffer3[i]=EMPTY_VALUE;

i++;
}

Comment(“GG01 (“+period_ma+”,”+period_ca+”,”+bolldiff+”)”);

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

[/php]

[php]

//+——————————————————————+
//| Ind-GG01-101.mq4 |
//| GGekko |
//| |
//+——————————————————————+
#property copyright “GGekko”
#property link “”

#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1 Red
#property indicator_color2 Lime
#property indicator_color3 Gold
#property indicator_width1 2
#property indicator_width2 2
#property indicator_width3 1
#property indicator_minimum -2
#property indicator_maximum 2
//—- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];

double ma0,ma1;
double ca;
double psar;
double boll_upper0,boll_upper1;
double boll_lower0,boll_lower1;
double bollingerdiff0,bollingerdiff1;
int barsToProcess=500;

extern int period_ma=5;
extern int period_ca=5;
extern int method_=MODE_SMMA;
extern int price_=PRICE_CLOSE;
extern double step_psar=0.01;
extern double max_psar=0.3;
extern int period_boll=14;
extern int dev_boll=2;
extern int bolldiff=15;
/*
PRICE_CLOSE 0 Close price.
PRICE_OPEN 1 Open price.
PRICE_HIGH 2 High price.
PRICE_LOW 3 Low price.
PRICE_MEDIAN 4 Median price, (high+low)/2.
PRICE_TYPICAL 5 Typical price, (high+low+close)/3.
PRICE_WEIGHTED 6 Weighted close price, (high+low+close+close)/4.

MODE_SMA 0 Simple moving average,
MODE_EMA 1 Exponential moving average,
MODE_SMMA 2 Smoothed moving average,
MODE_LWMA 3 Linear weighted moving average.
*/

//+——————————————————————+
//| Custom indicator initialization function |
//+——————————————————————+
int init()
{
//—- indicators
SetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexEmptyValue(0,EMPTY_VALUE);
SetIndexStyle(1,DRAW_HISTOGRAM);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexEmptyValue(1,EMPTY_VALUE);
SetIndexStyle(2,DRAW_ARROW);
SetIndexArrow(2,115);
SetIndexBuffer(2,ExtMapBuffer3);
SetIndexEmptyValue(2,EMPTY_VALUE);

IndicatorShortName(“GG01-101 (“+period_ma+”,”+period_ca+”,”+bolldiff+”)”);
//—-
return(0);
}
//+——————————————————————+
//| Custom indicator deinitialization function |
//+——————————————————————+
int deinit()
{
//—-

//—-
return(0);
}
//+——————————————————————+
//| Custom indicator iteration function |
//+——————————————————————+
int start()
{
int counted_bars=IndicatorCounted(), limit;
int i=0;
if(counted_bars>0)
counted_bars–;

limit=Bars-counted_bars;

if(limit>barsToProcess)
limit=barsToProcess;

while (i<limit)
{

ma0=iMA(NULL,0,period_ma,0,method_,price_,i);
ma1=iMA(NULL,0,period_ma,0,method_,price_,i+1);
ca=iCustom(NULL,0,”i-CAi”,period_ca,method_,price_,0,i);
psar=iSAR(NULL,0,step_psar,max_psar,i);
boll_lower0=iBands(NULL,0,period_boll,dev_boll,0,PRICE_CLOSE,MODE_LOWER,i);
boll_upper0=iBands(NULL,0,period_boll,dev_boll,0,PRICE_CLOSE,MODE_UPPER,i);
bollingerdiff0=(boll_upper0-boll_lower0)/Point;
boll_lower1=iBands(NULL,0,period_boll,dev_boll,0,PRICE_CLOSE,MODE_LOWER,i+1);
boll_upper1=iBands(NULL,0,period_boll,dev_boll,0,PRICE_CLOSE,MODE_UPPER,i+1);
bollingerdiff1=(boll_upper1-boll_lower1)/Point;

//SELL SIGNAL
if(ma0<ca && ma0<=ma1 && psar>Close[i] && bollingerdiff0>bolldiff && bollingerdiff0>bollingerdiff1)
ExtMapBuffer1[i]=-1;
else ExtMapBuffer1[i]=EMPTY_VALUE;

//BUY SIGNAL
if(ma0>ca && ma0>=ma1 && psar<Close[i] && bollingerdiff0>bolldiff && bollingerdiff0>bollingerdiff1)
ExtMapBuffer2[i]=1;
else ExtMapBuffer2[i]=EMPTY_VALUE;

if(ExtMapBuffer1[i]==EMPTY_VALUE && ExtMapBuffer2[i]==EMPTY_VALUE)
ExtMapBuffer3[i]=0;
else ExtMapBuffer3[i]=EMPTY_VALUE;

i++;
}

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

[/php]

 

 Click Here to Download

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *