AmiBroker 5.80.3 maintenance update

Stability: Rank 5 - Official Release, stable

This is a Official Release version.

A new maintenance update to official release (5.80.3) of AmiBroker has just been published.

32-bit version:
(9 089 816 bytes)

64-bit version:
(9 723 136 bytes)

ATTENTION: This version is free only for users who registered after May 8, 2012. See Upgrade Policy and Pricing section below for more details.

CHANGES FOR VERSION 5.80.3 (as compared to 5.80.2)

  1. When Customize was entered from editor frame and user browsed for bitmap image for the toolbar it could change current working directory. Fixed.
  2. Editing and saving some old charts formulas that were using absolute paths (instead of relative) did not cause immediate chart update. Fixed.
  3. GfxTextOut / GfxDrawText did not work well in new co-ordinate mode = 1. Fixed.

CHANGES FOR VERSION 5.80.2 (as compared to 5.80.0)

  1. UI: Status bar prompt for recent databases and recent files was incorrect. Fixed.
  2. When a formula that uses Category* functions is run inside commentary window, the symbol list is auto-refreshed now.
  3. When commentary window was open on completely empty database a crash could occur. Fixed.
  4. New Analysis: Progress bar is not hidden until custom portfolio backtest phase is completed
  5. AFL: when artithmetic operator was applied to variable that was uninitialized or having invalid type a crash could occur. Fixed.
  6. DB: If external data source set incorrect group or market or industry ID (lower than 0 or higher than 255) a crash could occur when updating symbol list. Fixed, incorrect data are switched back to zero and warning message is displayed.
  7. New Editor: when user changes the formula name and presses "Save" the editor now displays a confirmation dialog if file already exists
  8. Charting: X-axis grid calculation speeded up 3x (for large number of bars)
    When chart pane had NULL formula path attempt to edit formula or drag-drop it could cause crash. Fixed.
  9. New Editor: crash could occur when formula was Saved as..." for the first time outside "Formulas" folder and its subfolders. Fixed.
  10. AFL: Error 56 "Variable has an invalid type" added when variable has uninitialized type or type set to some strange value (plugins may cause this due to programmer error)
  11. AFL: in multithreaded charts unhandled exceptions where not caught inside indicator even though preferences setting was to catch them. Fixed.
  12. AFL: when formula is executed in "Indicator" mode the execution stops at very first error and this error is displayed as most relevant in the chart pane instead of last error which is usually not relevant (often side effect of previous errors)

CHANGES FOR VERSION 5.80.0 (as compared to 5.79.0)

  1. New Analysis: An error 709 is displayed when user specified so many Optimize() calls that search space is larger than 10^19 combinations (100 times more than the age of The Universe in seconds)
  2. New Analysis: progress bar update is forced so even if program is 100% busy the progress bar gets repainted
  3. New Analysis: "the analysis is in progress" text was not always cleared after analysis has completed. Fixed.
  4. New Editor: Param info is displayed even when there are spaces between identifier and opening brace
  5. New Editor: A full path to formula is displayed in the Status bar when mouse hovers over formula name edit
  6. New Editor: pressing ENTER just after identifier name resulted in auto-change case function ommitting first letter of the word. Fixed
  7. New Editor: added Window->Keep On Top menu (in separate frame mode)
  8. New Editor: Auto-complete pop up in immediate mode now does not appear when editing existing word in the middle, but it is available on demand (Ctrl+SPACE)
  9. AFL: increased maximum acceptable value for ThreadSleep function to 1000 ms, and added appropriate level2 warning
  10. AFL: Error 52 wording changed from 'argument must be positive' to 'argument must be greater than zero'
  11. UI: when any non-modal dialog was displayed, activation of the app always brought up main frame in front possibly hiding New Editor. Fixed.
  12. UI: removed "use new editor" option from Preferences window. New editor is always used now.
  13. UI: Main frame is now disabled (modal) when file dialog is open from AFL editor
  14. Pre-processor errors occuring in run-time caused that chart pane stopped refreshing. Fixed.
  15. Charts: Bar chart close/open ticks are by default one pixel smaller
  16. Weekly compression for Sunday data was off by one day for dates pre-1970. Fixed.
  17. Weekly compression now offers user-selectable "first day of the week" in File->Database Settings->Intraday Settings
  18. Application manifest modified to include compatibility section for Win 8.x
  19. Threads use current dir stored at application startup and resolve relative paths in AB, not to rely on Windows, so relative paths are resolved even if Windows changes dir

CHANGES FOR VERSION 5.79.0 (as compared to 5.78.0)

  1. New Editor: Inverting colors on printout did not work for many backgrounds. Now white color is always used for background, foreground colors are kept unchanged, except for white which is replaced with black
  2. New Editor: Changing formula name marks it as "modified" so Save icon becomes enabled
  3. New Editor: Edit->Clear error message menu item added in MDI mode
  4. New Editor: Save icon is now grayed when formula is not modified
  5. New Editor: when separate editor frame was minimized, choosing "Edit formula" did not restore frame back to normal (non-minimized) state. Fixed.
  6. New Editor: Fold/Unfold did not always work correctly. Fixed. Also Fold All folds on 1st level only, so it requires less clicks to unfold one section.
  7. New Editor: Copy as HTML automatically replaces white font with black. Also HTML is shorter (black text does not use tag) and coloring is forced, so long texts are correctly copied with colors.
  8. New Editor: relative paths caused problems with ReplaceFile API and FAT32, so relative paths are now converted to absolute prior to saving
  9. New Analysis now rejects attempts to use non-exhaustive optimization (OptimizeSetEngine) when number of exhaustive optimization steps is less than 100 (Error 708)
  10. DB: when, broker.groups, broker.workspace files were missing then markets and groups from previously loaded DB leaked to newly created/loaded db. Fixed - now they are always initialized with defaults. Also default market 0/group 0/sector 0/industry 0 is now labelled "Undefined"
  11. ASCII import: $MARKET and $GROUP commands allow to specify the name of market/group (after comma) to be updated during import
  12. UI: added File->Save All menu item to separate editor frame
  13. AFL: reverted change #2623 as it resulted in regression in custom portfolio backtest speeds
  14. Charts: Reverted #2621 change from 5.78.0 cached bitmap is now stretched when chart is resized while the formula is being run
  15. Persistent variables that were loaded from PresistVar.bin but not updated by the formula were removed on next start. Now they are kept.

CHANGES FOR VERSION 5.78.0 (as compared to 5.77.0)

  1. Prefs: "Use new editor" is now always turned ON at the start of application.
  2. Low Level Gfx: performance improved for formulas making thousands of calls to Gfx functions (3x speed up for 200K calls)
  3. Charts: cached bitmap is now stretched when chart is resized while the formula is being run
  4. On saving broker.newcharts file a backup file is created prior to saving. Then on startup in case broker.newcharts is corrupted, a backup file is used instead
  5. New Editor: when auto-complete was in immediate mode typing xx.a resulted in xx.AddCustomMetric to be shown immediately. Fixed - now in 'immediate' mode single-selection choices are not auto-completed without user consent.
  6. New Editor: when user selected black background the colors on printout are inverted to save toner/ink. Also added File->Print/Print Setup menu item.
  7. New Editor: on application close editor window frame is closed first instead of last. This gives more 'graceful' exit.
  8. New Editor: on dark backgrounds unmatched brace is displayed in lighter blue color (instead of dark blue) for better visibility
  9. New Editor: Autocomplete listbox is now dismissed when user drags separate editor frame or MDI child frame
  10. New Editor: now it uses application theme instead of hard-coded "VS2010" theme
  11. New Editor: auto complete does not try to pop up in file paths in #includes. Also improved auto-complete operation in the very last line.
  12. New Editor prints debug string when saving document in order to diagnose possible issues with FAT32/WinXP
  13. Sometimes crash occured on Window->Floating command when Interpretation window was open. Fixed.
  14. UI: Window->Toggle Frame restores window from icon state (if was minimized) now.
  15. UI: added View->Fold / Unfold, Margin menu items in the MDI editor menu
  16. UI: Charts file treeview gets refreshed when saving AFL to any folder, not only 'Custom'
  17. UI: Customize keyboard page now displays an error message on attempt to create shortcuts with A-Z letters and 0-9 digits without Ctrl/Shift/Alt modifiers to prevent clash with the editor
  18. UI: AFL formulas are saved in separate MRU (most recently used) list (File->Recent Formulas) so they do not interfere with other document types using Recent File list

