How to find the longest bar over a previos time range/# of bars?

 

How can I find out what the longest bar has been over a specified time range & /or number of bars ?

 

int i,x,limit;
double delta;
limit=100;//for example
for(i=0;i<limit;i++)
{
if(High[i]-Low[i]>delta)
{
delta=High[i]-Low[i];
x=i;
}
}
//now you have longest bar with number x

 
FourX:

How can I find out what the longest bar has been over a specified time range & /or number of bars ?

elaborating on Roger's reply ...

datetime date1, date2;

date1 = D'2010.03.15' ;  date2 = D'2010.03.18' ;

int x, delta;

for ( i = Bars-1; i >= 0; i--)

{

   if (Time[i] >= date1  &&  Time[i] <= date2 ) { // if ( i >= 5 && i <= 10 ) <-- for bar range 5 - 10 inclusively

       if (High[i] - Low[i] > delta)

       { delta = High[i] - Low[i] ;  x = i ; }
   }

} // range date1 - date2 has longest bar 'x' at Time[x] time.
  

Reason: