Price Data Components
Series array that contains the highest prices of each barSeries array that contains the lowest prices of each bar
Miscellaneous
Implements a curve of type %1
0 Views
0 Downloads
0 Favorites
iFormulE.1
ÿþ#property strict

#property version "1.0"

#property indicator_separate_window

#property indicator_buffers    2

double dMAX[],pnt,x1,x2,pUP,pDN,sum1,sum2;

int i,j,indBars,anPeriod;

string prefixParam,IndName;

datetime tm;

long chartBars=-1;

extern int Reglament=10;//Analysis period

int init()

{

   pnt=MarketInfo(Symbol(),MODE_POINT);

   

   SetIndexBuffer(0, dMAX);

   SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1,clrBlue);

   SetIndexLabel(0,Symbol());

   

   return(0);

}

void deinit()

{

   ArrayInitialize(dMAX,EMPTY_VALUE);

}

void start()

{

   ChartGetInteger(0,CHART_VISIBLE_BARS,0,chartBars);

   indBars=(int)chartBars;

   if(anPeriod<10)anPeriod=10;

   sum1=0;sum2=0;

   ArrayInitialize(dMAX,EMPTY_VALUE);

   for(i=indBars; i>=0; i--)

   {

      x1=0;x2=0;pUP=0;pDN=0;

      for(j=anPeriod; j>=0; j--)

      {

         x1=MathAbs(iHigh(Symbol(),Period(),i+j)-iLow(Symbol(),Period(),i))*(double)j/(pnt);

         x2=MathAbs(iLow(Symbol(),Period(),i+j)-iHigh(Symbol(),Period(),i))*(double)j/(pnt);

         if(pUP<x1)pUP=x1;

         if(pDN<x2)pDN=x2;

      }

      sum1=sum1+pUP;

      sum2=sum2+pDN;

      dMAX[i]=(sum2-sum1);

   }

   return;

}

Comments