AmiBroker 6.28.0 BETA released


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


32-bit version:
(2 349 088 bytes)

64-bit version:
(10 687 792 bytes)


DevLog announcement:

Read Me:


This version is a free upgrade only for users who registered AmiBroker after February 17, 2016. 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.28.0 (as compared to 6.27.1)

  1. AFL: AddToComposite will issue error 69 if user passes field code other than “O”, “H”, “L”, “C”, “V”, “I”, “1”, “2”, or “X”
  2. AFL: another protection for users shooting themselves in the foot: AddToComposite will issue error 68 when user passes invalid symbol string (empty or with characters like comma or new line or tab)
  3. AFL: improved type checking for bad type of array arguments
  4. AFL: New warning 508 is displayed if same category type is used multiple times in the Filter settings window and formula calls GetOption(“FilterInclude*”) or GetOption(“FilterExclude*). Code using such statements is incorrect for such filters.
  5. AFL: now you can pass references as arguments to built-in funcitons and they will be automatically dereferenced (“by value” sematics enforced)
  6. AFL: user-defined functions that return matrix reclaim memory faster than before to avoid large memory consumption on super-long loops calling them
  7. AFL: VarGet was not working properly with matrices on 64 bit version. Fixed.
  8. AQ: 3.29 – when current working directory is set incorrectly it sets it back to where it should be. Correct working dir is required for relative paths to work
  9. Backtest: interest earned on cash balances and charged on margin load is reported separately in backtest report now (if non-zero)
  10. Core: sizes of some hash tables increased to speed up lookups
  11. enable_static_decl created prefixes in original case (both upper and lowercase). 12. Since StaticVar* functions always use lowercase names this made them unable to read declared statics other than all lowercase. Now declared variables are internally lowecase
  12. Gui control custom colors – defaults changed to use Windows default “hot” color (blue) for hover outline and (hover + selected) state is now drawn with hover border and text but ‘selected’ background
  13. GuiGetCheck returned 0 on owner draw toggle (custom colors) due to Windows limitation. Fixed.
  14. IB plugin: right mouse button click : Backfill Current was causing exception for symbols longer than 26 letters. Fixed. (Version 2.0.10)
  15. If user formula had run-time errors and produced zero trades the “Info” tab issued “Reporting has been turned off by SetOption” since there was no report generated but not because of option, but because of formula error. Fixed (the message is not displaye
  16. IQFeed: in mixed mode EOD data got preference if there is not enough room to fit all intraday and all eod in defined “number of bars”
  17. New Analysis: added ‘notices’ to Info tab that inform the user about potential problems and recommended actions. Currently one notice is displayed when user tries to use ranking or composites without enabling padding. Will add more notices in the future
  18. New Analysis: progress bar will not display “remaining time” until at least one step is completed. Also if remaining time is > 2 billion years it will display (unknown), and will report remaing time in million years if necessary (for example when user star
  19. Setup 64-bit: program and all plugins use newest compiler and newest VC++2017 runtime
  20. Setup 64-bit: activation key should work without installing VC2005 runtime
  21. UI: “OK” button appears on splash screen only if it does not auto-close

This thread continues the from AmiBroker 6.27.1 BETA released

Ref function not working on arguments passed by reference
AmiBroker 6.27.1 BETA released

A backtest that takes 2 billion years. Then you find out you ran it on the wrong symbol.


Regardless how much unbelievably it sounds, there were users who attempted to run such kind of optimizations and complained about "bug" that caused incorrect estimate for periods larger than 2 billion years.
Many times I found out that I can't count on user's common sense.


Haha. The users are still your customers. Do be patient with them. Just laugh it off.
I have been using the latest version. so far, so good.


I am not complaining... just explaining seemingly strange "improvement".


I understand why you'd do it. It's all good.

I was just adding some humour.