Array processing explained?

I think we need a better document than existing Understand AFL. I don’t know what is exactly wrong with it, but it seems that people struggle with that.

Maybe changing from vertical to horizontal would help?

Any ideas for improvement?

1 Like

The description makes perfect sense to me Tomasz, but then I do come from a software development background. :slight_smile:

One thing that might help is to relate it to something more familiar such as a spreadsheet. Most people are conversant with Excel for example, so the concept of spreadsheet formulas that apply to different cells in the row (array) is something they might get a little easier, and that would help them equate it to the equivalent AFL construct. Array processing could then be described as an "automatic copy and paste of the formula for the entire row."

FWIW Here's a screenshot of a Google sheet I use when explaining it to clients I deal with.


My 2c for whatever its worth...

  1. Agree with HelixTrader re Excel images with formulas being shown.

  2. Comparison of Array/Vector Processing to Loops/Sequenced Processing

Explanation of why loops are redundant and its better to use functions such as ValueWhen(), BarsSinceCompare() and BarsSince(). For example, the post you have here is absolute gold!

This is also a good explanation of an array in the "CS50 course for lawyers" by Harvard University around minute 10:

I am not quite sure why lawyers need CS course, but anyway it is ... entertaining to watch. I don't think that understanding array itself is a problem. The problem is understanding vector operations/math (SIMD) and not doing iteration.

AmiBroker demands its users to inculcate DIY attitude which many do not like, however, its actually good!

Those who stick around know this, as they develop their system by overcoming all challenges with their sheer determination. Those who do not, switch to other boilerplate applications where things are fed to them!

Although challenging, often exhausting and time consuming with AmiBroker, in the learning process one not only understand concepts but also get ultimate freedom to master it!

Getting close to reality in trading is a necessity, AmiBroker provides that state-of-art playing field. In any other application, such varied and vast opportunities are simply unavailable.

@Tomasz, since you are thinking to revisit AmiBroker's documentation, here are my request:

  1. Kindly provide a defined chronology of documents for a beginner to consume before anything else. Its all discussed already and available upon extensive search but several critical information are lying around scattered. If the time taken for the discovery process could be reduced, user retention would increase. For instance, how much time do you think a newcomer would take to grasp a simple concept of "storing state" on his own?

  2. You have been religiously telling users to read the manual. Even after 5 years of this forum, I observe you doing the same thing every other day! Kindly provide graphical representation of complex concepts. For example, this QuickAFL article is easy to grasp because of this diagram:

The language in Understanding how AFL works article is simple enough! However, sadly, most do not hold tenacity from reading. They come here with intention to achieve some edge in a short span. Moreover, many do not even hold any prior programming experience.


The documentation for beginners is entire Tutorial. That is really not that much.