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

Re: [amibroker] I am suspicious that I found an AFL AB bug



PureBytes Links

Trading Reference Links

This is not a bug. Your code simply does not initialize variable properly
and you refer to uninitialized array elements (you are reading array elements
that you never written to)

Instead of:
Jstop[0] = Close[0];

Use

Jstop = 0; // this sets initial value to zero.
Jstop[0] = Close[0];

Alternatively you can write simply:

Jstop = Close[0];

This guarantees that further upsizing to array will have all elements
initialized.

Best regards,
Tomasz Janeczko
amibroker.com
----- Original Message ----- 
From: "indo26_slate" <indo26_slate@xxxxxxxxxxxx>
To: <amibroker@xxxxxxxxxxxxxxx>
Sent: Tuesday, May 29, 2007 10:36 AM
Subject: [amibroker] I am suspicious that I found an AFL AB bug


> /* Program: atr_values_test
> ** Author: Joshua Chellew
> ** Purpose: To understand the state of arrays. I wrote this 
> program in order to get a better understanding
> ** of the runtime behaviour and how it 
> works on the state of arrays
> ** Findings: I suspect I may have found a bug. The value of Jstop
> [1] is unexpected. I expected Jstop[1] to have 
> ** the value '0'. I used a 3rd party 
> utility called 'DebugView' in order to read the _TRACE calls. I 
> ** ran this AFL program as a weekly 
> system on 1 ticker/company. When I ran a scan, this is what I found:
> **
> [2524] at the start of 'ATR 
> Values test' program
> [2524] Close[0] = 13.3582, 
> Jstop[0] = 13.3582
> [2524] Close[1] = 13.2819, 
> Jstop[1] = 2.29594e-038
> [2524] Close[2] = 13.1778, 
> Jstop[2] = 0
> [2524] Close[3] = 13.1708, 
> Jstop[3] = 0
> [2524] Close[4] = 12.8447, 
> Jstop[4] = 0
> 
> ..........
> 
> 
> ..........
> 
> 
> [2524] Close[201] = 8, Jstop
> [201] = 0
> [2524] Close[202] = 8.29, 
> Jstop[202] = 0
> [2524] Close[203] = 8.36, 
> Jstop[203] = 0
> [2524] Close[204] = 8.43, 
> Jstop[204] = 0
> [2524] Close[205] = 8.38, 
> Jstop[205] = 0
> [2524] Close[206] = 8.39, 
> Jstop[206] = 0
> 
> **
> ** You will notice Jstop[1] has a 
> value '2.29594e-038' which I find strange and unexpected because the 
> program
> ** only assigns Jstop[0]. It does not assign 
> Jstop[1] and therefore I expect it's value to be '0'. I can't find 
> ** any explanation other than a bug in AFL/AB. 
> */
> 
> 
> _TRACE("at the start of 'ATR Values test' program");
> 
> Jstop[0] = Close[0];
> 
> for(i = 0; i < BarCount - 1; i++)
> {
> _TRACE("Close["+ i +"] = " + Close[i] +  
> ", Jstop["+ i +"] = " + Jstop[i]); 
> }
> 
> Buy = 0;
> Sell = 0;
> 
> 
> 
> 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/