IIF operates on an array en returns
an array. So if you want to simple
fill the array "position" with 1 if Buy is 1 you can simple do:
position = Buy;
if you like to use the IIF operater
the equivalent is:
position = IIF(Buy,1,0);
if you like to use a loop the
equivalent is:
position = 0;
for ( i = 0; i < BarCount; i++) {
if (Buy[ i ] == 1) {
position[ i ] = 1;
} else
position[ i ] = 0;
}
}
rgds, Ed
-----
Original Message -----
Sent:
Sunday, March 11, 2007 11:57 AM
Subject:
[amibroker] What is wrong with this simple code
Buy = cross ( Close, MADaily );
for ( i = 1; i < BarCount; i++)
{
IIf (Buy[i], position[i] = 1, 0);
}
I run an explore and get position[1] == 0 and the remainder of the
array == 1 ( there are only two buy signals triggered). Is there
something about the Buy array I am missing?
Best regards,
Drew Yallop