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

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



PureBytes Links

Trading Reference Links

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