FE Fibo Expansion – tagapagpahiwatig para sa MetaTrader 4

FE Fibo Expansion – tagapagpahiwatig para sa MetaTrader 4

614
0
SHARE

Hello to all traders..

This is FE fibo expansion that I create using 2 object(P[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)
     {}
                    ~___() {}
  } P[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.

pagkatapos, 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;
   para sa(m=0,n=0,i=0; ako<Bars-5&&!stop; i ++)
     {
      hi=(
            iHigh(_Symbol,0,i+2)>=iHigh(_Symbol,0,i+0) &&
            iHigh(_Symbol,0,i+2)>=iHigh(_Symbol,0,i + 1) &&
            iHigh(_Symbol,0,i+2)>=iHigh(_Symbol,0,i+3) &&
            iHigh(_Symbol,0,i+2)>=iHigh(_Symbol,0,i+4))
         ?iHigh(_Symbol,0,i+2):0.0;
      lo=(
            iLow(_Symbol,0,i+2)<=iLow(_Symbol,0,i+0) &&
            iLow(_Symbol,0,i+2)<=iLow(_Symbol,0,i + 1) &&
            iLow(_Symbol,0,i+2)<=iLow(_Symbol,0,i+3) &&
            iLow(_Symbol,0,i+2)<=iLow(_Symbol,0,i+4))
         ?iLow(_Symbol,0,i+2):0.0;
      //---
      //---
      //--------------------------------------------------------------------------------------------------------------------
      //--------------------------------------------------------------------------------------------------------------------
      kung(hi!=0.0)// ------------up------------
        {
         kung(P[1].C!=0.0)
           {
            kung(n==2)
              {
               kung(P[1].B<hi&&P[1].C<P[1].B)
                 {
                  P[1].B=hi;   //this modify B[1] before A[1] exist
                  P[1].bb=i+2;
                 }
              }
            kung(n==1)
              {
               kung(P[1].C<hi)
                 {
                  P[1].B=hi;   //this B[1] dn
                  P[1].bb=i+2;
                  n++;
                 }
               else {
                  n--;
                  P[1].C=0.0;
                 }
              }
           }
         //---
         kung(P[0].C==0.0)
           {
            kung(m<1)
              {
               P[0].C=hi;   //innitial C[0] up
               P[0].cc=i+2;
               m++;
              }
           }
         else {
            kung(m==2)
              {
               kung(P[0].C<hi)
                 {
                  P[0].A=hi;   //this A[0] up
                  P[0].aa=i+2;
                  m=0;
                  stop=true;
                 }
              }
            kung(m==1)
              {
               kung(P[0].C<hi)
                 {
                  P[0].C=hi;   //this modify C[0] before B[0] exist
                  P[0].cc=i+2;
                 }
              }
           }
        //---
        }
      //else
      if(lo!=0.0)// ------------dn------------
        {
         kung(P[0].C!=0.0)
           {
            kung(m==2)
              {
               kung(P[0].B>lo&&P[0].C>P[0].B)
                 {
                  P[0].B=lo;   //this modify B[0]before A[0] exist
                  P[0].bb=i+2;
                 }
              }
            kung(m==1)
              {
               kung(P[0].C>lo)
                 {
                  P[0].B=lo;   //this B[0] up
                  P[0].bb=i+2;
                  m++;
                 }
               else {
                  m--;
                  P[0].C=0.0;
                 }
              }
           }
         //---
         kung(P[1].C==0.0)
           {
            kung(n<1)
              {
               P[1].C=lo;   //innitial C[1] dn
               P[1].cc=i+2;
               n++;
              }
           }
         else {
            kung(n==2)
              {
               kung(P[1].C>lo)
                 {
                  P[1].A=lo;   //this A[1] dn
                  P[1].aa=i+2;
                  n=0;
                  stop=true;
                 }
              }
            kung(n==1)
              {
               kung(P[1].C>lo)
                 {
                  P[1].C=lo;   //this modify C[1] before B[1] exist
                  P[1].cc=i+2;
                 }
              }
           }
         //---
        }
      //else
      //
      //---
      //---
      //---


      kung((P[0].C==0.0&&P[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.

   kung(P[0].A!=0.0&&P[0].B!=0.0&&P[0].C!=0.0)
     {
      DrawExpansion(tool,"FE ->",Oras[P[0].aa],P[0].A,Oras[P[0].bb],P[0].B,Oras[P[0].cc],P[0].C,-1);
     }
//---
   kung(P[1].A!=0.0&&P[1].B!=0.0&&P[1].C!=0.0)
     {
      DrawExpansion(tool,"FE ->",Oras[P[1].aa],P[1].A,Oras[P[1].bb],P[1].B,Oras[P[1].cc],P[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;
   kung(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 at

4.236 level.

FE Fibo Expansion – Download Instructions

FE Fibo Expansion is a Metatrader 4 (MT4) 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.

Batay sa impormasyong ito, mangangalakal ay maaaring maging karagdagang kilusan presyo at isaayos ang kanilang diskarte nang naaayon.

How to install the software?

  • Download the mq4 file from the zip file.
  • Copy the mq4 file to your Metatrader Directory / eksperto / na tagapagsaad /
  • Simulan o i-restart ang iyong Metatrader Client
  • Pumili ng Tsart at Tagal ng panahon kung saan nais mong subukan ang iyong tagapagpahiwatig
  • Search “Custom Indicators” in your Navigator mostly left in your Metatrader Client
  • Right click on the mq4 file.
  • Mag-attach sa isang tsart
  • Baguhin ang mga setting o pindutin ang ok
  • Indicator should be available on your Chart

How to remove tim.mq4 from your Metatrader 4 Tsart?

  • Piliin ang Tsart kung saan ay ang Tagapahiwatig tumatakbo sa iyong Metatrader Client
  • I-right-click sa Tsart
  • “Indicators list”
  • Piliin ang Tagapahiwatig at tanggalin

MT4 na tagapagsaad I-download sa ibaba:

FE Fibo Expansion – tagapagpahiwatig para sa MetaTrader 4[/sociallocker]

WALANG KOMENTO

MAG-IWAN NG REPLY