FE Fibo Expansion – индикатор за МетаТрадер 4

# FE Fibo Expansion – индикатор за МетаТрадер 4

442
0
СХАРЕ

This is FE fibo expansion that I create using 2 object(н[2]) in array that represent their properties for each direction UP or DOWN.

Here is a class look like:

```class ___
{
public:
int
aa,bb,cc;
double
A,
B,
C;
___():
aa(0),bb(0),cc(0),
A(0.0),B(0.0),C(0.0)
{}
~___() {}
} н[2];
```

Where for each direction they must have 3 prices A, B and C that is upper, lower and a price between upper and lower.
While, aa, bb, and cc are the bar locations for their respective prices A, B and C earlier.

Онда, I used the fractal formula and a little modification to determine the 3 points upper, lower and price between them along with its directions.

I use loop from the recent bar location:

```//---
int i=0;
int m=0,n=0;
bool stop=false;
double hi=0.0,lo=0.0;
//---
A=0.0;
B=0.0;
C=0.0;
за(m=0,n=0,i=0; ја<Bars-5&&!stop; и ++)
{
hi=(
iHigh(_Симбол,0,i+2)>=iHigh(_Симбол,0,i+0) &&
iHigh(_Симбол,0,i+2)>=iHigh(_Симбол,0,и + 1) &&
iHigh(_Симбол,0,i+2)>=iHigh(_Симбол,0,i+3) &&
iHigh(_Симбол,0,i+2)>=iHigh(_Симбол,0,i+4))
?iHigh(_Симбол,0,i+2):0.0;
lo=(
Иłов(_Симбол,0,i+2)<=iLow(_Симбол,0,i+0) &&
Иłов(_Симбол,0,i+2)<=iLow(_Симбол,0,и + 1) &&
Иłов(_Симбол,0,i+2)<=iLow(_Симбол,0,i+3) &&
Иłов(_Симбол,0,i+2)<=iLow(_Симбол,0,i+4))
?Иłов(_Симбол,0,i+2):0.0;
//---
//---
//--------------------------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------------------------
ако(hi!=0.0)// ------------up------------
{
ако(н[1].C!=0.0)
{
ако(n==2)
{
ако(н[1].B<hi&&н[1].C<н[1].B)
{
н[1].B=hi;   //this modify B[1] before A[1] exist
P[1].bb=i+2;
}
}
ако(n==1)
{
ако(н[1].C<hi)
{
н[1].B=hi;   //this B[1] dn
P[1].bb=i+2;
n++;
}
else {
n--;
н[1].C=0.0;
}
}
}
//---
ако(н[0].C==0.0)
{
ако(m<1)
{
н[0].C=hi;   //innitial C[0] up
P[0].cc=i+2;
m++;
}
}
else {
ако(m==2)
{
ако(н[0].C<hi)
{
н[0].A=hi;   //this A[0] up
P[0].aa=i+2;
m=0;
stop=true;
}
}
ако(m==1)
{
ако(н[0].C<hi)
{
н[0].C=hi;   //this modify C[0] before B[0] exist
P[0].cc=i+2;
}
}
}
//---
}
//else
if(lo!=0.0)// ------------dn------------
{
ако(н[0].C!=0.0)
{
ако(m==2)
{
ако(н[0].B>lo&&н[0].C>н[0].B)
{
н[0].B=lo;   //this modify B[0]before A[0] exist
P[0].bb=i+2;
}
}
ако(m==1)
{
ако(н[0].C>lo)
{
н[0].B=lo;   //this B[0] up
P[0].bb=i+2;
m++;
}
else {
m--;
н[0].C=0.0;
}
}
}
//---
ако(н[1].C==0.0)
{
ако(n<1)
{
н[1].C=lo;   //innitial C[1] dn
P[1].cc=i+2;
n++;
}
}
else {
ако(n==2)
{
ако(н[1].C>lo)
{
н[1].A=lo;   //this A[1] dn
P[1].aa=i+2;
n=0;
stop=true;
}
}
ако(n==1)
{
ако(н[1].C>lo)
{
н[1].C=lo;   //this modify C[1] before B[1] exist
P[1].cc=i+2;
}
}
}
//---
}
//else
//
//---
//---
//---

ако((н[0].C==0.0&&н[1].C==0.0)||(hi==0.0&&lo==0.0))
{
continue;
}

}// loop```

