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

RE: [amibroker] How To Restore Formula Speed?



PureBytes Links

Trading Reference Links

Calling only once means assign the variable a name i.e. k =
AFLfunction(x,y,z);
Thereafter refer to the value k instead of repeating the
calls in other locations.
Example: instead of 
A = C + StdDev(C,n);
B = C - StdDev(C,n);
Use:
S = StdDev(C,n); //call the function once and use below
A = C + S;
B = C - S;

Joseph Biran
____________________________________________
-----Original Message-----
From: amibroker@xxxxxxxxxxxxxxx
[mailto:amibroker@xxxxxxxxxxxxxxx] On Behalf Of js8765
Sent: Sunday, May 11, 2008 3:23 PM
To: amibroker@xxxxxxxxxxxxxxx
Subject: Re: [amibroker] How To Restore Formula Speed?

How do you call a function once using AFL?

If I look at the section "Understanding how AFL works" that
is always 
quoted whenever anyone has questions about the hard to grasp
array  
processing language, I can't see anything about how to call
a function 
once...

Thanks for any help.

P.S. Tomasz, everything is always easy when you know how.
What maybe is 
a bit more difficult is to put yourself in the position of
others who 
are still learning and understand that it is not so easy...

Tomasz Janeczko wrote:
> Percentile involves sorting, it is currently implemented
> using absolutely the fastest algorithm known to human
kind.
>
> What you can do to speed it up - that's easy - call it
once
> and store result.
> This (calling same functions with same arguments many
times instead calling it once) 
> is the most common mistake people are making.
>
>
> Best regards,
> Tomasz Janeczko
> amibroker.com
>   ----- Original Message ----- 
>   From: Louis Préfontaine 
>   To: amibroker@xxxxxxxxxxxxxxx 
>   Sent: Sunday, May 11, 2008 4:15 PM
>   Subject: Re: [amibroker] How To Restore Formula Speed?
>
>
>   Hi Tomasz,
>
>   Is there a way to speed up Percentile function?
>
>   Thanks,
>
>   Louis
>
>
>   2008/5/11 Tomasz Janeczko <groups@xxxxxxxxxxxxx>:
>
>     Hello,
>
>     Use
>     AFL Editor,
>     Tools->Check and Profile
>     to find the bottleneck in your code. 
>
>     Most often people are
>     calling the same funciton over and over many times
when
>     they should call it ONCE and store the result in
variable.
>     This the most basic improvement can be applied to 99%
of
>     formulas written and posted here to get a lot more
speed.
>     The other thing is that you move all array function
calls OUTSIDE
>     loops. That's second principle: *never* call array
function
>     inside loop , unless you are doing something like
iterating
>     through multiple symbols. But NEVER call array
funcitons
>     inside per-bar loop.
>
>     Best regards,
>     Tomasz Janeczko
>     amibroker.com
>
>
>     ----- Original Message ----- 
>     From: "ondrej.uhlarik" <ona@xxxxxxxx>
>     To: <amibroker@xxxxxxxxxxxxxxx>
>     Sent: Sunday, May 11, 2008 2:44 PM
>     Subject: [amibroker] How To Restore Formula Speed?
>
>     > Hello,
>     > I have programed quite a complicated indicator in
AFL. When I load it 
>     > in a pane it significantly slows down scrolling
speed and reaction 
>     > speed in general. That I find very annoying, so I
made a Toggle 
>     > parameter to switch between 2 modes: Basic (which
does not show so much 
>     > but does not affect speed so much either) and
Advanced (which shows 
>     > everything and affects speed a lot). Now the problem
is as follows:
>     > I insert the indicator in a pane in the Basic mode
and the speed is ok. 
>     > Then I switch to the Advanced mode and the speed
gets worse. Then I 
>     > switch back to the Basic mode but the speed remains
bad, i.e. the 
>     > original speed is not restored. It seems that the
Advanced data are 
>     > still loaded in some memory cache and affect speed
of the indicator 
>     > even if I switch back to the Basic mode. Is there
any chance to clear 
>     > or reset the data loaded in memory (or whatever)
without removing the 
>     > indicator from the pane and re-inserting it back?
>     > Thank you for your ideas, and please keep in mind
that I am a beginner 
>     > in programing :)



------------------------------------

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

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/amibroker/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/amibroker/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:amibroker-digest@xxxxxxxxxxxxxxx 
    mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx

<*> To unsubscribe from this group, send an email to:
    amibroker-unsubscribe@xxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/