AmiBroker 6.35.0 BETA released

A new beta version (6.35.0) of AmiBroker, with lots of new functionality has been released.

DOWNLOAD LINKS

32-bit version:
http://www.amibroker.com/members/bin/ab6350beta.exe
(2 447 008 bytes)

64-bit version:
http://www.amibroker.com/members/bin/AmiBroker6350x64.exe
(11 022 864 bytes)

DOCUMENTATION

DevLog announcement:
http://www.amibroker.com/devlog/2019/11/28/amibroker-6-35-0-beta-released/

Read Me:
http://www.amibroker.com/devlog/wp-content/uploads/2019/11/readme6350.html

UPGRADE POLICY

This version is a free upgrade only for users who registered AmiBroker after November 28, 2017. Users who registered earlier, would need to purchase license upgrade. To find out the version you currently have use Account Information page at http://www.amibroker.com/members/info.php

CHANGES FOR VERSION 6.35.0 (as compared to 6.31.0)

  1. AFL: new function inverf(x) - inverse erf function
  2. AFL Editor: added function navigation combo box in the toolbar - detects user defined functions and allows to quicky navigate to function definition
  3. AFL: GetOption("PadAndAlignToReference") allows to query Pad and align setting status (note that this is read-only field, so it will not work with SetOption)
  4. AFL: new function erf(x) - computes Error function
  5. AFL: parser warns if empty body is used in 'for' statement, like this: for( i = 0; i < 10; i++) ; // extra semicolon at the end - empty body Warning 510
  6. AFL: parser warns if empty body is used in 'while' statement, like this: while( condition ) ; // extra semicolon at the end - empty body Warning 510
  7. AFL: SafeDivide( x, y, valueifzerodiv )- safe division that handles division by zero using special handling (replace result with user-defined value)
  8. Batch: added optional parameter to Data Import ASCII command to allow specify format definition file
  9. Batch: added optional parameter to Execute and Wait command to specify current working directory for command
  10. Batch: added optional parameter to Export to File / Export walk-forward to file to specify column separator in CSV files
  11. Batch: Clipboard Cut/Copy/Paste implemented in batch editor
  12. Batch: Edit->Delete (from main menu) and Edit-Delete All implemented for completeness
  13. Batch: list view uses virtual mode now (owner data)
  14. UI: All owner-draw list views (NOT in dialogs) now feature customizable theme (currently available "system (light) theme" and "black theme") - go to Tools->Customize, "Appearance" tab, "Dark mode for listviews" checkbox
  15. UI: Analysis and RT quote window use now exactly the same RGB values for up/down (green/red) colors for consistency
  16. UI: Custom virtual listview (owner data) supports per-item data now
  17. UI: Found workaround to avoid terrible flicker and bad rendering of list view controls during fast page up/down and side scrolls (even though they are double buffered by Windows and in theory should be smooth).
  18. UI: Identified even more bottlenecks in Windows OS that caused even owner data and owner draw Listview performance to suffer with large number of columns. OS code circumvented. Listview redraw speeds increased more than 5x compared to previous speedy implementation
  19. UI: Implemented resizing of Listview column customization dialog

CHANGES FOR VERSION 6.31.0 (as compared to 6.30.0)

  1. AFL: Access violation in PercentRank when period is wrong. Now error 52 is displayed instead.
  2. AFL: InternetPostRequest now silently (or with warning 507 under debugger) returns NULL handle instead of error when remote server responds with HTTP Status 50x
  3. Analysis: manual column re-sorting could be bit off if scientific output format (xxxEyyy) was used with different exponents. Fixed.
  4. ASCII importer now handles LastSplitRatio of X:Y where X and Y are 1...32767 (previously only 1..127)
  5. Batch: added "add results to watchlist" action / WatchlistAddResults
  6. Batch: added "clear watchlist" action / WatchlistClear
  7. Batch: added "comment" action
  8. Core/DB: fixed access violation when all data were removed while QuickData was turned on
  9. DebugView: eliminated some internal messages from DebugView output (from release version)
  10. InternetPostRequest - even if URL started with https, previous version wanted to connect to port 80, instead of 443. Fixed.
  11. UI/Listview: since 6.28 exception could occur if single cell text length exceeded 1024 characters. Fixed.
  12. When database is empty, ticker box displays grayed text instead of blank or reminiscent of previous database symbol

Examples of Dark Theme can be found in this thread: Dark theme for Watch window (Debugger)?

This thread is continuation of the discussion from AmiBroker 6.31.0 BETA released

13 Likes

Here is some example benchmark for exploration speed gains achieved in 6.35.

for( i = 0; i < 400; i++ )
{
   AddColumn( C, "C " + i );
}
Filter = 1;