CHANGES FOR VERSION 5.77.0 (as compared to 5.76.0)

  1. New Editor: 'Use separate frame' mode implemented (Tools->Preferences, "Editor" to turn this off and open as tab in main frame)
  2. New Editor: Toolbar customization functionality added
  3. UI: Window->Toggle Frame menu/shortcut added to quickly switch between main and separate editor frame
  4. UI: Window menu reordered (Tile/Cascade items moved up)
  5. New Editor: in 5.76 pressing Help button on dialogs when new editor was open, directed help file to 'formula editor' page instead of given dialog help file. Fixed.
  6. New Editor: On dark backgrounds the selection is darker than it was before
  7. New Editor: typing non-US characters is now working
  8. New Editor: Copy As HTML implemented
  9. New Editor: added ability to turn off line number margin, selection margin, fold margin (from View menu)
  10. New Editor: added View->Fold All / Unfold All commands
  11. New Editor: when relative paths were used sometimes auto-reload and auto-save before analysis did not work. Fixed.
  12. New Editor: Caret Ln/Col position is displayed in the status bar
  13. New Editor: Closing top error message bar clears ALL in-line error messages
  14. New Editor: added Edit->Clear Error message menu (Ctrl+E) - it clears an error(s) in currently selected line/range
  15. New Editor: The width of line number margin is automatically adjusted with regards to font size and line count and zoom level
  16. New Analysis: Progress bar is shown/hid quicker

CHANGES FOR VERSION 5.76.0 (as compared to 5.75.0)

  1. New Editor: Auto-complete has now 3 modes: disabled, on-demand (shows auto complete list when you press Ctrl+SPACE as in old editor) and immediate (auto-complete pops up immediately)
  2. New Editor: Auto change case and auto parameter info features can be turned off from the preferences
  3. Prefs: Editor page changed: added "Virtual space" checkbox, replaced "Auto-complete" box with 3-way selection radio buttons, removed 2 options that are always on now
  4. New Editor: File is saved automatically when it is open in Analysis window and analysis is run
  5. UI: leftover and/or user-defined keyboard accelerators for HOME/END/PAGE UP/DOWN, letters and digits without Ctrl/Alt modifier are removed on startup not to interfere with the editor
  6. UI: Ctrl+F added to default key accelerators
  7. New Editor: Implemented user-defined colors/styles/font (from Tools->Preferences, "Editor").
  8. New Editor: Implemented Help features (access to help pages Function reference, Using AFL Editor, Param info, etc)
  9. New Editor: Chart tree is auto-refreshed when formula is saved under new name (Save As...)

