Indicators: i-FractalsEx

 

i-FractalsEx:

Fractals indicator with the custom period feature

Author: RickD2

 
Nice one and good jobbut do u have any idea for trading with this nice ind.?:)CJA
 
but what's means this? when the arrow do appears?
 
What do the arrows mean,which is to buy and which is to sell...
 
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) ?
 
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?
 

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?

 

This indicator looks nice for average traders for a start.

Thanks

 

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

 

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 ?????????????????

 

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)

Reason: