Hi, Just a quick note; BarIndex only counts *trading* days. Not calendar days. Whereas DaysSince1900 is calendar days. So, you may be comparing apples to oranges. For example; in the US markets, there are about 252 trading days a year. That is the count reflected in BarIndex.
Mike --- In [email protected], "tipequity" <[EMAIL PROTECTED]> wrote: > > I am having a hard time relating dates to bar indecies. In code > provided below I am trying to calculate the bar index of a year ago > date with little success. I appreciate any help and explanation. > > SetBarsRequired(10000); > > function RefDays( Array, Days ) > { > td = DaysSince1900(); > result = Null; > > if( Days < 0 ) > { > for( i = BarCount -1; i >= -Days; i = i - 1 ) > { > backday = td[ i ] + Days; // Days is negative > for( j = -Days/2; j < i; j++ ) > { > if( td[ i - j ] <= backday ) > { > result[ i ] = Array[ i - j ]; > break; > } > } > } > } > return result; > } > > yy = Year(); > dy = DayOfYear(); > leapyear = ( yy % 4 ) == 0 AND yy != 2000; > yearlen = IIf( leapyear, -366, -365 ); > > aYearAgoDate = RefDays(DateTime(), LastValue(yearlen)); > dn = DateNum(); > BarIndx = BarIndex(); > > StartDateBar = LastValue( ValueWhen ( dn == StartDate ,BarIndx ) ); >
