AmiBroker 6.90.0 Official Release

A new official release version (6.90.0) of AmiBroker is available now.


Replaced by:


Documented in What's new in AmiBroker 6.90


For the details see ReadMe.html and ReleaseNotes.html inside AmiBroker folder, F1 help, as well as in the on-line guide AmiBroker 6.90 User's Guide


This version is a free upgrade only for users who registered AmiBroker after July 1, 2022 . Users who registered earlier, would need to purchase license upgrade. To find out the version you currently have use Account Information page at

CHANGES FOR VERSION 6.90.0 (as compared to 6.49.1)

  1. AFL Editor: now extended function description is displayed in parameter tooltips for all AFL functions
  2. AFL: All Gui* control functions added extra 'style' parameter
  3. AFL: renamed Map() to MapCreate() to avoid conflicts with existing code using 'map' word as variable identifier, and added alias MxCreate to Matrix for consistency
  4. AFL: SetOption - added yet another protection against passing absurd values in AFL for AccountMargin (outside 1..100)
  5. AFL: SparseInterpolate function added to interpolate values between sparse points given as input
  6. AmiQuote - when UserDataSources.xml config file is not found in the current working directory, change CWD to the directory where Quote.exe is located
  7. Charts: an error is displayed when user has zoomed in / scrolled into blank (no quote) area so there are no data to display
  8. Charts: Removed data access from non-GUI thread in DrawStockCustom()
  9. Charts: when pressing "END" key blank bars are only added upto the point where at least 1 data point is visible on chart
  10. Filter dialog: added a "Clear All" button to Clear BOTH Include and Exclude pages in one click
  11. New Analysis: Exploration: Removed limit of column text length in AddTextColumn
  12. New Analysis: Filter dialog would show categories that were assigned BLANK names (or no name at all as) "" to make sure that users don't assume that selecting empty name is the same as pressing clear button. It isn't
  13. NewAnalysis: changed notice when "Apply to" filtering was too strict so no symbol matched to instruct user to switch to "All symbols" or change the filter
  14. NewAnalysis: Individual optimization crashed when GenerateReports was turned on. Fixed.
  15. NewAnalysis: Removed data access from non-GUI thread in SetupParser in GetNumberOfQuotations
  16. NewAnalysis: sharing violation could occur on attempt to write shared results.rlst file when doing Individual optimization with GenerateReports. Fixed.
  17. NewAnalysis: since AmiBroker in individual optimization mode is fast enough to produce dozens of reports in single millisecond a timestamp for report folder needed to use more resolution than 1ms. Fixed using unique counter. Now folder has YYYYMMDD_HHMMSS
  18. NewAnalysis: when user turned on 'Pad and Align" but reference symbol does not exist in current database, an Error 76 is displayed.
    Regression in 6.49.1 - formulas with lots of AddToComposites could run slower, now changed idle processing so queue is emptied faster
  19. ReportExplorer: file re-reads/refreshes are 10x faster now
  20. ReportExplorer: in case of file sharing violation due to intermittient update of file by the other process, the message is quietly displayed in the status bar instead of modal blocking dialog box
  21. ReportExplorer: now uses hyper-fast list view implementation borrowed from AmiBroker. Results in 20x display performance improvement
  22. UI: Changed the way how "Start page" is displayed in the absence of other MDI windows to prevent opening more than one on loading layout
  23. UI: Filter dialog now provides instructions to press Clear to start over if filtering resulted in no symbols meeting selected criteria
  24. UI: Fixed crash when user attempted to make "Start page" floating
  25. UI: regression Log window did not show runtime errors from charts in 6.49.1. Fixed
  26. UI: Symbol bar, a context menu key on the keyboard (VK_APPS) brings up context menu (in addition to right click)
  27. UI: Symbol/Category view and Category dialog do not allow to set category names to empty (blank) - it will revert to default name if user attempted to remove name completely
  28. When weekly time compression was used, "MonthlyWeeklyUseAlwaysLastTradingDay" mode was used, Monday was not a trading day, and only Tuesday was present, then weekly bar had Monday timestamp instead of Tuesday. Fixed.

Previous discussion AmiBroker 6.49.1 BETA released


Note: if you are getting an error with EndValue() function, please re-download the setup again.

