If we are talking OUTSIDE of AB / AFL like in vbs etc ... yes it does. Inside AFL it essentially does the same thing as well ... However, you would also by default have available elements 12 i.e. [11] through the number of bars in the charted security. The simple way to think of this is that AB is providing the DIMENSION statement for you and it will contain the same number of elements that are in the charted security and it will be aligned to the charted security. Hwever you can use whatever elements of the array you want ... If for some reason that's only 1 through 10 then so be it.
--- In [email protected], "Ton Sieverding" <[EMAIL PROTECTED]> wrote: > > Correct about 11 elements of course. Quickie. Sorry for that. But I still do not understand what the difference between the size of an array and the number of elements in an array is. Forget AFL for a moment. When I create an array with one of the popular statements like DIMENSION MyArray(10) does not give me this the same result as underneath mentioned For Loop ? I am probably missing something ... > > Regards, Ton. > > ----- Original Message ----- > From: gp_sydney > To: [email protected] > Sent: Friday, June 15, 2007 12:04 PM > Subject: [amibroker] Re: New file uploaded to amibroker > > > > Isn't this the same as creating an array with 10 elements ? > > for (i = 0 ; i < 11; i++) MyArray[i] = 0; > > No, ignoring the fact it's actually 11 elements (ie. 0-10). That's > just filling the first 11 elements of the array, it doesn't define the > size of the array. If you tried that on a chart that only had five > bars, you'd get an array overflow error. > > > How about two dimensional arrays ? > > AFL doesn't directly have two-dimensional arrays, but I did see > something on the AB site once about effectively creating them using > the VarSet and VarGet functions. Looked pretty messy though. > > GP >
