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