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 -----
From: thomasdrewyallop
To: [email protected]
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