Thanks for the release. As I was going thru the stocks in one of my lists, I noticed that the chart shifts to the middle of available bars on some stocks. For example my last date for stocks is 7/5/24. I looked at INTC it displayed 7/5/24 as the last date. I got to MSFT it shifted left showing 2/28/05 as the last bar on the right land side. I had to hit the "End" key to move to 7/5/24.

Does it happen if Interpretation window is closed?

no, it seems to be related to Interpretation window.

Please re-download setup now and update. Should be working fine now.

Thanks, seems to be working fine.

Hello Tomasz,

thank you for your new release. i switch via ole other chart window periodicity. Now with current version 6.90 not visible chart windows switch periodicity correct but get stuck until actively visit. i did now a workaround to do same ole commands from an external exe via shellexecute and param transfer out of afl just in time.

Here my ole afl code, it is working correct with 6.49.1

ab = CreateObject( "Broker.Application" );
docs = ab.Documents();
doc = docs.item( 1 );
aw = doc.ActiveWindow();
doc.Interval = -1000050;

Best regards,

"Error: zoomed in or scrolled outside of available data set" message occurs
when you scroll or zoom in so there are NO data to display.
You have to do what is instructed "please scroll bar OR zoom out OR press HOME key".
Previously such situation could result in crash. I ensure you, that you are better off with the message displayed silently, than the crash.

If you are using OLE to change the chart viewing interval, make sure you use ZoomToRange to set zoom range properly after the change.

no smooth rollover as far as I am concerned. Waited for a few days. But there is a problem with linked charts. Will get back on it later this week since I am not here tomorrow. But I have some linked charts, linked SYMBOL and INTERVAL. The interval reverts back to the DAILY interval when I move to another symbol. Something changed that's for sure. In fact multiple things have changed. I had a link between symbol and interval. Interval is messed up.

Anyways will get back on it later this week. Imo if you do an upgrade then the basic setup should stay the same.

ok the anaylsis settings reverted back to daily. So sorted that. Linked charts working again.

It stays the same.

Running setup DOES NOT affect any of your settings.
Setup does NOT touch your broker.params or your formulas or your layouts or anything.
What setup does is replacing .exe and .dll files with newer versions.

UPDATE: as it turned out the settings were indeed NOT touched, but 6.90.0 tried to read them from "AmiBroker" registry key instead of "Broker" registry key previously used. Since new key did not exist, customizations got the default values.

ok thanks. Yes normally when I install the beta all is the same. Now there were some differences. No big deal I just didn't understand what was going on. In my case the toolbar menus setup was different and also some setiings in the Analysis window. The inputs there (analysis window) were different and also like "Sync chart select", "Wait for backfill RT" and these settings were different. So I did not recognize instantly what was going on. My first thought was that the chart sync did not work. But it was just that the settings had changed.

But no big deal. I reacted a bit too soon :slight_smile: sorry about that

AmiBroker 6.90.0 creates a new registry entry, but does not copy settings from ...\Broker


@jcorniko - very good find!

That is unpredictable side effect of changing one resource string (AFX_IDS_APP_TITLE). Unfortunately MFC (Microsoft Foundation classes) uses many undocumented / hidden connections/dependencies that affect things like registry names. Arghh....

So yet another workaround to implement.

I will post updated version soon that will use old registry key.

UPDATE (behind the scenes story):

As it turned out, people reporting here were right about problem with customization being reset to default.

The behind the scenes story is that I have made late minute cosmetic change of one resource string AFX_IDS_APP_TITLE from "Broker" (automatically assigned name by VC "wizard") to proper "AmiBroker".
I assumed that this string is only used in UI message boxes title and changing it is truly cosmetic and harmless . But that was wrong assumption. As it turned out deep in the Microsoft Foundation Classes (MFC) source files in CWinApp::SetRegistryKey, Microsoft copies that string into "profile name" that is used later for registry access. For that reason AmiBroker tried to read registry from HKCU\Software\TJP\AmiBroker instead of HKCU\Software\TJP\Broker used in previous versions. Since "AmiBroker" key did not exist, settings reverted to default. That was the reason of the behavior you described.

This is yet another example when seemingly innocent change has some ripple effect is some completely remote place.
MFC is unfortunately filled with such "surprises" (or better said "traps") documented nowhere.

So I am sorry that I wrote that this is antivirus fault because this time it wasn't. I guess that I am just getting old and stupid.


Replaced by: AmiBroker 6.90.1 Official Release

Please download and install version 6.90.1.

Please use version 6.90.1: AmiBroker 6.90.1 Official Release