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 ) );