AmiBroker 6.03.0 BETA released

Stability: Rank 3 - Regular BETA, pretty stable, should work fine in most environments

This is a BETA version. Make a backup first

A new beta version (6.03.0) of AmiBroker has just been released.

32-bit version:
(2 354 368 bytes)

64-bit version:
(10 101 672 bytes)

If you can not log in into members' area please get your new password by filling the form at:

IMPORTANT: Unauthorized copying and/or distribution of materials found on members' only page is STRICTLY PROHIBITED and will result in IMMEDIATE termination of license.

Note that this version can only be installed onto previous full installation of version 6.00 or higher from

This version contains a brand new AFL visual debugger. Detailed description of how to use the debugger is provided here:

CHANGES FOR VERSION 6.03.0 (as compared to 6.02.0)

  1. AFL Editor: Implemented fully integrated Visual AFL Debugger. Note: this is work in progress and more things are to come
  2. Debugger: Implemented breakpoints (including those set before compilation as well as adding/removing breakpoints during debugging)
  3. Debugger: Implemented single-stepping Step Into, Step Over
  4. Debugger: Implemented variable value inspection tooltips (hover mouse over variable to see its value)
  5. Debugger: Implemented Watch window with variable value display automatically updating when debugger single-steps or reaches breakpoint
  6. AFL: Sum(array,N) outputs NULL values for indices starting from 0 upto index N-1 instead of N
    Renaming of PersistVars.temp to PersistVars.bin failed on some versions of OS. Fixed.
  7. RT Quote window: drag-drop list view shows small arrow marker for the drop point now.
  8. RT Quote window: when moving items using drag-drop, moved items image was flickering. Fixed
  9. UI: Chart zoom via Ctrl+mouse wheel now works so it attempts to current mouse position as a "center" point of zoom when possible. (Previously it always worked so right border was the 'center').
  10. When intraday data were used timestamp of 00:00:00 was not displayed in data tooltip (empty field was shown). Fixed.

CHANGES FOR VERSION 6.02.0 (as compared to 6.01.0)

  1. AFL Editor: Implemented Line comment/uncomment feature (Edit->Line Comment, Ctrl+Q) to automatically add/remove // line comments from single or multiple lines
  2. AFL: If any matrix cell has Null value then matrix product operator @ produces Null respective row/column of the result matrix.
  3. AFL: if user called (a) GetPerfomanceCounter( 1 ) then (b) GetPerformanceCounter( 0 ) then subsequent call to GetPerformanceCounter(0) returned cumulated time not from call (a) but from system boot. Fixed.
  4. AFL: matrix identifier can now be used in if-else statement. Such condition checks whenever very first element of matrix [0][0] is NOT NULL. This is useful for checking output of functions like MxInverse/MxSolve that would return NULL in all cells if matrix is singular
  5. AFL: MxSolve/MxInverse now return a matrix filled with Nulls as a result if source matrix can not be inverted and produce warning level 2 instead of an error.
  6. AFL: On Windows Vista and higher static variables use slim read-write (SRW) lock instead of critical section. This gives 5% performance increase in multithreading scenarios.
  7. AFL: StaticVarAdd( "name", value, keepAll = True, persistent = False ) - an atomic addition (interlocked read-add-write) operation for static variables
  8. AFL: Study() returned NULL array when line's start date was greater than end date. Fixed (now it works for lines drawn from right to left too).
  9. Docs: Example polynomial fit formula shows how to gracefully handle singular matrix and overflow/not-a-numbers in polynomial calcs
  10. Persistent static variables are now saved to PersistVars.temp and once write is successful the file is renamed to PersistVars.bin. This is to prevent data loss when writing very large sets of persistent variables.
  11. When more than one error is detected in single line of the formula then the first error message is displayed instead of last one in chart/commentary/analysis.

CHANGES FOR VERSION 6.01.0 (as compared to 6.00.2)

  1. AFL: MxDet( mx, method = 0 ) - calculates determinant of the matrix
  2. AFL: MxFromString() - creates a new matrix out of string in Mathematica/Wolfram list-style: "{ { 1, 2, 3 }, { 4, 5, 6 } }" or Matlab/Maple style "[ [ 1, 2, 3 ], [ 4, 5, 6 ] ]" or GNU Octave comma-semicolon style [ 1, 2, 3; 4, 5, 6 ]
  3. AFL: MxGetBlock( matrix, startrow, endrow, startcol, endcol, asArray = False )
  4. AFL: MxInverse( mx ) - calculates inverse of the matrix
  5. AFL: MxSetBlock( matrix, startrow, endrow, startcol, endcol, values = 0 )
  6. AFL: MxSolve( A, B ) - solves linear equation system A@X = B
  7. AFL: MxSort( mx, dim = -1, ascening = True ) - sorts the matrix
  8. AFL: MxSortRows( mx, ascending = True, col1 = 0, col2 = -1, col3 = -1 )
  9. AFL: MxToString - creates string out of matrix variable in the Wolfram list style like this (for 3x3 matrix): { { x00, x01, x02 }, { x10, x11, x12 }, { x20, x21, x22 } }


  1. Debugger and Watch window are currently working in the 'separate frame' editor mode only


  1. Debugger: automatically saving/restoring breakpoints and watches between sessions in xml file
  2. Debugger: exploration-like full array display in separate tab in Watch window
  3. Debugger: output window (for printf output)
  4. Debugger: display all elements of matrices in value inspection tooltips / watch window
  5. Debugger: (maybe) simple expression evaluator for watch window
  6. Debugger: MDI mode


To use debugger, open your formula in the Formula Editor, place few breakpoints (red circle/F9 key), add some variable names to watch (open watch window using Window->Watch menu, add variable names by double clicking on the end of the list). Then start debugging (Debug->Go), once breakpoint is hit, you can hover the mouse over the variables to see their value, single step (F10/F11) and examine values in the watch window.

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

Detailed description of the debugger is available here:

Comments are closed.