"

i-FractalsEx

by Dr.Hamdi Boukamcha
Name:
i-FractalsEx
Author: RickD (2007.08.04 09:03)
Rating: 12
Downloaded: 18491
Download:
i-FractalsEx   i-FractalsEx.mq4 (1.8 Kb) View
extern int Fr.Period = 6; –  6 bars before and 6 bars after the current bar define the fractal

extern int MaxBars = 500; – maximum number of bars for caclucalion

 

i-FractalsEx

11 comments: 1 2   To post a new comment, please log in or register

pls do we have this indicator as EA,kindly forward to me

 

[email protected]

17.07.2013 12:18 08023105152

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)

06.10.2010 17:52 mishhh

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

26.07.2009 11:44 yogibear13

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

28.05.2009 19:25 Poster

This indicator looks nice for average traders for a start.

Thanks

15.11.2007 11:57 webwareshop

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?

11.11.2007 22:39 gumpat

ruffneck75 wrote:
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?

06.11.2007 23:28 ma3x4x

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) ?
06.11.2007 23:22 ma3x4x

What do the arrows mean,which is to buy and which is to sell…
03.11.2007 23:46 ruffneck75

but what’s means this? when the arrow do appears?

Share this article

Leave a comment