CHANGES FOR VERSION 5.75.0 (as compared to 5.74.0)

  1. Brand new AFL Editor, integrated with MDI structure with many new features
    • line numbering
    • code folding
    • automatic indent
    • indentation markers
    • brace highlighting
    • improved auto-complete
    • in-line error reporting / highlight
  2. New Analysis: few messages displayed in modal message box were moved to message bar
  3. UI: Active state is tracked separately for each document type (so there is 'last active chart' , 'last active analysis") to allow functioning of new editor
  4. ADK: InfoSite added to the PluginNotification structure (Notify API callback)
  5. AFL: Parser tracks position of some operators better so errors and warnings should show locations more precisely (for example Warning 501 points to = sign now)
  6. AFL: Parser produces more descriptive "Syntax error, indentifier 'name' is undefined " or "... is not a function" when it encounters a function call for undefined identifier or indentifier that is a variable. Previously it returned 'syntax error, unexpected '('
  7. UI: removed global user-definable accelerators for Chart/Pageup/down/home/end because they interferred with new AFL editor. Instead chart page/up/down/home/end implemented locally (work only when chart has focus)

CHANGES FOR VERSION 5.74.0 (as compared to 5.73.0)

  1. AFL Editor: Code snippets implemented (phase 1). Code snippet is a small piece of AFL code. It can be inserted by right-clicking in the AFL editor window and choosing "Insert Snippet" menu
  2. AFL: Low level GFX: Multi-layering (z-order) implemented. AFL: GfxSetZOrder implemented
  3. AFL: Low-level GFX: radius in GfxCircle() function is expressed in "X" units (so it actually draws circle instead of ellipse when coords mode is 1). Additionally you can specify radius in pixels even in co-ords mode = 1. To do so pass radius as NEGATIVE number. Also one pixel is now added to the rounding box so circle is centered at "x,y".
  4. AFL: Low level GFX: in 5.73.0 the pixel co-ordinates were rounded differently than in 5.72 and earlier. Fixed.
  5. AFL: Low level GFX: new function GfxGetTextWidth - returns pixel width of specified string. NOTE: it is slow because it has to create temporary DC and font to measure the text. It takes 40us (microseconds), that is about 40 times more than other Gfx functions.
  6. AFL: fopen - new parameter: 'sharing' decides whenever file is open in sharing mode or not. When sharing is True a file is prepared for subsequent shared reading and writing.
  7. UI: Added "Name" (full name) column to Real-time quote window
  8. AFL: Implemented user control over Y-axis cursor and tooltips by means of new option chartDisableYAxisCursor, chartDisableTooltips added to SetChartOptions

CHANGES FOR VERSION 5.73.0 (as compared to 5.72.0)

  1. AFL: new GfxSetCoordsMode - rewritten Low-Level Gfx to allow fractional coords and bar/price co-ords mode in addition to pixel
  2. AFL: SetOption("StaticVarAutoSave", interval ) - added to allow periodical auto-saving of persistent static variables
  3. Charts: functions calculating day offset support years > 2038 and are now much faster
  4. Charts: Cycle Lines tool has drawn lines in weird places when using very long cycles that resulted in lines being positioned beyond 2038. Fixed.
  5. UI: added View->Price chart style->Bars without ticks
  6. Change #2534 made in 5.71.0 (allowing Null for Close field in bar chart) created backward compatiblity issue. Reverted. Instead a new styleBarNoTick introduced that allows to plot bar chart without open/close ticks
  7. New Analysis: when Non-exhaustive Optimize was used on symbol without any quotes, UI displayed error and remained disabled and it was not possible to re-run non-exhaustive opt. Fixed.
  8. New Analysis: Backtest: Profit figures are color-coded now (negative - red/positive - green)

CHANGES FOR VERSION 5.72.0 (as compared to 5.71.0)

  1. AFL: new feature: high-performance Persistent Static variables implemented (StaticVarSet and StaticVarSetText has new parameter 'persist' - if it is set to True then static variable will be stored in PersistVars.bin file when AmiBroker is closing and reloaded automatically on next startup, preventing the values of static variables between application runs)
  2. 64-bit optimizer plugins: fixed issue in SPSO/Tribes with OptimizeSetOption not working correctly
  3. UI: Interpretation and Notepad windows do not flicker anymore when they are resized
  4. ASCII importer: added $USEONLYLOCALDB command
  5. Symbol pane full-text search is user-configurable (from options menu) and now supports searching by alias, address, country (in addition to search by symbol and full name).

CHANGES FOR VERSION 5.71.0 (as compared to 5.70.0)

  1. AFL: PlotText() now has additional parameter yoffset: PlotText( "text", x, y, color, bkcolor = colorDefault, yoffset = 0 )
  2. AFL: PlotTextSetFont( "text", "fontname", pointsize, x, y, color, bkcolor = colorDefault, yoffset = 0 )
  3. ASCII importer: now company address can be imported ($ADDRESS command and new ADDRESS field in the $FORMAT command)
  4. ASCII importer: NULL can be specified as date in several date fields such as delisting date, dividend date,etc. This results in date being cleared (unset).
  5. Charts: Y-axis grid can now be finer than 0.0001 (#125281) - upto 6 decimal digits (0.000001) are displayed when needed
  6. Charts: Null values in Open/Close fields now disable drawing of open/close ticks in the bar chart (PlotOHLC function)
  7. UI: Last pane height does not change on window resizing after pane resize anymore.
  8. New Analysis: in Windows 7 and 8 the progress of scan/backtest/exploration/optimization is also shown in Windows Taskbar, so it is visible even if AmiBroker window is minimized or covered by other windows
  9. New Analysis: Backtest report settings: added option NOT to include Formula in the report (for security purposes)
  10. New Analysis: Horizontal scroll bar is refreshed after HTML import
  11. Prefs: Currency tab, added option "Trade using FX cash conversion" to handle different ways to calculate profits depending on whenever foreign currency is borrowed or cash actualy exchanged


  1. No known.


The upgrade to version 5.80 RC1 and subsequent official version 5.80 is FREE for all users who purchased AmiBroker after May 8, 2012.
The users who purchased AmiBroker before May 9, 2012 would need to buy upgrade if they want to use this newest version ($139 – Standard Edition, $169 – Professional). If you don’t want to pay – you may continue using previous version(s) infinitely.
To find out when you have purchased AmiBroker and how long your free upgrade period is, use “Account Information” page in the members area at:

To purchase new license or upgrade please use our ordering page at:

For more details, instructions and examples how to use new features see the 5.80.2 READ ME