[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
|
Dennis,
Some misunderstanding .My response was not meant to discourage
efforts to add content to UKB.
If it sounded like that, it wasn't my intention. Having
spent 13 years of my life on AB development *and* writing the
docs
*and* doing support, it is not surprising
and pretty normal when one thinks of that, that I tend to defend "my
way"
of doing things, simply because it worked.
This does not really mean that other people ideas are not good
- they are often very good.
But there is quite a long way from the idea to actually making it happen, and there are very very few who
actually make it happen.
Kudos to all UKB authors who contributed
content, especially Herman who contributed the most.
Best
regards, Tomasz Janeczko amibroker.com
----- Original Message -----
Sent: Friday, August 29, 2008 3:23
AM
Subject: Re: [amibroker] Re: The best way
to help newbies, oldies, ... and AmiBroker ...
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 ...
- Re: [amibroker] Re: The best way to help newbies, oldies, ... and AmiBroker ...
|
|
|