AmiBroker 6.39.0 RC released

A new release candidate version (6.39.0) of AmiBroker is available now.


32-bit version:
(10 315 168 bytes)

64-bit version:
(10 917 592 bytes)


DevLog announcement:

For the details see ReadMe.html and ReleaseNotes.html inside AmiBroker folder.


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


6.39 provides 30 new features and enhancements

  • AFL editor enhancements
  • new AFL functions
  • support for gzip and deflate compression in Internet functions
  • in-place matrix copy
  • backtester enhancements
  • improved text tool with per-study selectable font size
  • new 8-digit ICB structure
  • plugin interface backward compatibility with changing function signatures
  • improved performance
  • more runtime checks to prevent user errors and other fixes

CHANGES FOR VERSION 6.39.0 (as compared to 6.38.0)

  1. 64-bit: AmiBroker, AmiQuote, AFL Code Wizard migrated to newest VC++ 2019 for even better performance
  2. AFL Editor: @link commands are executed at mouse up (instead of previous mouse down) to prevent unwanted text selection when message boxes are dismissed
  3. AFL Editor: call tips (parameter information tooltips) now provide extra description about the function and its parameters (as of v6.39 only 20 functions have this extra info)
  4. AFL Editor: debugging session is automatically terminated with appropriate notice when user attempts to edit the code during debugging (this saves mouse clicks that were needed to stop debug session in order to edit)
  5. AFL Editor: previously when no text was selected and Prettify Code was choosen, the message box caused main frame to get focus instead of focus staying in AFL frame. Fixed
  6. AFL Editor: when an runtime error is detected debugging session the message bar shows now number of detected errors (as it did previously during normal "verify"
  7. AFL Editor: when dark mode list views are used watch window default text color was black making it hardly visible, changed to white
  8. AFL/CBT: AmiBroker now displays an error when user passes incorrect bar number to ProcessTradeSignals() instead of silently skipping wrong arguments
  9. AFL: added protection against assigning wrong types to some built-in variables such as *Price arrays. If wrong type is assigned the error 71 Type mismatch in assignment is displayed
  10. AFL: ADX() function vectorized in 64-bit version (2x faster than before)
  11. AFL: backtester crashed when user incorrectly assigned string value to BuyPrice/ShortPrice/CoverPrice arrays. Fixed.
  12. AFL: Error("text", stop=False) function - added extra parameter to stop execution regardless of "stop execution at first error" preference setting
  13. AFL: FindIndex( array, value, start_from = 0, dir = 1 )
  14. AFL: If warning level >= 3, InternetOpenURL() function now displays a warning 507 if OS generated exception when accessing remote resource, the same way as InternetPostRequest
  15. AFL: increased calculated bar requirements for Wilders() function for better conformance with QuickAFL
  16. AFL: Last OS error code is set by Internet* functions regardless of warning level so you can always retrieve it using GetLastOSError()
  17. AFL: MA( C, BarCount ), StDev( C, BarCount ) return non-Null value
  18. AFL: new field added to SetOption/GetOpion function calls "MaxPosValue" (per backtest setting)
  19. AFL: new function InternetSetHeaders( "headers" ) - set custom HTTP headers for subsequent web requests
  20. AFL: new function InternetSetOption( option, value ) - set HTTP option for internet session
  21. AFL: new function MxCopy - for copying rectangular blocks from one matrix to the other (copy portions of one matrix to the other matrix)
  22. AFL: new function: _exit() - that gracefully ends AFL execution at the point of the call
  23. AFL: new function: InternetGetStatusCode function - returns HTTP status code of last InternetOpenURL or InternetPostRequest call
  24. Analysis/Backtest: added "Max. position value" option in the settings allowing to specify maximum dollar value of position. Zero (0) means no maximum. Positions larger will be shinked (if shrinking is enabled) or won't be entered at all (if shrinking is d
  25. Charts/Preferences: added Text Tool font setting independent from Axis font (Preferences->Miscellaneous page)
  26. Charts: Text Box tool supports user-selectable font size now (selectable in Study Properties window)
  27. Database: new 8-digit ICB structure implemented:
  28. Got rid of obsolete "Request data on save" setting that wasn't performing as expected
  29. Plugin interface: added compatibility layer allowing old plugins to safely call functions even when they have modified signature (added new default parameters). When plugin calls function with less than expected number of arguments, missing some of defaul
  30. When variable was passed to user function by reference, ++ operator inside had no effect on referenced variable (outside of function). Fixed.

For list of changes in the previous version 6.38 see: AmiBroker 6.38.0 RC released


Tomasz, apart from all other improvements, thank you for expanding Internet functions. I find them very useful!


This version is superseded by 6.39.1 available now: AmiBroker 6.39.1 RC released

Discussion is continued here: AmiBroker 6.39.1 RC released