[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [amibroker] Re: The best way to help newbies, oldies, ... and AmiBroker ...
PureBytes Links
Trading Reference Links
|
Hello Tomasz,
I am surprised by your response. I thought you would be supportive of efforts to provide more useful UKB content. This proposal is right in line with the goals of the UKB --which has suffered from not enough contributers.
More below... On Aug 28, 2008, at 6:31 PM, Tomasz Janeczko wrote: Hello, You guys seem to go to the extreme with saying that AFL is cryptic. It is not. Take a look at Stocks&Commodities Traders' Tips and compare AmiBroker codes with codes of any other product, and you will quickly find out that AFL is almost everytime the shortest and easiest. Lots of examples here:
You are making my point and I stand by my statement that AFL is cryptic and concise, because it is. This is not a criticism of AFL. The smaller the code solution, the more concise the language. The less it looks like English or some other natural language, the more cryptic it is. C++ is cryptic.
However, AFL is not the most cryptic or concise language I have used. APL is. It has very concise mathematical descriptions of matrix operations and is very cryptic. With APL a friend of mine in college wrote a checkers like board game that would play against you and learn from its mistakes. I believe the entire program was 8 lines, with 3 lines doing the logic and 5 lines was the IO. It was 40 years ago so I may be off by a line or two. The biggest problem with APL is that you could write a wonderful program in a very few lines, then a week later, you could not figure out what you wrote if you wanted to change anything. It was just easier to start over again than to figure it out.
At the other extreme, I have used Revolution a lot. The language is so much like English that you can usually figure out how the program works without any documentation. It reads like the pseudo-code that would be used to define the program flow that the programmer would work from. If somebody thinks that writing a "phrase book" is the solution to "newbie" questions problem, he/she is dreaming. No matter how good docs you will write you will ALWAYS have newbie questions. There are dozens kinds of "newbies". From people who don't know where to right click to bring context menu to people who just want to write their first own DLL. The scope is from "can I use for <CountryHere> market?" to "Why my managed C# code throws exception here ..." The scope of user problems is simply to large to fit 50,000 pages book.
You are right. There are many types of newbie questions. I was only addressing the ones that slow down the learning and use of AFL and are asked many times. The ones I wish I had the answers to when I was starting out, organized in a way that would speed my learning. With growing number of docs, it is not easier to find exact info, but harder. Classic example is Google. There is 100000 hits for each and every search. Unexperienced user who does not know exactly what he/she is looking for will be lost with the result list.
This is also the point. Gathering certain types of information in the same place so that searching and sorting through too much is not needed. Having a dozen examples of how to do different types of plots in one place makes it likely that I can find something close to a solution for my problem quickly --as long as I know I have a plot problem to solve and the UKB offers a section on plotting. In the past, when there was no so many code examples available, surprisingly there were less questions.
I can think of a speculative reason for this. With few examples, people might not have ventured to learn much and chose to stay ignorant, so had few questions. AFL was not being used to its potential by most.
> You and other posters are asking for an English to AFL phrase book. I was always saying - learn by doing. And there great, but often overlooked tool to learn by doing. The tool is AFL Code Wizard (available from AmiBroker Analysis menu). Using simple few clicks you can transform plain English sentence to AFL code.
I have played with it and I would expect new users to take advantage of this to help them get started with some basic system formulas and to learn how AFL translates from English for a few things. For those who are using Amibroker in its simplest way, this is an excellent tool and it may be all some need. It certainly adds more flexibility than not being able to program at all.
I do not used it because it came along after I had learned the simple things and moved to harder problems to solve. For my system, the Code Wizard could not generate 0.1% of the code I have written. I am a little too unconventional in my approaches. There is no substitute to learning things step-by-step by doing them. It is called practice.
This is true and I do this and try to encourage others to do this also. Having an example of a code snippet that is close is a good way to learn by taking it and changing it to see what happens. Experimentation is wonderful for learning. However, you may not realize all the possible approaches without examples.
So now that I have gone through your points, I still don't see why you would discourage more involvement in generating useful examples for the UKB. Do you have some other plan that you are think of that would get rid of the UKB?
Best regards, Dennis Best regards, Tomasz Janeczko amibroker.com ----- Original Message ----- Sent: Thursday, August 28, 2008 10:39 PM Subject: Re: [amibroker] Re: The best way to help newbies, oldies, ... and AmiBroker ...
Ron, and other posters to this thread,
This is a good example of where some of the problems in understanding come from. AFL is cryptic and concise. It takes a good long while to make the connection between a natural language _expression_ of the desired result and the AFL to say the same thing. I had ask for an AFL to English dictionary. You and other posters are asking for an English to AFL phrase book. I really like that idea. There are a large number of one liners that are very useful and are great at teaching how things work in AFL. How many times have I seen a question for "How do I plot a vertical line at x?" or "How do I change the background color by bar to indicate some indicator condition?". Almost the kind of thing that could make up an AFL FAQ section. This seems like one of the things the UKB was created to handle. However, each item is too small to warrant a whole UKB article in itself. The TOC structure is not set up for that IMO. However, having a dozen one liners about plotting, etc., in one subject would be very helpful. Just the fact that a number of question would be answered under one general heading makes it more likely that a new user would find the answer to the thing he wanted quickly.
I am hearing so many good ideas on this and similar threads in the last couple of days from new and old hands.
I am a great fan of "Cheat Sheets". Condensation of all key points to a subject on one page. There are many areas of AFL that could fit into this model.
Of course the problem with the UKB is that each article has to have an owner who is responsible to input and update its content. There are also some barriers to becoming a UKB author. Not big ones, but just big enough to keep busy people from crossing over. One suggestion was made to have AB support help out with that so there would be an easy as email way to make a contribution for these snippets. Support already has offered to post articles for authors, but I think it is still a barrier to have to write a "complete" article to post anything. Adding to an article that is already structured with a small think like people post hers would not be so daunting.
I think it is a great idea to have a topic related AFL phrase book. Of course it would also be appropriate for any UKB author to put up his hand and say he will sign up to maintain a particular topic UKB entry for the phrase book.
Perhaps if a few of us could take a topic and get the ball rolling, others would join in. The idea is that instead of writing a UKB article, you just email a snippet to the responsible person to add it to the article.
This list itself could be used to vet things first to reduce the editing of completed articles. That way someone would not have to be an expert to maintain one topic.
If several people like this basic idea, the we could expand the concept and create an outline for the subjects. Should we start organizing the topics for a phrase book?
It is one thing to complain, another to suggest improvements, and still another to be willing to contribute to the suggestions.
What do people think of this idea, and contributing to it?
Best regards, Dennis
Ron, The examples that you used were perfect. Even I could understand how they worked and learn how to do things that I wanted to do but didn't know how to do it. I spent a lot of time using barssince and ref trying accomplish this. Thanks, Tom ----- Original Message ----- Sent: Thursday, August 28, 2008 11:36 AM Subject: Re: [amibroker] Re: The best way to help newbies, oldies, ... and AmiBroker ...
In the very early days of my Amibroker learning curve, The best help that I received was from this board when an experienced user was kind enough to quickly code an example or what I was asking.
Then, I would play with what they had given me, and I started to understand how to use Amibroker.
For example, REF(c>ref(c,2),5); says that the close that happened five days ago has to be higher than the close that happened on the sixth day ago.
Whereas, SUM(c>ref(c,2),5); only requires that any one or more of the closes over the last five days has to be higher than the previous days close.
The above examples of simple english explanations from this board are how I started learning Amibroker. Ron D
----- Original Message ----- From: "Ken Close" <ken45140@xxxxxxcom> To: <amibroker@xxxxxxxxxps.com> Sent: Thursday, August 28, 2008 12:15 PM Subject: RE: [amibroker] Re: The best way to help newbies, oldies, ... and AmiBroker ...
> Amen. Amen! AMEN! > > While Tomasz has done so much to improve and expand the training/manual > since the early days (he really has!), the fact there is continual > questions > on the same stuff or "small stuff", suggests there is still room for and > benefit from improvement. > > I am constantly reminded (or remind myself) that Tomasz has to say "Read > the > Manual". Some questions are almost obvious that a quick trip to help > would > answer the question, but other "simple" questions are not. Many of us do > attempt to find the answers in help but cannot. > > For example, yesterday, I wanted to know how to make subscripted arrays. > I > did not remember that VarGet and VarSet was set up to do this. So a trip > to > Help and typing in "subscripted arrays" found 9 entries none of which led > me > to VarSet or VarGet. I think one of the improvements would be a search > system which allowed more complex search logic or strings, or some way to > zero in on the specific request. As Tomasz says, it is almost always in > there, it just is hard to find. > > Ken > > > > -----Original Message----- > From: amibroker@xxxxxxxxxps.com [mailto:amibroker@xxxxxxxxxps.com] On > Behalf > Of Dennis Brown > Sent: Thursday, August 28, 2008 11:58 AM > To: amibroker@xxxxxxxxxps.com > Subject: Re: [amibroker] Re: The best way to help newbies, oldies, ... and > AmiBroker ... > > Brian, > > You are correct. I switched to AB because I wanted a programming language > that was fundamentally tied into the realtime price arrays and the > charting > for the same. RT quotes --> Database --> AFL --> > Charts. That was all I wanted, and that is pretty much all I use. > There is a lot of overhead associated with getting and maintaining the > data, > interacting with the user, and outputting the the data in a useful form. > I > only wanted to be concerned with the algorithms that decided to buy or > sell. > Interestingly, even with all the support functions handled by AB, I still > spend 80% of my time coding UI things! I think it is some kind of > computer > programming law. > > AFL was my real destination with AmiBroker, and I had a hard time because > it > was not well defined. A lot of assumptions were made about prior > knowledge > of specific programming language conventions in C like languages. > Languages > I had no experience with. These are middle level languages. My > experience > was with machine level assembler code, and very high level like > Revolution/SuperCard/HyperCard, and a > smattering of BASIC and APL from the original versions 40 years ago. > I had no idea that I was supposed to go learn C syntax before I could use > the AFL documentation. IMHO this is a documentation hole big enough to > drive a truck through. > > Then what happens when someone has no experience with any programming > language at all. Perhaps some Excel experience, or maybe experience using > a > programmable calculator. I can't imagine the bewilderment with AFL. It > takes a lot of handholding from support or this list to get over the first > hump. > > I believe it would be appropriate to define the AFL language in the > documentation as if it were the only language that exists on the planet. > > For instance "+" is defined as "Addition". Whereas, in reality the "+" > operator is data type dependent. It will add two numbers, add a number to > every element in an array, add two arrays element by element, or > concatenate > two strings. It will not add a number or array to a string. > > As I have suggested before, I would have liked to see a "Complete" > listing of all operators, functions, reserved words, syntax characters, > directives, etc., in one live list index that points to a page that > explains > each one in the same way that the functions are now described. Then > additional "see also" pointers on those pages to point to more in depth > documents when available. In fact the current functions list could simply > be expanded to do this. > > This would have saved me many weeks off the learning curve. > > I don't know if Howard is planning on doing this in his new book, but it > should be part of the on-line documentation. > > Best regards, > Dennis > > > On Aug 28, 2008, at 10:34 AM, brian_z111 wrote: > >> I didn't explain myself very well there. >> >> What I am saying is that I think we are making it harder by not >> admitting that it is a programmers program and just getting on with >> teaching AFL. >> >> If anyone held told me that at the start I would have run for it but >> the fact is that the help manual is about 'AmiBroker the program' but >> eventually I came to realise it is all about programming - >> specifically AFL. >> >> So, if I do want to get on with it where do I go? >> >> The AFL section of the help manual is condensed. >> The first few chapters of Howards Book are a basic intro to AB and the >> rest of the book is orientated around SystemDesign & Evaluation? >> >> Where is the next stop on the AFL line? >> >> >> brian_z >> >> >> >> >> --- In amibroker@xxxxxxxxxps.com, "brian_z111" <brian_z111@...> wrote: >>> >>> Herman, >>> >>>> I always figured that sticking with AFL would have provided a more >>>> continuous path for users to develop their programming expertise. >>> >>> This is a new point, not really discussed much before, I think. >>> >>> I really don't know how to put it in words but you are so right. >>> >>> Tomasz should be proud of me because if I am a programmer at all I >> am >>> an array programmer...... but sometimes I am left reaching for AFL? >>> >>> Perhaps there are conventions that people with 2 or more >> programming >>> languages automatically understand? >>> >>> Do I have to go and learn C++ as well. >>> >>> Should I need too? >>> >>> brian_z >>> >> >> >> >> ------------------------------------ >> >> 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 >> >> >> > > > ------------------------------------ > > 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 > > > > > ------------------------------------ > > 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 > > >
__._,_.___
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
__,_._,___
|
|
- References:
- [amibroker] Re: The best way to help newbies, oldies, ... and AmiBroker ...
- Re: [amibroker] Re: The best way to help newbies, oldies, ... and AmiBroker ...
- RE: [amibroker] Re: The best way to help newbies, oldies, ... and AmiBroker ...
- Re: [amibroker] Re: The best way to help newbies, oldies, ... and AmiBroker ...
- Re: [amibroker] Re: The best way to help newbies, oldies, ... and AmiBroker ...
- Re: [amibroker] Re: The best way to help newbies, oldies, ... and AmiBroker ...
- Re: [amibroker] Re: The best way to help newbies, oldies, ... and AmiBroker ...
|
|
|