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

[amibroker] Re: Why are there so few?



PureBytes Links

Trading Reference Links

Tim
There are 2 possibilities about why there are so few dlls. One is 
that indeed very few are written, another is that even though they 
are written, they are not published or shared.

Let deal with with the first one. AFL is a powerful langauage that 
there isn't a lot of things that it can't do, just look at the 
userkb, the variety of tasks that afl is able to perform is quite 
astounding. I once wrote an afl that calculates the trading profit 
and loss for my tax return. 

However there are always things that dll will do better, I 
have written now over a thousand dll functions. Often a good 
candidate is when afl loop is involved. The reason for that is even 
though that AFL functions are optimized, ie, ref, valuewhen or cum 
function are faster than if I directly write these in dll. Loops 
cannot be optimized to the same extent and are generally much faster 
when they are written in C++/C. Another candidate for dll is when 
functions that are difficult to be achieved efficiently with AFL, 
ie, you need a significant no of AFL functions to write a seemingly 
simple task. Recently, I wrote myself a few functions for trading, 
One of which is the WeekOfYear() function. You can do that in 
with AFL alright, but the No of required previous bars makes it 
unsuitalbe. With a dll, I am able to return the weekofyear value 
from bar 0, but with an AFL, I have to wait til bar 20, and is too 
slow to run on a tick database. Another one I wrote is what I called 
HighestBefore(), that I use to find the first hour, first 30 minutes 
high in a day. These are simply examples, and there are many many 
more that I think have improved my ability to develop fast and 
complex systems that I wouldn't want to do without.

Is dll for everybody? most definitely not, AFL, like Jscript, is a 
type ignostic language, which means you dont have to tell the AFL 
engine it is an integer or an array. While C++ is a strong typed 
language. With AFL, most people can start coding right away without 
the intrepreter telling them of the mistakes they make. On the other 
hand, C++ compilers complains like a fuzzy parent about every little 
thing that is not right. But it is a good thing, we all know, as any 
parent would tell their kids. When the function we are trying to 
write becomes complex. And dll doesn't suffer nearly as often with 
obscure and intermittent errors that one encounters when one tries 
to write very long and complex afls.

I disagree with those who disregard dll as little use, dll like any 
tool, is only as good as the person who uses it. It is a bit like a 
person who always uses his fork for his meal, complains that knife 
is of little use.

The 2nd possiblity that there are so few dll is that very few are 
being published or shared. I have written about that here.

http://finance.groups.yahoo.com/group/amibroker/message/125635

--- In amibroker@xxxxxxxxxxxxxxx, "Tim" <raven4ns@xxx> wrote:
>
> Hello,
>  Many people have said that a DLL is the way to go for a formula. 
It
> is said it is faster among other positives. Why then is there so 
few
> DLL's available? I know my ignorance about computers is showing 
but I
> would really like to know. Are they more complicated than an AFL, 
you
> need special training, what? Thank you for indulging my curiosity.
> 
> Kindest regards always,
> 
> Tim
>



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

**** IMPORTANT ****
This group is for the discussion between users only.
This is *NOT* technical support channel.

*********************
TO GET TECHNICAL 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/