PureBytes Links
Trading Reference Links
|
I think your idea of using two loops is correct.
but i suggest that the 1st for loop start from barcount - 1 like you
do and finish off at -Days/2;
the 2nd j loop starts at barcount + Days/2 and finishes off at 0
the if statement should be if(td[j] <= backday)
result[i] = array[j] and break after
hope that helps.
--- In amibroker@xxxxxxxxxxxxxxx, "tipequity" <l3456@xxx> 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 ) );
>
------------------------------------
Please note that this group is for discussion between users only.
To get support from AmiBroker please send an e-mail directly to
SUPPORT {at} amibroker.com
For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/
For other support material please check also:
http://www.amibroker.com/support.html
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/amibroker/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/amibroker/join
(Yahoo! ID required)
<*> To change settings via email:
mailto:amibroker-digest@xxxxxxxxxxxxxxx
mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx
<*> To unsubscribe from this group, send an email to:
amibroker-unsubscribe@xxxxxxxxxxxxxxx
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|