Download MetaTrader 5

Indicators: i-FractalsEx

To add comments, please log in or register
MetaQuotes Software Corp.
Moderator
190041
MetaQuotes Software Corp.  

i-FractalsEx:

Fractals indicator with the custom period feature

Author: RickD2

Hany Elleithy
315
Hany Elleithy  
Nice one and good jobbut do u have any idea for trading with this nice ind.?:)CJA
Giuliano
241
Giuliano  
but what's means this? when the arrow do appears?
MQL4 Comments
16316
MQL4 Comments  
What do the arrows mean,which is to buy and which is to sell...
MQL4 Comments
16316
MQL4 Comments  
2 Questions: 1st: Is it Corrective indicator or not? Seems very good BUY / SELL Signals at 4 Hours Time Frame and Upper than, But if arrows not be currective.
2nd: Are arrows genesis after candlesticks Finishing or can be change during chandle generation from buy to sell (or sell to buy) ?
MQL4 Comments
16316
MQL4 Comments  
ruffneck75:
What do the arrows mean,which is to buy and which is to sell...
Dear ruffneck 75:
I think Yellow arrow (From bottom to top) means BUY & Red arrow (From top to bottom) means SELL. It seems very good signals at H4 and Upper time frames but if not be currective.
did u test it in different time frames for know currection specification of this inidicator?
MQL4 Comments
16316
MQL4 Comments  

The problem with Fractal indicators is usually you have to wait for the length of the fractal after its occurrence to actually find out it was a fractal. It appears this is the case for this indicator.

Do the arrows plot on the current price bar or six ( default ) periods after the occurrence of the high?

MQL4 Comments
16316
MQL4 Comments  

This indicator looks nice for average traders for a start.

Thanks

MQL4 Comments
16316
MQL4 Comments  

Wonderful, precise Fractals-ZigZag! I love this Indicator! Thank You very, very much!

MQL4 Comments
16316
MQL4 Comments  

WOULD SOMEBODY PLEASE HELP ME. I DOWNLOADED IFRACTALsEX.MQ4, BUT IT DOES NOT COME UP ON CHART. iNDICATOR WINDOWS SAYS ITS THERE BUT NOTHING SHOWS. I TRIED "COMPLING", STILL DOESNT WORK. WHAT SHOULD I DO ?????????????????

Mihai Ionescu
1685
Mihai Ionescu  

I did a little improved and more flexibile version of this nice indicator.

#define major   1
#define minor   0
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 LimeGreen
#property indicator_width1  1
#property indicator_width2  1
extern int leftPeriod = 6;
extern int rightPeriod = 6;
extern int errorInPips = 0;
extern int nrOfPips = 4;
extern int MaxBars = 2500;
double upper_fr[];
double lower_fr[];
int minPeriod, maxPeriod;
double factorPipsToPrice;//  = 1/MathPow(10,nrOfPips);
double errorInPrice;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void init() {
  SetIndexBuffer(0, upper_fr);
  SetIndexBuffer(1, lower_fr);
  
  SetIndexEmptyValue(0, 0);
  SetIndexEmptyValue(1, 0);
  
  SetIndexStyle(0, DRAW_ARROW);
  SetIndexArrow(0, 217);//SYMBOL_ARROWDOWN);//234
  SetIndexStyle(1, DRAW_ARROW);
  SetIndexArrow(1, 218); //233 SYMBOL_ARROWUP  
  
  minPeriod = MathMin(leftPeriod,rightPeriod);
  maxPeriod = MathMax(leftPeriod,rightPeriod);
  
  factorPipsToPrice = 1/MathPow(10,nrOfPips);
  errorInPrice = errorInPips * factorPipsToPrice;  
}
void start() 
{
  int counted = IndicatorCounted();
  if (counted < 0) return (-1);
  if (counted > 0) counted--;
  
  int limit = MathMin(Bars-counted, MaxBars);
  
  //-----
  
  double dy = 0;
  for (int i=1; i <= 20; i++) {
    dy += 0.3*(High[i]-Low[i])/20;
  }
  
  for (i=minPeriod; i <= limit+minPeriod; i++) 
  {
    upper_fr[i] = 0;
    lower_fr[i] = 0;
  
    if (is_upper_fr(i, leftPeriod, rightPeriod)) upper_fr[i] = High[i]+2*dy;
    if (is_lower_fr(i, leftPeriod, rightPeriod)) lower_fr[i] = Low[i]-2*dy;
  }
}
bool is_upper_fr(int bar, int leftPeriod, int rightPeriod) { 
  int i;
  
  for (i=1; i<=leftPeriod; i++) 
  {
    if (bar+i >= Bars) return (false);
    if (High[bar] < High[bar+i] - errorInPrice) return (false);
  }
  
  for (i=1; i<=rightPeriod; i++) 
  {
    if (bar-i < 0) return (false);
    if (High[bar]< High[bar-i] - errorInPrice) return (false);
  }
  return (true);
}
bool is_lower_fr(int bar, int leftPeriod, int rightPeriod) {
  int i;
  for (i=1; i<=leftPeriod; i++) 
  {
    if (bar+i >= Bars) return (false);
    if (Low[bar] > Low[bar+i] + errorInPrice) return (false);
  }
  for (i=1; i<=rightPeriod; i++) 
  {
    if (bar-i < 0) return (false); 
    if (Low[bar] > Low[bar-i] + errorInPrice) return (false);
  }
  return (true);
}

Improvements:

1. changed colors,

2. changed arrows (exactly like Williams fractals)

3. custom left period and custom right period of the fractal,

4. custom number of pips

5. custom error in pips (more flexible comparing between current bar and left/right bars)

12
To add comments, please log in or register