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