[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [amibroker] Re: Are your Composites accurate???



PureBytes Links

Trading Reference Links

Damn! You are human. I've been worried about that <g>. Now if you can
explain how you find time to keep a wife - and have a baby - the last great
unanswered question will be resolved.

However, unless you remark was a simple typo, I suggest you change the
documentation to match the code not the other way around. Unless you can
think of a case where exponentinentaion has precedence. The only realistic
case I can think of for using the unary minus is an assignment and the
degenerate case of -1^n which effectively an assignment. Certainly, 1-1^n
should formally be 1-x^n and thus 0 in this case, but that uses the binary
minus. writeval(-1^n) is effectively an assignment and evaluates like x^n
not -x^n - I think this is consistent with expectations, for whatever that
is worth.

WriteVal(-1^3) : -1.000
WriteVal(-1^2) : 1.000
WriteVal(1-1^2) : 0.000
WriteVal(1-1^3) : 0.000
WriteVal(1-(-1)^2) : 0.000
WriteVal(1-(-1)^3) : 2.000
WriteVal(-1^0) : 1.000 Takes a while for AB to figure one out ...

evaluate consistently with the general programming of arithemetic
expressions, IMHO.

Cheers,

Richard
----- Original Message -----
From: "Tomasz Janeczko" <amibroker@xxxx>
To: <amibroker@xxxxxxxxxxxxxxx>
Sent: Tuesday, April 30, 2002 9:53 AM
Subject: Re: [amibroker] Re: Are your Composites accurate???


> Richard,
>
> I just checked the parser code.
> You are right unary minus has precedence over exponentiation.
> I think I should change this behaviour to match documentation.
>
> Best regards,
> Tomasz Janeczko
> amibroker.com
> ----- Original Message -----
> From: "Richard Alford" <richard.alford@xxxx>
> To: <amibroker@xxxxxxxxxxxxxxx>
> Sent: Tuesday, April 30, 2002 3:27 PM
> Subject: Re: [amibroker] Re: Are your Composites accurate???
>
>
> > Tomasz,
> >
> > I don't see anything unusual or surprising in what you say. The only
> > issue/question I have, and it is purely academic, is whether your
> > documentation is, in fact, in minor error by showing exponentiation as
> > higher precedence than the unary minus. Just for curiosity, can you give
an
> > example where exponentiation has higher precedence? I have yet to see
> > anything in this thread that gives a surprising result to me.
> >
> > Cheers,
> >
> > Richard
> > ----- Original Message -----
> > From: "Tomasz Janeczko" <amibroker@xxxx>
> > To: <amibroker@xxxxxxxxxxxxxxx>
> > Sent: Tuesday, April 30, 2002 3:36 AM
> > Subject: Re: [amibroker] Re: Are your Composites accurate???
> >
> >
> > > Richard,
> > >
> > > The - (unary minus) operator negates the value of the operand.
> > >
> > > The result of applying the unary minus operator to a signed operand is
> > > equivalent to the negative promoted type of the operand.
> > >
> > > For example, if quality has the value 100, then -quality has the
> > value -100.
> > >
> > > The unary minus has right associativity and higher precedence than
most
> > other
> > > operators (except exponentiation)
> > > In the first Dimitris example the minus sign is treated as
> > > binary minus (regular subtraction) there fore the result is 10 - (3^2)
=
> > 10 - 9 = 1
> > > In the second Dimitirs example the minus sign follows addition
> > > operator. Addition (binary plus operator) expects numbers from left
and
> > right side.
> > > This time minus is treated as unary minus operator
> > > So this is evaluated as:
> > >
> > > 10 + ( (-3)^2 ) = 10 + 9 = 19
> > >
> > > (right associativity of unary minus and precedence over binary plus
> > operator).
> > >
> > > Best regards,
> > > Tomasz Janeczko
> > > amibroker.com
> > > ----- Original Message -----
> > > From: "dtsokakis" <TSOKAKIS@xxxx>
> > > To: <amibroker@xxxxxxxxxxxxxxx>
> > > Sent: Tuesday, April 30, 2002 9:07 AM
> > > Subject: [amibroker] Re: Are your Composites accurate???
> > >
> > >
> > > Richard,
> > > Note please that in AFL the following results are true:
> > > 10-3^2=1
> > > 10+-3^2=19
> > > !!!
> > > Dimitris Tsokakis
> > > --- In amibroker@xxxx, "Richard Alford" <richard.alford@xxxx> wrote:
> > > > not in this universe :) It may not, in fact, matter since the
> > > exponentiation operator always (by some other convention?) follows
> > > the operand. Actually the "unitary" is a relatively new term (in the
> > > past 20 years) jumping out after I was well out of grad school (in
> > > mathematical physics) and before the programmers began to worry about
> > > the difference between subtraction and what I always interpreted as a
> > > simple negative number - the computer worries about such things,
> > > people don't. (I do realize the mathematical distinction has been
> > > around for centuries - just ignored like most math in the real world
> > > until it found a use.)
> > > >
> > > > BTW - Multiplication and division are not generally on the same
> > > level ( My Dear Aunt Sally) for the antiques in the group; although,
> > > when in doubt most simply just hammer in parens by reflex - similar
> > > to the way a horse runs first and asks questions latter....
> > > >
> > > >
> > > > I still think that this is a simple documentation error on TJ's
> > > part , and,personally, I find that comforting :)
> > > >
> > > > Cheers,
> > > >
> > > > Richard
> > > > ----- Original Message -----
> > > > From: Steve Dugas
> > > > To: amibroker@xxxx
> > > > Sent: Monday, April 29, 2002 8:34 PM
> > > > Subject: Re: [amibroker] Re: Are your Composites accurate???
> > > >
> > > >
> > > > It just occurred to me - maybe they are on the same level (like
> > > multiplication and division), so it does the negation first because
> > > it comes to it first?
> > > >
> > > > Steve
> > > > ----- Original Message -----
> > > > From: Steve Dugas
> > > > To: amibroker@xxxx
> > > > Sent: Monday, April 29, 2002 9:08 PM
> > > > Subject: Re: [amibroker] Re: Are your Composites accurate???
> > > >
> > > >
> > > > Hi DT,
> > > >
> > > > I must be missing something. I tried your plot, and -1^10 did
> > > evaluate to 1, like you say. But, if exponentiation takes precedence
> > > over negation (as shown in your table), how come it doesnt evaluate
> > > to -1, like this? :
> > > >
> > > > -1^10 = -(1^10) = -(1) = -1
> > > >
> > > > Steve
> > > > ----- Original Message -----
> > > > From: dtsokakis
> > > > To: amibroker@xxxx
> > > > Sent: Monday, April 29, 2002 12:16 PM
> > > > Subject: [amibroker] Re: Are your Composites accurate???
> > > >
> > > >
> > > > Herman,
> > > > I really donīt know how do you realise things.
> > > > Well, -1^10 is equal to 1.
> > > > [It acts like (-1)^10 because of priorities in operators**
> > > > [try Plot(-1^10,"",1,1);]
> > > > -1*10^10 is a huge negative number
> > > > Another Amibroker expression is -1e10, also negative enough.
> > > > Your formula was not correct, because it was excuding stocks
> > > with
> > > > open==1 from counting.[see previous mails to you]
> > > > DT
> > > > **Operator precedence and the parentheses
> > > > AFL supports parentheses in formulas.
> > > >
> > > > Parentheses can be used to control the operation precedence
> > > (the
> > > > order in which the operators are calculated). AmiBroker
> > > always does
> > > > operations within the innermost parentheses first. When
> > > parentheses
> > > > are not used, the precedence is as follows (higher precedence
> > > listed
> > > > first):
> > > >
> > > > No Symbol Meaning
> > > > 1 ^ Exponentiation
> > > > 2 - Negation - Unary minus
> > > > 3 * Multiplication
> > > > 4 / Division
> > > > 5 + Addition
> > > > 6 - Subtraction
> > > > 7 < Less than
> > > > 8 > Greater than
> > > > 9 <= Less than or equal to
> > > > 10 >= Greater than or equal to
> > > > 11 == Equal to
> > > > 12 != Not equal to
> > > > 13 NOT Logical "Not"
> > > > 14 AND Logical "And"
> > > > 15 OR Logical "Or"
> > > > 16 = Variable assignment operator
> > > >
> > > > The expression
> > > >
> > > > H + L / 2;
> > > > (without parenthesis) would be calculated by AmiBroker
> > > as "L / 2"
> > > > plus "H", since division has a higher precedence. This would
> > > result
> > > > in a much different value than
> > > >
> > > > (H + L)/2;
> > > >
> > > > --- In amibroker@xxxx, "Herman van den Bergen" <psytek@xxxx>
> > > wrote:
> > > > > > -----Original Message-----
> > > > > > From: dtsokakis [mailto:TSOKAKIS@x...]
> > > > > > Sent: Sunday, April 28, 2002 11:13 AM
> > > > > > To: amibroker@xxxx
> > > > > > Subject: [amibroker] Re: Are your Composites accurate???
> > > > > >
> > > > > >
> > > > > > Herman,
> > > > > > I just noticed that your EMPTY is -1^10, ie equal to 1.
> > > > > > So, your equivalent formula is
> > > > > > EMPTY = 1;
> > > > >
> > > > > Just realized that -1^10 is not equal to 1 but is -1 * 10^10
> > > > >
> > > > > perhaps my code was OK anyway?
> > > > >
> > > > > Take care,
> > > > > Herman.
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > > AddToComposite(IIf(Open == 1,0,1),"~DataPresent","v",3);
> > > > > > Do you have in the group of your gif some stocks with
> > > open==1 ?
> > > > > > This would give some explanation.
> > > > > > DT
> > > > > > PS The huge negative symbol in AFL is -1e10
> > > > > > --- In amibroker@xxxx, "dtsokakis" <TSOKAKIS@xxxx> wrote:
> > > > > > > Of course I receive an identical result list with your
> > > > > > > EMPTY = -1^10;
> > > > > > > AddToComposite(IIf(Open ==
> > > EMPTY,0,1),"~DataPresent","v",3);
> > > > > > > Buy= 0;
> > > > > > > f=Foreign("~datapresent","v");
> > > > > > > Filter=f!=101;
> > > > > > > AddColumn(f,"");
> > > > > > > EXACTLY the same results.
> > > > > > > To avoid any misuderstanding :your formula works, I
> > > just think
> > > > > > > Amibroker does not use the open==EMPTY hypothesis,
> > > because if
> > > > the
> > > > > > > ADLAC is not present on 16/4/2002, there is no
> > > reference for
> > > > ADLAC
> > > > > > > this date.
> > > > > > > My opinion is from experience, Tomasz knows how
> > > AddToComposite()
> > > > > > > works.
> > > > > > > DT
> > > > > > > --- In amibroker@xxxx, "Dimitris Tsokakis"
> > > <TSOKAKIS@xxxx>
> > > > wrote:
> > > > > > > > I respectfully disagree. If you are not concerned
> > > about bar-
> > > > by-
> > > > > > bar
> > > > > > > accuracy
> > > > > > > > than you are correct. In that case the "1" method
> > > works fine.
> > > > As
> > > > > > > long as you
> > > > > > > > know that this method will pick up holes of several
> > > days but
> > > > that
> > > > > > > it will
> > > > > > > > not pick up single bar holes.
> > > > > > > >
> > > > > > > >
> > > > > > > > Herman,
> > > > > > > > Of course we speak for daily search, bar-by-bar.
> > > > > > > > I have in my ^NDX 4 experimental holes on
> > > > > > > > 6/1/2000 [1], 15/2/2000 [1] and 1/3/2000[2]
> > > > > > > > plus the missing ADLAC after 15/4/2002.
> > > > > > > > As you see from the exploration, the population
> > > > > > > > is different from 101 exactly these dates.
> > > > > > > > I do not understand the conditions of your graph.
> > > > > > > > The
> > > > > > > > AddToComposite(1,"~count","v");
> > > > > > > > Buy=0;
> > > > > > > > scans bar-by-bar every stock for each date.
> > > > > > > > If the stock is present, it adds an 1 and moves to
> > > the next
> > > > stock.
> > > > > > > > If ADLAC is not present on 16/4/2002, then the sum
> > > will be 100
> > > > > > > > for the certain date.
> > > > > > > > It is impossible to have a 20% error, there should be
> > > another
> > > > > > > > reason for your results.
> > > > > > > > Dimitris Tsokakis
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > Your use of Yahoo! Groups is subject to
> > > > http://docs.yahoo.com/info/terms/
> > > > > >
> > > > > >
> > > >
> > > >
> > > > Your use of Yahoo! Groups is subject to the Yahoo! Terms of
> > > Service.
> > > >
> > > >
> > > >
> > > > Your use of Yahoo! Groups is subject to the Yahoo! Terms of
> > > Service.
> > > >
> > > >
> > > > Yahoo! Groups Sponsor
> > > > ADVERTISEMENT
> > > >
> > > >
> > > >
> > > >
> > > > Your use of Yahoo! Groups is subject to the Yahoo! Terms of
> > > Service.
> > >
> > >
> > >
> > >
> > >
> > > Your use of Yahoo! Groups is subject to
http://docs.yahoo.com/info/terms/
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > Your use of Yahoo! Groups is subject to
http://docs.yahoo.com/info/terms/
> > >
> > >
> >
> >
> >
> >
> >
> > Your use of Yahoo! Groups is subject to
http://docs.yahoo.com/info/terms/
> >
> >
> >
>
>
>
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>
>
>