Sorry, That should probably read Flip(ExRem(Buy, Sell), Sell) * 1000; And maybe not much easier after all ;)
Mike --- In [email protected], "Mike" <[EMAIL PROTECTED]> wrote: > > You could probably leverage the Flip function to make this easier on > yourself. > > e.g. > > Buy = ... > Sell = ... > InLongPos = Flip(ExRem(Buy, Sell)) * 1000; > > Mike > > --- In [email protected], "wavemechanic" <timesarrow@> > wrote: > > > > The iif() does not give the same result because ref(inlongpos, - 1) > == 0 except when the previous bar is a buy. You can see exactly what > is happening graphically with > > > > buy = > > sell = > > inlongpos = iif(... > > plot(c, "", iif(buy, colorred, iif(sell, coloryellow, > colorpalegreen)), stylebar); > > title = "inlongpos = " + inlongpos + " ref(inlongpos..." + ref > (inlongpos...) + " buy = " + buy + " sell =" + sell > > > > If you want the iif() approach to hold either a buy or sell value > for each bar additional code is needed to create this condition. > > > > Bill > > > > > > ----- Original Message ----- > > From: Ton Sieverding > > To: [email protected] > > Sent: Thursday, March 27, 2008 8:10 AM > > Subject: Re: [amibroker] Something is different. But what ? > > > > > > Sure. This of course if part of an AFL with Buy and Sell defined. > Also an init for InLongPos > > being set to zero as a starter. Again the ForLoop works fine. I > checked that with following statement : AddColumn > (InLongPos,"Long",1); > > My problem is that I do not understand why the first statement > does not give me the correct answer where the second does ... > > > > Regards, Ton. > > > > ----- Original Message ----- > > From: wavemechanic > > To: [email protected] > > Sent: Thursday, March 27, 2008 12:55 PM > > Subject: Re: [amibroker] Something is different. But what ? > > > > > > > > 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" <ton.sieverding@> > > 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 > > > > > > > > > > > > > > > > ------------------------------------------------------------------ -- > ---------- > > > > > > 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 > > >