If it found 3 points of either UP or DOWN direction, the loop breaks.

I have to take out the 3 points earlier.

```   ако(н[0].A!=0.0&&н[0].B!=0.0&&н[0].C!=0.0)
{
DrawExpansion(tool,"FE ->",време[н[0].aa],н[0].A,време[н[0].bb],н[0].B,време[н[0].cc],н[0].C,-1);
}
//---
ако(н[1].A!=0.0&&н[1].B!=0.0&&н[1].C!=0.0)
{
DrawExpansion(tool,"FE ->",време[н[1].aa],н[1].A,време[н[1].bb],н[1].B,време[н[1].cc],н[1].C,1);
}
```

And finally draw using OBJ_EXPANSION object..and I use a single function DrawExpansion(…).

```void DrawExpansion(string name,string label,datetime t1,double p1,datetime t2,double p2,datetime t3,double p3,int fl=0)
{
//---
ObjectDelete(name);
color wrn=(fl>0)?clrSkyBlue:(fl<0)?clrTomato:clrWhite;
ако(ObjectFind(0,name)!=0)
ObjectCreate(name,OBJ_EXPANSION,0,t1,p1,t2,p2,t3,p3);
ObjectSet(name,OBJPROP_FIBOLEVELS,5);
ObjectSet(name,OBJPROP_FIRSTLEVEL+0,0.618);
ObjectSet(name,OBJPROP_FIRSTLEVEL+1,1.000);
ObjectSet(name,OBJPROP_FIRSTLEVEL+2,1.618);
ObjectSet(name,OBJPROP_FIRSTLEVEL+3,2.618);
ObjectSet(name,OBJPROP_FIRSTLEVEL+4,4.236);
//---
ObjectSet(name,OBJPROP_LEVELCOLOR,clrMediumPurple);
ObjectSet(name,OBJPROP_LEVELWIDTH,1);
ObjectSet(name,OBJPROP_LEVELSTYLE,0);
ObjectSet(name,OBJPROP_COLOR,wrn);
//---
ObjectSetFiboDescription(name,0,label+"  "+DoubleToStr(0.618*100,1)+"  ");
ObjectSetFiboDescription(name,1,label+"  "+DoubleToStr(1.000*100,1)+"  ");
ObjectSetFiboDescription(name,2,label+"  "+DoubleToStr(1.618*100,1)+"  ");
ObjectSetFiboDescription(name,3,label+"  "+DoubleToStr(2.618*100,1)+"  ");
ObjectSetFiboDescription(name,4,label+"  "+DoubleToStr(4.236*100,1)+"  ");
//---
}```

Here, I use

0.618,

1.000,

1.618,

2.618 и

4.236 level.

FE Fibo Expansion is a Metatrader 4 (МТ4) indicator and the essence of the forex indicator is to transform the accumulated history data.Subway provides for an opportunity to detect various peculiarities and patterns in price dynamics which are invisible to the naked eye.

На основу ових информација, трговци могу претпоставити даље кретање цена и прилагоде своје стратегије у складу са тим.

How to install the software?

• Copy the mq4 file to your Metatrader Directory / Стручњаци / Показатељи /
• Почните или поново покренути МетаТрадер Цлиент
• Изаберите Графикон и рок где желите да тестирате своје индикатор
• Right click on the mq4 file.
• Придају графикону
• Измена подешавања или притисните ОК
• Indicator should be available on your Chart