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
> >
>