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:
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.
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.
In the past, when there was no so many code examples
available, surprisingly there were less questions.
> 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.
There is no substitute to learning things step-by-step by
doing them. It is called practice.
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
__,_._,___
|