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 [email protected], "Tim" <[EMAIL PROTECTED]> 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 >
