Hello,

A short definition within each page of the AFL Function Reference/AB manual 
what type of parameter (scalar/array) is expected/allowed for the corresponding 
function would be a better place for this old known fact. That's where most 
people look at in such cases.

--- In [email protected], Tomasz Janeczko <gro...@...> wrote:
>
>   Hello,
> 
> It is old, known fact. Some functions accept variable periods. Documented in 
> the manual:
> 
> http://www.amibroker.com/guide/a_varperiods.html
> 
> 
> Best regards,
> Tomasz Janeczko
> amibroker.com
> 
> On 2010-07-15 08:12, Mike wrote:
> > Interesting. I ran a quick test and it seems to suggest that Sum does in 
> > fact take an array as second argument, contrary to expectations.
> >
> > It would appear that you are correct, with respect to Sum. Though it is not 
> > always the case that a function with a "periods" argument will accept an 
> > array. For those that don't, you will have to find another approach.
> >
> > Here's my test:
> >
> > Test = Sum(1, Cum(1));
> > Fixed = Sum(1, 5);
> >
> > Plot(Test, "Test", colorRed, styleLine);
> > Plot(Fixed, "Fixed", colorBlue, styleLine);
> > Title = "Bar: " + BarIndex() + ", Test: " + Test + ", Fixed: " + Fixed;
> >
> > If Sum did not accept an array, but was instead substituting some fixed 
> > number (e.g. last element of the array), then both Plots should result in 
> > flat lines. However, the test clearly shows that the Test plot rises at a 
> > 45 degree angle indicating that the period is different at each bar. 
> > Compare that to the Fixed plot which is constant at a level of 5.
> >
> > Mike
> >
> > --- In [email protected], "aaryan111"<aaryan111@>  wrote:
> >> I guess, sum() is behaving the ideal way :),
> >>
> >> The most important thing here is,
> >> AMIBROKER being an array processing language, calculates all the elements 
> >> of array , but at any given active bar, it fetches the current value from 
> >> the whole arry index and shows it to us,Presumably using some barindex 
> >> kind of mechanism internally.
> >>
> >> When we put close, open or any array in any afl , like ((close + open + 
> >> High  + Low )/4= MAVG),amibroker produces output based on the current 
> >> value of that array, we dont need to specify current index of that array 
> >> (scalar value) to get output at any current bar,it manages it intenally.
> >>
> >> Here its impotant to not that, its IRRELEVANT if we use array in a 
> >> Function or simply put it in any statement in afl, it fetches a scalar 
> >> value out of that produced array to show it to us.
> >>
> >> when I put SUm(close,Barssince()) It ideally fetches the current element 
> >> of BarsSince array and place it over ther.
> >>
> >> This is the ideal way. Sum() is behaving the IDEAL way.
> >> infact every other function,
> >> let it be ,
> >> MA(Close,BarsSince(TimeNum()<  093000));
> >> or any other function, having Periods, as a second argument.
> >>
> >> While in Stdev(),it simply goes against the normal behaviour.
> >> it should infact, in MUST , point to the current active element of the 
> >> Barssince(), let it be a 0 or any other value, its irrelevant, its still a 
> >> scalar.
> >> and it simply doesnt do that!.
> >>
> >> i think i have made my point clear now.
> >>
> >> Wave : Lastvalue() will surely fetch the last element of the array, but i 
> >> cant use it while testing it offline, i will get all future values of that 
> >> array, its all fine if i have to use it while online updation.
> >>
> >>
> >>
> >> Regards...
> >>
> >>
> >> --- In [email protected], "wavemechanic"<olesmithy@>  wrote:
> >>> I'm fairly sure that the only way you will get StDev() to accept 
> >>> BarsSince() in the 2nd argument without complaining is to force the 
> >>> return of a number by use of LastValue() or SelectedValue().  I don't 
> >>> know why Sum() is not complaining when BarsSince() is used.
> >>>
> >>> In the Sum() case, I think that BarsSince( TimeNum ... ) is returning a 
> >>> constant array based on the bar you select, including the last bar if no 
> >>> bar is selected.  If so, that would work OK but does not explain why 
> >>> StDev() does not work.
> >>>
> >>> For Sum(), if you replace TimeNum() with another array generator, for 
> >>> example, MA( C, 13 ) == ...., Sum() still does not complain but 
> >>> BarsSince() returns 0 (I believe) and, hence, Sum() is 0.
> >>>
> >>> You might have stumbled onto a unique situation but I would not assume 
> >>> that it can be generalized and would always go for ensuring the return of 
> >>> a number from the 2nd argument whether or not the above is correct.
> >>>
> >>> Bill
> >>>    ----- Original Message -----
> >>>    From: aaryan111
> >>>    To: [email protected]
> >>>    Sent: July 14, 2010 3:08 PM
> >>>    Subject: [amibroker] Re: Sum and Stdev , wierd behaviour of stdev
> >>>
> >>>
> >>>    Hi , thanx for the feedback wave.
> >>>    its Syntax is basically to put Period as 2nd argument.
> >>>    When u put an array in SUM() as 2nd argument, it will take the 
> >>> corresponding scalar frm that array and apply it as a filter.
> >>>
> >>>    i have successfully executed this
> >>>
> >>>    Sum(Close,BarsSince(TimeNum()>092400));
> >>>
> >>>    regards
> >>>
> >>>
> >>>    --- In [email protected], "wavemechanic"<olesmithy@>  wrote:
> >>>    >
> >>>    >  Neither takes array as 2nd.  See syntax in Users Guide.
> >>>    >    ----- Original Message -----
> >>>    >    From: aaryan111
> >>>    >    To: [email protected]
> >>>    >    Sent: July 12, 2010 3:41 PM
> >>>    >    Subject: [amibroker] Sum and Stdev , wierd behaviour of stdev
> >>>    >
> >>>    >
> >>>    >    Hi Everybody,
> >>>    >
> >>>    >    Both Sum() and Stdev() Functions Have same Arguments 
> >>> Structure.but when i put
> >>>    >    Sum(Close,BarsSince(TimeNum()>092400))
> >>>    >    it executes successfully,while
> >>>    >    Stdev(Close,BarsSince(TimeNum()>092400))
> >>>    >    gives a warning " Function Expects Different type of argument 
> >>> here " .
> >>>    >
> >>>    >    as far as i understand , both can take array as 2nd argument and 
> >>> amibroker will automatically fetch the current running index value of 
> >>> that array as the 2nd argument, same as it does with other functions.
> >>>    >
> >>>    >    one can put any other function returning array like barindex() in 
> >>> 2nd argument , result will be same.
> >>>    >
> >>>    >    Any suggestions??
> >>>    >
> >>>    >    Regards,
> >>>    >
> >>>    >
> >>>    >
> >>>    >    ------------------------------------
> >>>    >
> >>>    >    **** IMPORTANT PLEASE READ ****
> >>>    >    This group is for the discussion between users only.
> >>>    >    This is *NOT* technical support channel.
> >>>    >
> >>>    >    TO GET TECHNICAL SUPPORT send an e-mail directly to
> >>>    >    SUPPORT {at} amibroker.com
> >>>    >
> >>>    >    TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
> >>>    >    http://www.amibroker.com/feedback/
> >>>    >    (submissions sent via other channels won't be considered)
> >>>    >
> >>>    >    For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
> >>>    >    http://www.amibroker.com/devlog/
> >>>    >
> >>>    >    Yahoo! Groups Links
> >>>    >
> >>>
> >>>
> >>>
> >>>
> >>>    ------------------------------------
> >>>
> >>>    **** IMPORTANT PLEASE READ ****
> >>>    This group is for the discussion between users only.
> >>>    This is *NOT* technical support channel.
> >>>
> >>>    TO GET TECHNICAL SUPPORT send an e-mail directly to
> >>>    SUPPORT {at} amibroker.com
> >>>
> >>>    TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
> >>>    http://www.amibroker.com/feedback/
> >>>    (submissions sent via other channels won't be considered)
> >>>
> >>>    For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
> >>>    http://www.amibroker.com/devlog/
> >>>
> >>>    Yahoo! Groups Links
> >>>
> >
> >
> >
> > ------------------------------------
> >
> > **** IMPORTANT PLEASE READ ****
> > This group is for the discussion between users only.
> > This is *NOT* technical support channel.
> >
> > TO GET TECHNICAL SUPPORT send an e-mail directly to
> > SUPPORT {at} amibroker.com
> >
> > TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
> > http://www.amibroker.com/feedback/
> > (submissions sent via other channels won't be considered)
> >
> > For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
> > http://www.amibroker.com/devlog/
> >
> > Yahoo! Groups Links
> >
> >
> >
> >
>


Reply via email to