Sorry,
That should probably read Flip(ExRem(Buy, Sell), Sell) *
1000;
And maybe not much easier after all ;)
Mike
--- In amibroker@xxxxxxxxxps.com,
"Mike" <sfclimbers@...> 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 amibroker@xxxxxxxxxps.com,
"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: amibroker@xxxxxxxxxps.com
> > 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: amibroker@xxxxxxxxxps.com
> > 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: <amibroker@xxxxxxxxxps.com>
>
> 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
> >
>