[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [amibroker] Re: New file uploaded to amibroker



PureBytes Links

Trading Reference Links

Hello,

You must not assume that you have some fixed number of 
data elements available. *Always* perform a check for BarCount.

So instead of:

for (i = 0; i < 10; i++) myArr[i] = 0;

always include check:

for (i = 0; i < 10  AND i < BarCount; i++) myArr[i] = 0;

alternatively:


if( BarCount >= 10 )
{

 ..... put code that assumes that you have 10 data points available here.

}

Best regards,
Tomasz Janeczko
amibroker.com
----- Original Message ----- 
From: "gp_sydney" <gp.investment@xxxxxxxxx>
To: <amibroker@xxxxxxxxxxxxxxx>
Sent: Saturday, June 16, 2007 2:08 AM
Subject: [amibroker] Re: New file uploaded to amibroker


> > I still do not understand what the difference between the size of an 
> > array and the number of elements in an array is.
> 
> They are the same, but when you have a loop writing only 10 elements
> to an array, that's not how many elements are in the array, it's only
> the number of elements you've changed. The array might have 1000
> elements and all you've done is overwrite the first 10.
> 
> The size of an array is how many elements it's physically possible to
> change because there's actually memory allocated for their storage. In
> AmiBroker that's always BarCount.
> 
> As I sort-of mentioned before, using arrays where the index is
> something other than bars, and you fix the range of the index to
> something other than BarCount, can easily lead to problems. If you
> have such a formula in a backtest and run that across all symbols, the
> moment you hit a symbol where BarCount is less than the maximum index
> you use, you'll get an overflow error.
> 
> For example, if you have the following code in a backtest:
> 
> for (i = 0; i < 10; i++) myArr[i] = 0;
> 
> and run it over all symbols, if you hit a new listing that only has
> five bars on the chart then you'll get an overflow error when myArr[5]
> is referenced for that symbol.
> 
> Regards,
> GP
> 
> 
> 
> 
> 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

<*> 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/