Is there more to the code?  Are you getting a syntax/initialization error?  How 
are you handling the case when i == 1?

Bill

----- Original Message ----- 
From: "amsiev" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Thursday, March 27, 2008 7:01 AM
Subject: [amibroker] Something is different. But what ?


> Why is following AFL statement :
> 
> InLongPos = IIf(Buy==1,1000,IIf(Sell==1,0,Ref(InLongPos,-1)));
> 
> giving me a different result as following ForLoop :
> 
> for ( i=1; i<BarCount; i++ )
> {
> if (Buy[i]==1)
> InLongPos[i] = 1000;
> else
> {
> if (Sell[i]==1)
> InLongPos[i] = 0;
> else
> InLongPos[i] = InLongPos[i-1];
> }
> }
> 
> The result I am getting from the ForLoop is correct. The first
> statement gives me a wrong answer. I want to get 1000 in InLongPos
> after Buy and before Sell ... When testing the statement in Excel
> it works fine with : =IF(A6=1;1000;IF(B6=1;0;C5)) ...
> 
> What's wrong ?
> 
> 
> ------------------------------------
> 
> 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
> 
> 
> 
> 
> 
> -- 
> No virus found in this incoming message.
> Checked by AVG. 
> Version: 7.5.519 / Virus Database: 269.22.0/1344 - Release Date: 3/26/2008 
> 8:52 AM
> 
>

Reply via email to