PureBytes Links
Trading Reference Links
|
Hello,
See Comments section in BarIndex() reference:
http://www.amibroker.com/guide/afl/afl_view.php?barindex
When running a loop over array you must NOT access
elements outside 0..BarCount-1 range.
The code that you want to write should look as follows:
bi = BarIndex();
for( i = 0; i < BarCount; i++ )
{
Cnt[ i ] = i + bi[ 0 ];
}
Best regards,
Tomasz Janeczko
amibroker.com
----- Original Message -----
From: "klaus_korneker" <klaus_korneker@xxxxxxxxx>
To: <amibroker@xxxxxxxxxxxxxxx>
Sent: Wednesday, January 10, 2007 8:30 PM
Subject: [amibroker] Re: loop counter
> Thanks for the explanation. But how can i now create a
> barindex(counter) through a loop. Graph1 plots the barindex. I have
> tried to use (i = 0; i < LastValue(BarIndex()); i++ ) but this
> generates an error.
> Can you help ?
>
> Cnt = 0;
> for( i = 0; i < LastValue(BarIndex()); i++ )
> {
> Cnt[ i ] = i ;
> }
>
> Graph0 = Cnt;
> Graph1 = BarIndex();
>
>
> --- In amibroker@xxxxxxxxxxxxxxx, "Terry" <MagicTH@xxx> wrote:
>>
>> BarCount does not necessarily == LastValue(BarIndex())
>>
>> This is because Amibroker uses "quickAFL" which means it only uses
> enough
>> bars to "get the job done". This frequently is not all the bars.
>>
>> --
>> Terry
>>
>> -----Original Message-----
>> From: amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx]
> On Behalf
>> Of klaus_korneker
>> Sent: Wednesday, January 10, 2007 09:48
>> To: amibroker@xxxxxxxxxxxxxxx
>> Subject: [amibroker] Re: loop counter
>>
>> Hi Terry,
>>
>> thank you very much for your explanation !
>> However it looks a little bit strange. It works still the same.
>> When set the entire array to 0 with Cnt = 0; and click Apply, it shows
>> the same value as with the confirmation code in the graph. However
>> automatically after about 1 second it changes the value to 199 instead
>> 4517
>>
>> BTW: i know that it displays the number in the title based on my
> cursor.
>>
>> Regards
>>
>> Klaus
>>
>>
>> --- In amibroker@xxxxxxxxxxxxxxx, "Terry" <MagicTH@> wrote:
>> >
>> > To initialize the loop you should do this:
>> > Cnt = 0; //Initializes entire array, not just 1st element.
>> >
>> > When you click on the chart the number should change because you are
>> > selecting "that bar". Also see last paragraph about barcount.
> Otherwise,
>> > your loop is correct.
>> >
>> > Here's some code to verify with:
>> >
>> > x = BarIndex();
>> > Plot(x,"x",1,styleStaircase);
>> > NumToStr(BarCount,1.0);
>> > NumToStr(LastValue(BarIndex()),1.0);
>> >
>> > Note the last two statements print in the interpretation window and
>> they are
>> > different because of quickAFL. The first changes with your selection
>> and the
>> > number of bars showing. The last does not change. It is the absolute
>> number
>> > of bars in your data. This is probably the reason your results are
>> changing
>> > in unexpected ways as you are using BarCount.
>> > --
>> > Terry
>> >
>> > -----Original Message-----
>> > From: amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx]
>> On Behalf
>> > Of klaus_korneker
>> > Sent: Wednesday, January 10, 2007 07:43
>> > To: amibroker@xxxxxxxxxxxxxxx
>> > Subject: [amibroker] loop counter
>> >
>> > Hello,
>> >
>> > i am trying to build a counter with a loop. i have already tried the
>> > following, but it seems that anything is wrong. The chart shows the
>> > bar number, but when i click inside the chart, the number changes.
>> >
>> > Cnt[0] = 0;
>> > for( i = 0; i < BarCount; i++ )
>> > {
>> > Cnt[ i ] = i ;
>> > }
>> >
>> > Graph0 = Cnt;
>> >
>> > Thanks i advance !
>> >
>> >
>> >
>> > 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
>> >
>>
>>
>>
>>
>> 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
>>
>
>
>
>
> 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
>
>
>
>
>
Content-Description: "AVG certification"
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.432 / Virus Database: 268.16.9/622 - Release Date: 1/10/2007 2:52 PM
|