Hello all,
This is too funny. I am laughing so hard I can hardly type. I don't even know where to begin...
I write deeply flawed AFL code for my own purposes (my flawed code, not AFL) -- and sometimes offer my code for free to others when I have the time to document it. I guess I could write elegant code if I wanted to spend 4x the time making sure I thought of all the angles. However, I can't even find enough time to write all the flawed code I want, both for my own trading system, and to share with others. I can't even find enough time to clean up and document the code enough to give it to others who have generously offered to help me write more and better code. What kind of unfair world is this anyway, when there is no time left even for good deeds.
I am sure TJ would love to be able to start all over from scratch and generate the most elegant and complete AFL implementation possible instead of having to add to it incrementally as time permits. Perhaps if we all chip in and send him a few million dollars, he can take the extra time to do it. But wait, does that mean I will have to wait a few more years to get the features I need now in AFL for trading? WIll TJ have to stop supporting what he has and go hide in a cave for years and then introduce a new product that nobody knows how to use, and rendering all the old code useless?
In my eyes AFL is deeply flawed only because it does not have the exact capabilities that I want today. It is a tool, and that is all. There is no requirement for a tool to look pretty. Only that it can do the job if you learn to use it -- perhaps with a few safety features so you don't cut yourself. If I can think of something that I want to do, and there is no direct way to do it, then I give feedback to ask that this deep flaw (that I only found out I wanted yesterday) can be corrected at the next opportunity.
Of course AFL will continue to be deeply flawed for the foreseeable future, because I am going to keep figuring out new things that I want it to do that are hard to do now. The business model is also deeply flawed, because it does not prioritize my needs above all the other customers. Perhaps if I send TJ a few million dollars, he will do my stuff first? Now where did I put my checkbook, you know the one with the extra billion in it? Perhaps in a few years after a little more inflation.
Tongue solidly planted in cheek...
Best regards, Dennis
On Jan 9, 2010, at 9:09 PM, Tomasz Janeczko wrote: Hello, > I use your product because it is one of the few that offer decent built in drawing capabilities (pixel level) Oh really? I thought that every language has pixel level drawing, isn't it ? With regards to "some positive attributes" that you mention you surely mean your great sentence that says "AFL is a deeply flawed language". In my understanding is plain unjustified bashing nothing more. And you are once again wrong in your conclusion. I appreciate the feedback. Especially the feedback from ordinary person, from the beginner and from anybody else with one exception. With exception to persons who claim in first sentence that they work for multi-billion-dollar institutions. It is pathetic. If somebody starts with something like that he/she automatically loses all credibility in my eyes. Best regards, Tomasz Janeczko amibroker.comOn 2010-01-10 02:44, Potato Soup wrote: A very simple question to answer. I use your product because it is one of the few that offer decent built in drawing capabilities (pixel level). How much money I or my employers have is largely irrelevant, all tools are considered for the job.
I'm sorry that you don't want to take some constructive criticism from other people in the field. That is unfortunate for your customers. I, nor anyone else has suggested that you failed in your original endeavor, or that AB/AFL is unworthy of any recognition. If you re-read my original posts you'll see that I mention that it has some positive attributes. But if you expect everyone to blindly praise you and suppress constructive criticism or advice than you will be disappointed. The best software takes the best ideas from everyone and synthesizes them together. I still have hope that AB can someday be the best.
Cheers.
From: Tomasz Janeczko <groups@xxxxxxxxxxxxx> To: amibroker@xxxxxxxxxxxxxxx Sent: Sat, January 9, 2010 8:37:17 PM Subject: Re: [amibroker] A computer science related question on the AFL Language
Hello, If you are so great and working for all those multi-billion institutions I am wondering what are you doing here, using so cheap and "flawed" system as you wrote in your original post. Surely for that amount of money that you have in hand you could hire best programmers in the world and write your own super-trouper language and all that stuff. So please give me a break. I wrote AFL for myself back in 1995 because I need tool for my own purposes. I decided to offer it for others and some people liked it. That's whole story. If you do not like it then search elsewhere or write your own for your multi-billion institution. And no thanks I do not need your advice. Best regards, Tomasz Janeczko amibroker.comOn 2010-01-10 02:24, Potato Soup wrote: Sorry for adding my "twisted" opinion, which only has experience building trading systems for multi-billion dollar institutions.
And Python's math modules that are implemented in Fortran and C are not "slow" In fact there are Python math implementations that run on GPUs. Python as a language can be optimized to be as fast as anything.
I'm more than happy to offer help if the AB author needs assistance adopting more modern and "twisted" technologies. My goal in offering the feedback was to help improve the product.
Cheers.
Date: Sun, 10 Jan 2010 02:17:31 +0100 Subject: Re: [amibroker] A computer science related question on the AFL Language
Hello,
Precisely.
AFL is designed to be able to express trading system rules / indicators in easy and short form and to be fast. That's all. It is intended to be easy to use and fast thanks to array processing that general-purpose languages lack. Just compare Traders Tips formulas published on S&C site for various platforms (some of them using so called "standard" laguages) and you will quickly find which formula is the shortest and easiest to understand. That speaks for itself and has more weight that sombody's twisted opinion.
If one wants full blown C++ - one can use it - just write your code in C++, compile it as a plugin and that's it.
Python/Lua and all that stuff are slow compared to AFL array processing. And as far as object-oriented programming is considered, most people are not comfortable with it (and belive it or not but most people are NOT programmers). I can tell that because I hear a lot of feedback from users.
Best regards, Tomasz Janeczko amibroker.com
On 2010-01-09 14:57, Prashanth wrote:Its not a question of whether it can be improved or not. Its a question of how user friendly it is. Most traders are not programmers and hence complex coding is out of question for vast majority. Its this group that appreciates the easiness of coding in AFL as compared to other languages which may hold more potential but can be much more difficult to learn. I believe TJ has simpliefied as much as possible and maybe during that simplification process, there were some sacrifices that were done. Unless one is a hard core programmer, I feel AFL more than meets every specification. For those who like to use more tools, ADK is always there to use and create outside of AB what they desire to achieve. Cheers Prashanth ----- Original Message ----- Sent: Saturday, January 09, 2010 19:15 PM Subject: Re: [amibroker] A computer science related question on the AFL Language
Why design one when Python is free, as is Lua, Squirrel and other easy scripting languages? I have built many trading systems for hedge funds and big banks. Never once considered building a language with it.
Sounds like you think AFL can't be improved? From a language perspective AFL has some good ideas and concepts but uneven execution. A lot of things feel incrementally added, whether they were or not I don't know.
Date: Sat, 9 Jan 2010 08:34:37 -0500 Subject: RE: [amibroker] A computer science related question on the AFL Language
Well, you should design one! As far as I am concerned, elegant and great price/quality ratio, the best in the market in that bracket. Part of my tool box and achieved north of 70% last year with it. JP AFL is an imperative language primarily with a dose of vector processing features that enable the terseness that you talk about. I would not describe it as an OO language in any way, just because it has OO bindings or provides access to objects. If you can not write an object then the OO syntax introduced in the backtester is syntactic sugar at best. I also wouldn't say it has anywhere near the power of C or C++ just because it offers some syntax similarities. Those languages derive their power mainly from their ability to access memory directly, and at the OS' discretion this means writing directly to hardware memory maps. Of course C++ takes things much further. But AFL doesn't give you anywhere the expressive data structure creation abilities that a true imperative or OO language would.
Personally I feel AFL is a deeply flawed language that mixes constructs from Basic and C at very superficial levels. It provides its power from underneath the hood, not at the true language level.
I would pay a lot of money for AB with Python as its language, using NumPy as the fast math and numerical processing underpinning.
This is not to say that AFL doesn't have elegant concepts or advantages. It is just not a well designed language from the ground up.
-----Original Message----- From: "cascade3891" <cascade3891@xxxxxxxxx> Date: Sat, 09 Jan 2010 08:26:59 To: <amibroker@xxxxxxxxxxxxxxx> Subject: [amibroker] A computer science related question on the AFL Language
Hi Amibroker community,
I have specific questions about the AFL language, regarding where it stands within the computer language spectrum(s) and what effect that has on speed/performance, agility and modularity as well as its accuracy for readability and unit testing purposes.
I know that AFL is not an object oriented programming language for the main part (however it does have some OO features like COM), does this make AFL primarily a functional programming language, a bit like OCaml??
Are functional programming languages better for financial trading applications? Where there is a need for speed, and quality stable code? AFL seems a lot brief in terms of the amount of code that you have to write (terse) ... this makes it more attractive for reading over and checking the code, and for backtesting purposes.
I notice also that with AFL you don't have to declare data types, again making it much more efficient.
Is there a drawback to using an OO code for financial trading systems/applications?
I quite like the speed and terseness of the AFL language actually, and also since it has many similarities to C. But would there be any limitations to not being able to define classes and objects?
I'm not an experience programmer so sorry if I sound green.
Anyone have any ideas on Tomasz' original design philosophy when he set out creating the AFL language? to me it seems like he wanted to keep the power and similarities to C/C++ given the similar syntactical structure, whether because he knows that language well, or because he wanted it to be able to have the same sort of power, but he also seems to have kept in mind the needs for performance and stability, terseness for backtesting/speed purposes, and maybe also b/c most traders need to pick up the language, hence trying to make AFL easier to grasp.
------------------------------------
**** 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/
__,_._,___
|