Testing on 20 years Dow Jones database produces 400 columns and about 140K rows (56 million list view cells).

Timings 32 bit 64 bit
Ver 6.31 25sec 19sec
Ver 6.35 0.86sec 0.49sec

So in this test new version 6.35 is 29x faster in 32-bit and 38x faster in 64-bit

If tested on more data the speed ups are even bigger.

12 Likes

Great work from Tomasz again!

Does the 38x performance gains in exploration apply to backtesting as well?

What did you do to ver6.35 to achieve this incredible performance gain? I am curious to know what magic you did :slight_smile:

No, these gains are mainly for exploration. Explorations can produce huge amount of output quickly as there is not much processing just flooding the output. Backtests don't produce that much output. Speed gains come from writing probably world's fastest float to string conversion routine (twice as fast as fastest known to date and 25x faster than sprintf) More on that Doing *huge* explorations? You can see upto 20x speed increase in next version.

Also the performance of listview itself has been improved by order of magnitude and this affects every place that is using it.

3 Likes

Thanks Tom for all your hard work!
-S

1 Like

Thanks Tomasz for your hard work not only in app, but also in this forum.

1 Like

I brought a professional licence of Amibroker 6.0 a couple of years ago.
What will be the price for upgrading to the latest version?

Prices are listed here: http://www.amibroker.com/order.html

Professional Edition upgrade price is $169, Standard Edition - $139

Thank you Tomasz for providing the updated version of Amibroker.
Will there be any difference in speed of exploration if processor is Intel i5-9600K(which is 6 core processor)?
In 64-bit version 6.30.5, For running an exploration which includes For Loop, HHV and LLV and few other functions, on a tick database of 154 symbols(1 Recent day), it was taking approx 32 seconds, out of these 23 seconds processor was loaded at 100%.
After installation 6.35.0, the time taken for same exploration is 31 Seconds. Processor is loaded 100% for approximately 23 Seconds. So, I did not see a significance difference in exploration speed.
Is my processor creating bottleneck to higher speed?
I am sorry for my stupid question, as I don't know much about Architecture of computers.
Thanks,
Jagdeep

Did you read what was written PREVIOUSLY in this thread?

You would observe humanly visible difference IF your exploration OUTPUTS a lot of data - MILLIONS of cells.

Your exploration is ONE RECENT bar and only 154 symbols. That is only 154 rows. Outputting 154 rows takes microseconds anyway so even it if is 50 times faster you won't see that because whenever it takes 500 microsec or 10 microsec it is not humanly visible.

Your exploration time is NOT spent on output. It is spent on processing the data (you are using tick data, so it is likely hundreds of megabytes (or gigabytes) of data. You would see much bigger speed improvements if you followed advice given here http://www.amibroker.com/guide/x_performance.html and REDUCED AMOUNT OF DATA to process. Plus turn ON QuickAFL in Analysis Settings. And replaced loops with array statements that are 100x faster than any loop.

Hi @jdeep1983,
I run perfectly in version 6.35 64-bit, its much faster than old one. Your problem faced sometime especially in "Total data access time". In my case, that is some bugs in third party's plugin (data feed) it made Amibroker face problem while access data. Did you try to delete and create new database in your thirparty's datafeed, not in amibroker.
Tomasz did help me to solve this problem before.
As for crash the most probable culprit is 3rd party data plugin. Change "Data source" to "(local database)" and then check.

Dr. Tomasz,
your dark themes for listview controls actually smooth my eyes greatly,
also, it provides huge difference and better experience for my eyes,
//
I quess these dark themes could be better,
If there is a color option control for [v] Use dark them for list views.
//
Thank you :blush:, May Gods protect your eyes also!

I mean provide option for 'color of text' on a black background.
(black background is the best for people with eye cataract).

There is more than one text color. Text is drawn in different colors depending on state, for example: normal state, selected and focused state, hover state, selected and not focused.
There is also more than one background color.
People seriously underestimate inner workings of AmiBroker.

2 Likes

:smile: Tools -> Preferences -> Editor,
after choosing colorBlack as color of 'Color & styles',
you will find that color of 'Preprocessor' cannot be changed correctly.
//
Please check, Thank you very much!

So are we in nitpicking mode huh?
Seriously this does not matter much as far as AFL editor usage goes.
The background of the control in the preferences isn't changed BUT the preprocessor code in the EDITOR is, so if you define RED color for pre-processor text, it is red in the editor:

image

For what it is worth: I added background color change for the pref control already in development version.

4 Likes

Hi @alexlin,
You can customize color as you want, here is my color scheme ! Please follow Tomasz guide
image

6 Likes

The thread is now continued in: AmiBroker 6.35.1 BETA released