amibroker

HomeDevLog

AmiBroker 6.06.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.06.0) of AmiBroker has just been released.

32-bit version:
http://www.amibroker.com/members/bin/ab6060beta.exe
(2 368 184 bytes)

64-bit version:
http://www.amibroker.com/members/bin/AmiBroker6060x64.exe
(10 115 280 bytes)

If you can not log in into members' area please get your new password by filling the form at: http://www.amibroker.com/login.html

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

Remember to BACKUP YOUR FILES FIRST !
Note that this version can only be installed onto previous full installation of version 6.00 or higher from http://www.amibroker.com/download.html

HOW TO USE NEW FEATURES
This version contains a brand new AFL visual debugger. Detailed description of how to use the debugger is provided here: http://www.amibroker.com/guide/h_debugger.html

CHANGES FOR VERSION 6.06.0 (as compared to 6.05.0)

  1. AFL Editor: Bookmarks implemented (Ctrl+F2 - toggle bookmark, F2 - go to next bookmark, Shift+F2 - go to previous bookmark
  2. AFL Editor: Find in Files - when file name contained braces () double click on it would not open it. Fixed.
  3. AFL Editor: Line comment puts double // comments on lines that appear after empty line. Fixed. Now empty lines are left untouched.
  4. AFL: extra parameter for DateTimeToStr function mode (mode = 0 - convert both date and time portion, 1 - only date, 2 - only time ) Note that mode 2 would give you empty string when applied on chart with daily or longer interval
  5. AFL: new function GfxFillSolidRect( x1, y1, x2, y2, color ) - it is fastest method to fill solid rectangle with single color (faster than GfxRectangle)
  6. AFL: new function SumSince - a fast sum of array elements since condition was true, works like Cum( array ) - ValueWhen( condition, Cum( array ) ) or Sum( array, BarsSince( condition ), but much faster
  7. AFL: Variable period Sum() performance improved significantly when period changes +/-1 on bar by bar basis
  8. Categories dialog: added ability to re-arrange the order of markets/groups/sectors/industries and watch lists using "Move Up" / "Move down" buttons
  9. New Analysis: Added an option "Auto-size columns to fit content" - OFF by default. When turned on, column widths are adjusted to fit the content after analysis is complete. Note that this means that any widths specified in width parameter in AddColumn will be ignored if this option is ON.
  10. New Analysis: when "Wait for backfill" was turned ON and some symbols in the "Apply to" list were wrong (non-existing) then Analysis attempted to run code for symbol without quotes causing trouble. Fixed.

CHANGES FOR VERSION 6.05.0 (as compared to 6.04.0)

  1. AFL Editor Find in Files implemented - on the output list you can double click on line to open the file in the editor
  2. AFL Editor/Debugger: Code Check and Profile stopped working when it was run after debugging session. Fixed.
  3. AFL: Null is accepted by MxFromString now
  4. AFL: performance of printf() for large volume output (>60000 characters) improved ~60 times.
  5. Charts: reduced tearing when resizing the chart window
  6. Debugger now can use either base time interval or current chart interval (Tools->Preferences, Debugger tab, "Bar interval" setting)
  7. Debugger: implemented Output window (for printf() output during debugging)
  8. Removed old-style legacy AFL editor from the code, removed "use new editor" checkbox from the preferences. A new editor is used always now.
  9. UI: Unfold triangles in tree views and checkboxes in Layers list were hard to click on HighDPI screens because icons were too small. Fixed.
  10. Watch window: now expressions with 2D subscripts to access elements of matrix matrix[ x ][ y ] are supported

CHANGES FOR VERSION 6.04.0 (as compared to 6.03.0)

  1. AFL Editor & Watch Window: the contents of matrices is now displayed in value tooltips and watch window
  2. Debugger state (watch variables/expressions and breakpoint locations) is now saved between AFL editor sessions (formula-wise so each formula has its own "debug state"). The data are saved in XML file with .dbg extension
  3. Debugger: MDI mode implemented. In 6.0.3 AFL Editor did not support 'MDI mode' (even crashed), now this functionality is back. Also Watch window is available in MDI mode and debugger is working in MDI mode too.
  4. Preferences: added new page with Debugger settings.
  5. Preferences: 'Editor' tab moved so 'AFL', 'Editor', and 'Debugger' tabs are next to each other, also 'Alerts' and 'Currencies' tabs moved before 'Miscellaneous'
  6. Watch window: a new tab "Arrays" shows exploration-like array output for detailed examination of array contents (first 20 arrays from watch window are reported)
  7. Watch window: implemented array item change highlighting and auto-scrolling so first changed item is always visible in the 'Arrays' tab
  8. Watch window: implemented expression evaluator, so you can not only display variables, but also expressions involving variables such as (high+low)/2 or individual array elements such as myvariable[ i ] where i is dynamic loop counter
  9. Watch window: implemented value change highlighting: changed values are displayed with light yellow background, additionally numeric (scalar) values are displayed in green when they increased or red if they are decreased
  10. Watch window: pressing DELETE key while editing variable name caused deletion of variable from watch. Fixed.
  11. Watch window: variables can now be drag-dropped from AFL editor window

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 } }

KNOWN ISSUES:

  1. None

GETTING STARTED WITH DEBUGGER

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.06.0 BETA READ ME

Detailed description of the debugger is available here:
http://www.amibroker.com/guide/h_debugger.html

AmiBroker 6.05.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.05.0) of AmiBroker has just been released.

32-bit version:
http://www.amibroker.com/members/bin/ab6050beta.exe
(2 365 088 bytes)

64-bit version:
http://www.amibroker.com/members/bin/AmiBroker6050x64.exe
(10 111 936 bytes)

If you can not log in into members' area please get your new password by filling the form at: http://www.amibroker.com/login.html

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

Remember to BACKUP YOUR FILES FIRST !
Note that this version can only be installed onto previous full installation of version 6.00 or higher from http://www.amibroker.com/download.html

HOW TO USE NEW FEATURES
This version contains a brand new AFL visual debugger. Detailed description of how to use the debugger is provided here: http://www.amibroker.com/guide/h_debugger.html

CHANGES FOR VERSION 6.05.0 (as compared to 6.04.0)

  1. AFL Editor Find in Files implemented - on the output list you can double click on line to open the file in the editor
  2. AFL Editor/Debugger: Code Check and Profile stopped working when it was run after debugging session. Fixed.
  3. AFL: Null is accepted by MxFromString now
  4. AFL: performance of printf() for large volume output (>60000 characters) improved ~60 times.
  5. Charts: reduced tearing when resizing the chart window
  6. Debugger now can use either base time interval or current chart interval (Tools->Preferences, Debugger tab, "Bar interval" setting)
  7. Debugger: implemented Output window (for printf() output during debugging)
  8. Removed old-style legacy AFL editor from the code, removed "use new editor" checkbox from the preferences. A new editor is used always now.
  9. UI: Unfold triangles in tree views and checkboxes in Layers list were hard to click on HighDPI screens because icons were too small. Fixed.
  10. Watch window: now expressions with 2D subscripts to access elements of matrix matrix[ x ][ y ] are supported

CHANGES FOR VERSION 6.04.0 (as compared to 6.03.0)

  1. AFL Editor & Watch Window: the contents of matrices is now displayed in value tooltips and watch window
  2. Debugger state (watch variables/expressions and breakpoint locations) is now saved between AFL editor sessions (formula-wise so each formula has its own "debug state"). The data are saved in XML file with .dbg extension
  3. Debugger: MDI mode implemented. In 6.0.3 AFL Editor did not support 'MDI mode' (even crashed), now this functionality is back. Also Watch window is available in MDI mode and debugger is working in MDI mode too.
  4. Preferences: added new page with Debugger settings.
  5. Preferences: 'Editor' tab moved so 'AFL', 'Editor', and 'Debugger' tabs are next to each other, also 'Alerts' and 'Currencies' tabs moved before 'Miscellaneous'
  6. Watch window: a new tab "Arrays" shows exploration-like array output for detailed examination of array contents (first 20 arrays from watch window are reported)
  7. Watch window: implemented array item change highlighting and auto-scrolling so first changed item is always visible in the 'Arrays' tab
  8. Watch window: implemented expression evaluator, so you can not only display variables, but also expressions involving variables such as (high+low)/2 or individual array elements such as myvariable[ i ] where i is dynamic loop counter
  9. Watch window: implemented value change highlighting: changed values are displayed with light yellow background, additionally numeric (scalar) values are displayed in green when they increased or red if they are decreased
  10. Watch window: pressing DELETE key while editing variable name caused deletion of variable from watch. Fixed.
  11. Watch window: variables can now be drag-dropped from AFL editor window

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 } }

KNOWN ISSUES:

  1. None

GETTING STARTED WITH DEBUGGER

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.05.0 BETA READ ME

Detailed description of the debugger is available here:
http://www.amibroker.com/guide/h_debugger.html

AmiBroker 6.04.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.04.0) of AmiBroker has just been released.

32-bit version:
http://www.amibroker.com/members/bin/ab6040beta.exe
(2 363 888 bytes)

64-bit version:
http://www.amibroker.com/members/bin/AmiBroker6040x64.exe
(10 111 984 bytes)

If you can not log in into members' area please get your new password by filling the form at: http://www.amibroker.com/login.html

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

Remember to BACKUP YOUR FILES FIRST !
Note that this version can only be installed onto previous full installation of version 6.00 or higher from http://www.amibroker.com/download.html

HOW TO USE NEW FEATURES
This version contains a brand new AFL visual debugger. Detailed description of how to use the debugger is provided here: http://www.amibroker.com/guide/h_debugger.html

CHANGES FOR VERSION 6.04.0 (as compared to 6.03.0)

  1. AFL Editor & Watch Window: the contents of matrices is now displayed in value tooltips and watch window
  2. Debugger state (watch variables/expressions and breakpoint locations) is now saved between AFL editor sessions (formula-wise so each formula has its own "debug state"). The data are saved in XML file with .dbg extension
  3. Debugger: MDI mode implemented. In 6.0.3 AFL Editor did not support 'MDI mode' (even crashed), now this functionality is back. Also Watch window is available in MDI mode and debugger is working in MDI mode too.
  4. Preferences: added new page with Debugger settings.
  5. Preferences: 'Editor' tab moved so 'AFL', 'Editor', and 'Debugger' tabs are next to each other, also 'Alerts' and 'Currencies' tabs moved before 'Miscellaneous'
  6. Watch window: a new tab "Arrays" shows exploration-like array output for detailed examination of array contents (first 20 arrays from watch window are reported)
  7. Watch window: implemented array item change highlighting and auto-scrolling so first changed item is always visible in the 'Arrays' tab
  8. Watch window: implemented expression evaluator, so you can not only display variables, but also expressions involving variables such as (high+low)/2 or individual array elements such as myvariable[ i ] where i is dynamic loop counter
  9. Watch window: implemented value change highlighting: changed values are displayed with light yellow background, additionally numeric (scalar) values are displayed in green when they increased or red if they are decreased
  10. Watch window: pressing DELETE key while editing variable name caused deletion of variable from watch. Fixed.
  11. Watch window: variables can now be drag-dropped from AFL editor window

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 } }

KNOWN ISSUES:

  1. None

THINGS NOT IMPLEMENTED YET BUT PLANNED FOR FEW NEXT BETAS:

  1. Debugger: output window (for printf output)

GETTING STARTED WITH DEBUGGER

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.04.0 BETA READ ME

Detailed description of the debugger is available here:
http://www.amibroker.com/guide/h_debugger.html

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:
http://www.amibroker.com/members/bin/ab6030beta.exe
(2 354 368 bytes)

64-bit version:
http://www.amibroker.com/members/bin/AmiBroker6030x64.exe
(10 101 672 bytes)

If you can not log in into members' area please get your new password by filling the form at: http://www.amibroker.com/login.html

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

Remember to BACKUP YOUR FILES FIRST !
Note that this version can only be installed onto previous full installation of version 6.00 or higher from http://www.amibroker.com/download.html

HOW TO USE NEW FEATURES
This version contains a brand new AFL visual debugger. Detailed description of how to use the debugger is provided here: http://www.amibroker.com/guide/h_debugger.html

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 } }

KNOWN ISSUES:

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

THINGS NOT IMPLEMENTED YET BUT PLANNED FOR FEW NEXT BETAS:

  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

GETTING STARTED WITH DEBUGGER

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:
http://www.amibroker.com/guide/h_debugger.html

AmiBroker 6.02.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.02.0) of AmiBroker has just been released.

32-bit version:
http://www.amibroker.com/members/bin/ab6020beta.exe
(2 190 928 bytes)

64-bit version:
http://www.amibroker.com/members/bin/AmiBroker6020x64.exe
(10 095 488 bytes)

If you can not log in into members' area please get your new password by filling the form at: http://www.amibroker.com/login.html

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

Remember to BACKUP YOUR FILES FIRST !
Note that this version can only be installed onto previous full installation of version 6.00 or higher from http://www.amibroker.com/download.html

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 } }

KNOWN ISSUES:

  1. None

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

AmiBroker 6.01.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.01.0) of AmiBroker has just been released.

32-bit version:
http://www.amibroker.com/members/bin/ab6010beta.exe
(2 185 576 bytes)

64-bit version:
http://www.amibroker.com/members/bin/AmiBroker6010x64.exe
(10 092 080 bytes)

If you can not log in into members' area please get your new password by filling the form at: http://www.amibroker.com/login.html

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

Remember to BACKUP YOUR FILES FIRST !
Note that this version can only be installed onto previous full installation of version 6.00 or higher from http://www.amibroker.com/download.html

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 } }

KNOWN ISSUES:

  1. None

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

AmiBroker 6.00 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.00.0) of AmiBroker has just been released.

32-bit version:
http://www.amibroker.com/bin/AmiBroker6000.exe
(9 406 992 bytes)

64-bit version:
http://www.amibroker.com/bin/AmiBroker6000x64.exe
(10 077 992 bytes)

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

IMPORTANT: This is public BETA version (available without login). Full setup with the Users manual and all miscellaneous files.

CHANGES FOR VERSION 6.00.0 (as compared to 5.99.0)

  1. AFL Editor: Preferences: the default value for "Auto-complete" changed to "Immediate"
  2. AFL: MxGetSize( matrix, dim ) - get matrix size in given dimension
  3. AFL: MxIdentity( size ) - creates an indentity matrix of defined size (square matrix with rows and columns equal to size argument filled with ones on the main diagonal and zeros elsewhere)
  4. AFL: MxTranspose( matrix ) - creates transpose of an input matrix
  5. AFL: Warning 506 is suppressed when formating is 1.0 (integer)

CHANGES FOR VERSION 5.99.0 (as compared to 5.98.0)

  1. AFL: added support for matrices (2D tables of numbers).
  2. AFL: new Error 59. Too many subscripts - displayed when user attempts to use 3 or more subscripts on matrix identifier
  3. AFL: new function Matrix( rows, cols, init_value = 0 ) - creates 2 dimensional table with defined number of rows and column
  4. AFL: new matrix product (multiplication) operator: @
  5. Charts: when chart is moved vertically by the user so it falls outside upper edge, the parts falling outside are not drawn as flat line anymore
  6. New Analysis: Attempt to run Walk forward on periods without any data for any symbols could result in exception. Fixed.
  7. New Analysis: Show current trade arrows did not show sell arrow after Individual backtest. Fixed.
  8. UI: Color text output in the Interpretation window was sometimes incorrect when numbers followed immediately EncodeColor call. Fixed.
  9. UI: Interval combo dropdown list adapts its width to higher DPI displays now
  10. UI: Notepad is refreshed on sliding back from auto-hide
  11. UI: Updating Symbol Information after ASCII import

CHANGES FOR VERSION 5.98.0 (as compared to 5.97.0)

  1. Analysis: Monte Carlo CDF charts use denser X grid (5% stepping)
  2. Analysis: Monte Carlo min/max/avg equity charts can now be displayed as percent change instead of absolute values
  3. Analysis: Monte Carlo stats are now generated in out-of-sample Walk forward steps by default
  4. Analysis: Walk forward Out-Of-Sample summary report includes Monte Carlo simulation from ALL trades of all Out-of-sample periods
  5. Analysis: Walk forward: A crash could occur when Monte Carlo sim was enabled in walk-forward optimization. Fixed.
  6. Analysis: Walk forward: Buy&Hold stats Max. sys drawdown was too large for 2nd and next steps of walk forward OOS. Fixed.

CHANGES FOR VERSION 5.97.0 (as compared to 5.96.0)

  1. Analysis: Backtest report uses now client-side script pagination when trade list contains more than 1000 trades so it takes less time to display it (3s vs 15s for 30K trades). (Experimental, may be removed)
  2. Analysis: MC: MC Min/Max/Strawbroom equit chart was getting slow when number of trades in backtest exceeded 1000. It draws faster now.
  3. Analysis: Monte Carlo charts are now moved to Reports (so they appear in the REPORT as a separate page, not as tabs in Analysis) and generated in separate thread
  4. Analysis: Monte Carlo: numerical values of distributions are now included in the Report / Monte Carlo page
  5. HtmlView: new version 1.3, improved performance of Edit->Copy Table for large tables (>30K rows) by 2 orders of magnitude. Also added support for paginated tables.
  6. In 5.9x single-symbol portfolio backtests were reported as "0-symbols" in Report Explorer. Fixed (fix applies to newly run backtests only)
  7. OLE: added LoadWatchlists() method to Broker.Application object. It allows to re-load watchlist files for currently loaded database without re-loading entire database. (Just in case you ask for SaveWatchlists - watchlists are saved when you call SaveDatabase)
  8. OLE: splash screen closes automatically after 1 second if program was launched from OLE, instead of being displayed as long as OLE object is active
  9. UI: Added global Analysis->Report Explorer menu to access Report explorer without need to open Analysis window
  10. UI: small tweaks and fixes to About/Splash screen.

CHANGES FOR VERSION 5.96.0 (as compared to 5.95.0)

  1. AFL Editor: Verify Syntax uses raw symbol quotes, so it is faster and works regardless of "mixed data" setting
  2. AFL Editor: Word wrap - wrapped lines uses same indent as previous line
  3. AFL: added SetStopPrecedence function
  4. AFL: ApplyStop() has 2 more parameters: ValidFrom/ValidTo - define starting and ending bar since entry when stop is active
  5. AFL: new function: _TRACEF() - printf-formatted trace
  6. AFL: Param() offers increased stepping precision for small fractional increments
  7. Analysis: some newly introduced settings (MC mainly) were not saved in Analysis project. Now they are saved.
  8. In 5.95.0 formulas 0, 1, -1, Null constants for Buy/Sell/Short/Cover assignments and using Equity() could crash. Fixed.
  9. In 5.95.0 when ExitAtStop==1 for NBarStop was used it deactivated other stops in backtestRegular mode. Fixed.
  10. In backtestRegular mode (old code path) when HoldMinBars was >=2 and exit was triggered on very first bar opening after hold period price was not adjusted to open as in other (new) backtest modes. Fixed.
  11. Monte Carlo: MC can be now enabled in Optimization and Individual Backtest
  12. UI: added special "meaningful" message on attempt to open the .APX file that has invalid format
  13. UI: Analysis settings are now made newbie-friendly - a new "SCENARIO" combo has been added that allows to choose from 4 preset scenarios
  14. UI: Analysis Settings: "Activate stops immediately" check box has been moved from "General" to "Stops" tab where it really belongs functionally
  15. UI: new About dialog/startup splash screen (asynchronously showing app loading info)
  16. UI: Parameter window: when parameter names are very long, value area is shrinked down to give more space for name, but not less than 160px/96DPI

CHANGES FOR VERSION 5.95.0 (as compared to 5.94.0)

  1. AFL Editor: Pretify formatting fixes and improvements. Also editor attempts to keep unchanged scroll position after prettify.
  2. AFL Editor: Prettify selection now removes extra padding around parenthesis and leaves only one space pad inside
  3. AFL Editor: Word wrap implemented (View->Word Wrap menu)
  4. AFL Engine: upsizing certain common scalar values (-1, 0, 1, Null) to array is much quicker thanks to caching
  5. AFL: #pragma maxthreads N - where N is a natural number 1.... Allows to lower the number of parallel threads using in Analysis. For example to run in just one thread use #pragma maxthreads 1
  6. AFL: ApplyStop has new, 7th parameter: precedence that defines the order in which stops are triggered if they appear on the very same bar
  7. AFL: Custom Backtest: Monte Carlo simulation results are now available in custom bactester (after backtest or PostProcess()). GetMonteCarloSim() to retrieve MC object to access distributions
  8. AFL: MonteCarloSim GetValue( "field", percentile )
  9. AFL: new function: IIR - general-purpose Infinite Impulse Response filter of order 1-4
  10. AFL: SetOption/GetOption new fields for MC Equity/Straw broom chart, "MCChartEquityCurves" (true/false), "MCStrawBroomLines" (0..100), MCPosSizePctEquity (0..100)
  11. AFL: Status("ThreadID") - gets the current thread ID under which formula is executed
  12. Analysis: MCS: new position sizing method: Percent of Equity
  13. Backtest: fixed ruin stop (99.6% drawdown) in backtestModeRegular is executed last as in other modes now.
  14. Memory usage was larger in 5.94 when lots of chart panes were open. Now it is back to previous levels.
  15. MonteCarlo: Min/Max/Avg Equity + Straw broom chart implemented + Settings
  16. UI: Enhanced Assignment Organizer: Faster operation, display FULL NAME alongside with symbol, sorting by column, alternate row background, proportional resizing of both left/right lists

CHANGES FOR VERSION 5.94.0 (as compared to 5.93.0)

  1. Analysis: implemented high-speed integrated Monte Carlo simulation (preliminary) that produces CDF charts of MC Final Equity, MC CAR, MC Max Drawdown $ and %, Lowest Equity (more details in the Read Me)
  2. AFL: SetOption/GetOption support new fields that control Monte Carlo simulation: "MCEnable" (true/false), "MCRuns" - default 1000, "MCPosSizeMethod" - 0 - don't change, 1 - fixed size, 2 - constant amount, "MCPosSizeShares" (number), "MCPosSizeValue" (number)
  3. AFL: 32-bit round() is 7X faster and now works in "round half to even" (default IEEE mode) instead of half towards infinity. Hand written in assembly due to slowness of CRT
  4. AFL: int() and frac() functions are 2X faster now
  5. AFL: integer division operator \ (experimental)
  6. AFL: StrMatch() - string pattern/wildcard matching
  7. AFL: support for UCN (universal character numbers) \uXXXX where XXXX is hexadecimal character code. UCN output works in PlotText/PlotTextSetFont, GfxDrawText, GfxTextOut, Chart titles (more details in the Read Me)
  8. Interpretation and Commentary windows. Requires Windows 2000 or higher
  9. UI: Charts: when creating a new chart window Interval Lock was often marked automatically. Now it is fixed (it is always OFF for new charts).
  10. UI: XY-charts could enter infinite loop (hang) if ALL Y-coordintates were the same. Fixed.
  11. UI: XYCharts tooltip display shows X/Y point data under the cursor as in old version but when it does not find any, it shows data point from relevant X position

CHANGES FOR VERSION 5.93.0 (as compared to 5.92.0)

  1. AFL Editor provides precise positioning of cursor for errors that occur within argument list of function calls
  2. AFL: Error 5 (incorrect type of argument in function call) is now much more precise: it tells what function expects and what type is actually found
  3. AFL: Low Level Gfx: GfxSelectStockObject() added - allows to select so called "stock" GDI objects such as Hollow brush (that allow to draw empty circles, polygons and so on)
  4. AFL: Low-Level Gfx: GfxSelectHatchBrush( color, style )
  5. AFL: Low-level Gfx: GfxSetZOrder now supports using z-order outside -5...+5 range, but displays a warning 903 in the editor about possible decrease in performance
  6. AFL: Percentile() function now supports variable period and has default value for rank = 50 (such param gives median with average of upper/lower median for even periods)
  7. AFL: XYAddChartPoint has new parameter (linecolor)
  8. AFL: XYChartSetAxis now supports the following styles: styleLine, styleDots, styleHistogram, styleThick and combinations of those styles. Multiple lines are possible - to start a new line call add a NULL point - XYAddChartPoint( chartname, "", Null, Null );
  9. Backtest: Buy-And-Hold simulation is performed and its statistics are calculated and included in the Backtest Report.
  10. Backtest: Report : numerical values don't get wrapped when report window is made small
  11. Backtest: implemented user-definable interest on account margin loans, charged when net cash balance drops below zero. Margin rate (0..100%) is definable in Analysis Settings.
  12. Backtest: implemented variable interest rate earnings
  13. Backtest: interest earnings on positve cash balance and deductions on margin loans are now reported in detail in "Detailed log" mode every day
  14. Filter window enhanced. Now you can select multiple categories of the same type (for example even 7 different watch lists) and combine them using "OR" (match ANY), or "AND" (match ALL)
  15. UI: Commentary: added marquee progress bar to give visual clue to the user when formula is being executed
  16. UI: Deletion of symbols is now confirmed with better looking task dialog that has explicit button "Yes, delete permanently" to avoid user mistakes

CHANGES FOR VERSION 5.92.0 (as compared to 5.91.0)

  1. Analysis: Exploration's XYChart now allows bar style in addition to point style.
  2. AFL: New argument for XYChartSetAxis("chartname", "xaxis", "yaxis", chartStyle = 0 )
  3. AFL: SetChartBkColor did not change the background behind X-axis text. Fixed.
  4. AFL: WriteVal/NumToStr has now new roundAndPad parameter that controls whenever function rounds output beyond 7th significant digit (and pads the rest with zeros), By default rounding is OFF now because it was off in 5.90 and earlier and rounding introduced in 5.91 could confuse old time users
  5. AFL: WriteVal/NumToStr will display Warning 506 if specified format exceeds maximum IEEE precision (7 significant digits) and roundAndPad option is turned off
  6. Analysis: 3D optimization chart was not available after Individual (MT) Optimization. Fixed.
  7. Analysis: a faster Export to CSV routine in 5.91.0 caused memory leak. Fixed.
  8. Analysis: Export to CSV could run out of memory when exporting more than 2GB. Fixed.
  9. Log window shows correct path when using "Check AFL syntax" in the editor, especially helpful if error is inside #included file
  10. Log window: double clicking on error line brings up AFL editor and scrolls to error line / column automatically
  11. PersistentVars.bin loading moved to AFTER CWD fix (prevents problem with deleting persistent variables when program is started with incorrect working directory)

CHANGES FOR VERSION 5.91.1 (as compared to 5.90.1)

  1. Fixed problem introduced in 5.91.0 with [] operator sometimes giving misleading error message
  2. AFL/Charts: GfxSetCoordsMode( 1 ) now works with logarithmic scale too.
  3. AFL: added "Warning 505. Division by zero" (level 2 warning). It detects divison by zero in arrays too and prints which array element was zero
  4. AFL: failed COM type conversion is reported as a regular error within editor/log window instead of displaying message box
  5. AFL: new field in SetOption("WarningLevel", x ); -- allows to change warning level. Level 1 is default for all AFL executions with exception of AFL editor and commentary where warning level is set to 4
  6. AFL: new function AddRow (AddTextRow?) to add a raw text row to the exploration (allows outputing things without respecting Filter and without being limited to number of bars)
  7. AFL: new functions SparseCompact( query_points, data ) /SparseExpand( query_points, data )
  8. AFL: NumToStr protected against user error of specifying precision higher than provided by IEEE standard (display never exceeds 7 significant digits, rest is padded with zeros)
  9. AFL: the engine displays more verbose error in case when GetArraySymbolCopy fails
  10. Analysis: CSV Export speeded up 100+ times. Now exporting large files takes seconds instead of hours. Export speeds on ordinary hard disks > 80MB/sec
  11. Charts: Interval Lock added (so now you can lock symbol or interval or both)
  12. Commentary window - warning level raised to 4 (report all warnings in commentary window)
  13. Sort() could crash with IndexMode = True and start parameter was greater than zero. Fixed.
  14. When chart pane is being resized/dragged, real-time chart refreshes are temporarily held to prevent disappearing of tracking rectangle

KNOWN ISSUES:

  1. None

UPGRADE POLICY AND PRICING

The upgrade to version 5.99 (and subsequent 6.00) is FREE for all users who purchased AmiBroker after May 31, 2013.
Users who purchased AmiBroker before May 31, 2013 or on that day 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: http://www.amibroker.com/members/info.php

To purchase new license or upgrade please use our ordering page at: http://www.amibroker.com/order.php

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

AmiBroker 5.99.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 (5.99.0) of AmiBroker has just been released.

32-bit version:
http://www.amibroker.com/members/bin/ab5990beta.exe
(2 500 584 bytes)

64-bit version:
http://www.amibroker.com/members/bin/AmiBroker5990x64.exe
(9 990 440 bytes)

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

If you can not log in into members' area please get your new password by filling the form at: http://www.amibroker.com/login.html

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

Remember to BACKUP YOUR FILES FIRST !
Note that this version can only be installed onto previous full installation of version 5.90 or higher from http://www.amibroker.com/download.html

CHANGES FOR VERSION 5.99.0 (as compared to 5.98.0)

  1. AFL: added support for matrices (2D tables of numbers).
  2. AFL: new Error 59. Too many subscripts - displayed when user attempts to use 3 or more subscripts on matrix identifier
  3. AFL: new function Matrix( rows, cols, init_value = 0 ) - creates 2 dimensional table with defined number of rows and column
  4. AFL: new matrix product (multiplication) operator: @
  5. Charts: when chart is moved vertically by the user so it falls outside upper edge, the parts falling outside are not drawn as flat line anymore
  6. New Analysis: Attempt to run Walk forward on periods without any data for any symbols could result in exception. Fixed.
  7. New Analysis: Show current trade arrows did not show sell arrow after Individual backtest. Fixed.
  8. UI: Color text output in the Interpretation window was sometimes incorrect when numbers followed immediately EncodeColor call. Fixed.
  9. UI: Interval combo dropdown list adapts its width to higher DPI displays now
  10. UI: Notepad is refreshed on sliding back from auto-hide
  11. UI: Updating Symbol Information after ASCII import

CHANGES FOR VERSION 5.98.0 (as compared to 5.97.0)

  1. Analysis: Monte Carlo CDF charts use denser X grid (5% stepping)
  2. Analysis: Monte Carlo min/max/avg equity charts can now be displayed as percent change instead of absolute values
  3. Analysis: Monte Carlo stats are now generated in out-of-sample Walk forward steps by default
  4. Analysis: Walk forward Out-Of-Sample summary report includes Monte Carlo simulation from ALL trades of all Out-of-sample periods
  5. Analysis: Walk forward: A crash could occur when Monte Carlo sim was enabled in walk-forward optimization. Fixed.
  6. Analysis: Walk forward: Buy&Hold stats Max. sys drawdown was too large for 2nd and next steps of walk forward OOS. Fixed.

CHANGES FOR VERSION 5.97.0 (as compared to 5.96.0)

  1. Analysis: Backtest report uses now client-side script pagination when trade list contains more than 1000 trades so it takes less time to display it (3s vs 15s for 30K trades). (Experimental, may be removed)
  2. Analysis: MC: MC Min/Max/Strawbroom equit chart was getting slow when number of trades in backtest exceeded 1000. It draws faster now.
  3. Analysis: Monte Carlo charts are now moved to Reports (so they appear in the REPORT as a separate page, not as tabs in Analysis) and generated in separate thread
  4. Analysis: Monte Carlo: numerical values of distributions are now included in the Report / Monte Carlo page
  5. HtmlView: new version 1.3, improved performance of Edit->Copy Table for large tables (>30K rows) by 2 orders of magnitude. Also added support for paginated tables.
  6. In 5.9x single-symbol portfolio backtests were reported as "0-symbols" in Report Explorer. Fixed (fix applies to newly run backtests only)
  7. OLE: added LoadWatchlists() method to Broker.Application object. It allows to re-load watchlist files for currently loaded database without re-loading entire database. (Just in case you ask for SaveWatchlists - watchlists are saved when you call SaveDatabase)
  8. OLE: splash screen closes automatically after 1 second if program was launched from OLE, instead of being displayed as long as OLE object is active
  9. UI: Added global Analysis->Report Explorer menu to access Report explorer without need to open Analysis window
  10. UI: small tweaks and fixes to About/Splash screen.

CHANGES FOR VERSION 5.96.0 (as compared to 5.95.0)

  1. AFL Editor: Verify Syntax uses raw symbol quotes, so it is faster and works regardless of "mixed data" setting
  2. AFL Editor: Word wrap - wrapped lines uses same indent as previous line
  3. AFL: added SetStopPrecedence function
  4. AFL: ApplyStop() has 2 more parameters: ValidFrom/ValidTo - define starting and ending bar since entry when stop is active
  5. AFL: new function: _TRACEF() - printf-formatted trace
  6. AFL: Param() offers increased stepping precision for small fractional increments
  7. Analysis: some newly introduced settings (MC mainly) were not saved in Analysis project. Now they are saved.
  8. In 5.95.0 formulas 0, 1, -1, Null constants for Buy/Sell/Short/Cover assignments and using Equity() could crash. Fixed.
  9. In 5.95.0 when ExitAtStop==1 for NBarStop was used it deactivated other stops in backtestRegular mode. Fixed.
  10. In backtestRegular mode (old code path) when HoldMinBars was >=2 and exit was triggered on very first bar opening after hold period price was not adjusted to open as in other (new) backtest modes. Fixed.
  11. Monte Carlo: MC can be now enabled in Optimization and Individual Backtest
  12. UI: added special "meaningful" message on attempt to open the .APX file that has invalid format
  13. UI: Analysis settings are now made newbie-friendly - a new "SCENARIO" combo has been added that allows to choose from 4 preset scenarios
  14. UI: Analysis Settings: "Activate stops immediately" check box has been moved from "General" to "Stops" tab where it really belongs functionally
  15. UI: new About dialog/startup splash screen (asynchronously showing app loading info)
  16. UI: Parameter window: when parameter names are very long, value area is shrinked down to give more space for name, but not less than 160px/96DPI

CHANGES FOR VERSION 5.95.0 (as compared to 5.94.0)

  1. AFL Editor: Pretify formatting fixes and improvements. Also editor attempts to keep unchanged scroll position after prettify.
  2. AFL Editor: Prettify selection now removes extra padding around parenthesis and leaves only one space pad inside
  3. AFL Editor: Word wrap implemented (View->Word Wrap menu)
  4. AFL Engine: upsizing certain common scalar values (-1, 0, 1, Null) to array is much quicker thanks to caching
  5. AFL: #pragma maxthreads N - where N is a natural number 1.... Allows to lower the number of parallel threads using in Analysis. For example to run in just one thread use #pragma maxthreads 1
  6. AFL: ApplyStop has new, 7th parameter: precedence that defines the order in which stops are triggered if they appear on the very same bar
  7. AFL: Custom Backtest: Monte Carlo simulation results are now available in custom bactester (after backtest or PostProcess()). GetMonteCarloSim() to retrieve MC object to access distributions
  8. AFL: MonteCarloSim GetValue( "field", percentile )
  9. AFL: new function: IIR - general-purpose Infinite Impulse Response filter of order 1-4
  10. AFL: SetOption/GetOption new fields for MC Equity/Straw broom chart, "MCChartEquityCurves" (true/false), "MCStrawBroomLines" (0..100), MCPosSizePctEquity (0..100)
  11. AFL: Status("ThreadID") - gets the current thread ID under which formula is executed
  12. Analysis: MCS: new position sizing method: Percent of Equity
  13. Backtest: fixed ruin stop (99.6% drawdown) in backtestModeRegular is executed last as in other modes now.
  14. Memory usage was larger in 5.94 when lots of chart panes were open. Now it is back to previous levels.
  15. MonteCarlo: Min/Max/Avg Equity + Straw broom chart implemented + Settings
  16. UI: Enhanced Assignment Organizer: Faster operation, display FULL NAME alongside with symbol, sorting by column, alternate row background, proportional resizing of both left/right lists

CHANGES FOR VERSION 5.94.0 (as compared to 5.93.0)

  1. Analysis: implemented high-speed integrated Monte Carlo simulation (preliminary) that produces CDF charts of MC Final Equity, MC CAR, MC Max Drawdown $ and %, Lowest Equity (more details in the Read Me)
  2. AFL: SetOption/GetOption support new fields that control Monte Carlo simulation: "MCEnable" (true/false), "MCRuns" - default 1000, "MCPosSizeMethod" - 0 - don't change, 1 - fixed size, 2 - constant amount, "MCPosSizeShares" (number), "MCPosSizeValue" (number)
  3. AFL: 32-bit round() is 7X faster and now works in "round half to even" (default IEEE mode) instead of half towards infinity. Hand written in assembly due to slowness of CRT
  4. AFL: int() and frac() functions are 2X faster now
  5. AFL: integer division operator \ (experimental)
  6. AFL: StrMatch() - string pattern/wildcard matching
  7. AFL: support for UCN (universal character numbers) \uXXXX where XXXX is hexadecimal character code. UCN output works in PlotText/PlotTextSetFont, GfxDrawText, GfxTextOut, Chart titles (more details in the Read Me)
  8. Interpretation and Commentary windows. Requires Windows 2000 or higher
  9. UI: Charts: when creating a new chart window Interval Lock was often marked automatically. Now it is fixed (it is always OFF for new charts).
  10. UI: XY-charts could enter infinite loop (hang) if ALL Y-coordintates were the same. Fixed.
  11. UI: XYCharts tooltip display shows X/Y point data under the cursor as in old version but when it does not find any, it shows data point from relevant X position

CHANGES FOR VERSION 5.93.0 (as compared to 5.92.0)

  1. AFL Editor provides precise positioning of cursor for errors that occur within argument list of function calls
  2. AFL: Error 5 (incorrect type of argument in function call) is now much more precise: it tells what function expects and what type is actually found
  3. AFL: Low Level Gfx: GfxSelectStockObject() added - allows to select so called "stock" GDI objects such as Hollow brush (that allow to draw empty circles, polygons and so on)
  4. AFL: Low-Level Gfx: GfxSelectHatchBrush( color, style )
  5. AFL: Low-level Gfx: GfxSetZOrder now supports using z-order outside -5...+5 range, but displays a warning 903 in the editor about possible decrease in performance
  6. AFL: Percentile() function now supports variable period and has default value for rank = 50 (such param gives median with average of upper/lower median for even periods)
  7. AFL: XYAddChartPoint has new parameter (linecolor)
  8. AFL: XYChartSetAxis now supports the following styles: styleLine, styleDots, styleHistogram, styleThick and combinations of those styles. Multiple lines are possible - to start a new line call add a NULL point - XYAddChartPoint( chartname, "", Null, Null );
  9. Backtest: Buy-And-Hold simulation is performed and its statistics are calculated and included in the Backtest Report.
  10. Backtest: Report : numerical values don't get wrapped when report window is made small
  11. Backtest: implemented user-definable interest on account margin loans, charged when net cash balance drops below zero. Margin rate (0..100%) is definable in Analysis Settings.
  12. Backtest: implemented variable interest rate earnings
  13. Backtest: interest earnings on positve cash balance and deductions on margin loans are now reported in detail in "Detailed log" mode every day
  14. Filter window enhanced. Now you can select multiple categories of the same type (for example even 7 different watch lists) and combine them using "OR" (match ANY), or "AND" (match ALL)
  15. UI: Commentary: added marquee progress bar to give visual clue to the user when formula is being executed
  16. UI: Deletion of symbols is now confirmed with better looking task dialog that has explicit button "Yes, delete permanently" to avoid user mistakes

CHANGES FOR VERSION 5.92.0 (as compared to 5.91.0)

  1. Analysis: Exploration's XYChart now allows bar style in addition to point style.
  2. AFL: New argument for XYChartSetAxis("chartname", "xaxis", "yaxis", chartStyle = 0 )
  3. AFL: SetChartBkColor did not change the background behind X-axis text. Fixed.
  4. AFL: WriteVal/NumToStr has now new roundAndPad parameter that controls whenever function rounds output beyond 7th significant digit (and pads the rest with zeros), By default rounding is OFF now because it was off in 5.90 and earlier and rounding introduced in 5.91 could confuse old time users
  5. AFL: WriteVal/NumToStr will display Warning 506 if specified format exceeds maximum IEEE precision (7 significant digits) and roundAndPad option is turned off
  6. Analysis: 3D optimization chart was not available after Individual (MT) Optimization. Fixed.
  7. Analysis: a faster Export to CSV routine in 5.91.0 caused memory leak. Fixed.
  8. Analysis: Export to CSV could run out of memory when exporting more than 2GB. Fixed.
  9. Log window shows correct path when using "Check AFL syntax" in the editor, especially helpful if error is inside #included file
  10. Log window: double clicking on error line brings up AFL editor and scrolls to error line / column automatically
  11. PersistentVars.bin loading moved to AFTER CWD fix (prevents problem with deleting persistent variables when program is started with incorrect working directory)

CHANGES FOR VERSION 5.91.1 (as compared to 5.90.1)

  1. Fixed problem introduced in 5.91.0 with [] operator sometimes giving misleading error message
  2. AFL/Charts: GfxSetCoordsMode( 1 ) now works with logarithmic scale too.
  3. AFL: added "Warning 505. Division by zero" (level 2 warning). It detects divison by zero in arrays too and prints which array element was zero
  4. AFL: failed COM type conversion is reported as a regular error within editor/log window instead of displaying message box
  5. AFL: new field in SetOption("WarningLevel", x ); -- allows to change warning level. Level 1 is default for all AFL executions with exception of AFL editor and commentary where warning level is set to 4
  6. AFL: new function AddRow (AddTextRow?) to add a raw text row to the exploration (allows outputing things without respecting Filter and without being limited to number of bars)
  7. AFL: new functions SparseCompact( query_points, data ) /SparseExpand( query_points, data )
  8. AFL: NumToStr protected against user error of specifying precision higher than provided by IEEE standard (display never exceeds 7 significant digits, rest is padded with zeros)
  9. AFL: the engine displays more verbose error in case when GetArraySymbolCopy fails
  10. Analysis: CSV Export speeded up 100+ times. Now exporting large files takes seconds instead of hours. Export speeds on ordinary hard disks > 80MB/sec
  11. Charts: Interval Lock added (so now you can lock symbol or interval or both)
  12. Commentary window - warning level raised to 4 (report all warnings in commentary window)
  13. Sort() could crash with IndexMode = True and start parameter was greater than zero. Fixed.
  14. When chart pane is being resized/dragged, real-time chart refreshes are temporarily held to prevent disappearing of tracking rectangle

KNOWN ISSUES:

  1. None

UPGRADE POLICY AND PRICING

The upgrade to version 5.99 (and subsequent 6.00) is FREE for all users who purchased AmiBroker after May 31, 2013.
Users who purchased AmiBroker before May 31, 2013 or on that day 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: http://www.amibroker.com/members/info.php

To purchase new license or upgrade please use our ordering page at: http://www.amibroker.com/order.php

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

AmiBroker 5.98.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 (5.98.0) of AmiBroker has just been released.

32-bit version:
http://www.amibroker.com/members/bin/ab5980beta.exe
(2 497 440 bytes)

64-bit version:
http://www.amibroker.com/members/bin/AmiBroker5980x64.exe
(9 997 552 bytes)

If you can not log in into members' area please get your new password by filling the form at: http://www.amibroker.com/login.html

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

Remember to BACKUP YOUR FILES FIRST !
Note that this version can only be installed onto previous full installation of version 5.90 or higher from http://www.amibroker.com/download.html

CHANGES FOR VERSION 5.98.0 (as compared to 5.97.0)

  1. Analysis: Monte Carlo CDF charts use denser X grid (5% stepping)
  2. Analysis: Monte Carlo min/max/avg equity charts can now be displayed as percent change instead of absolute values
  3. Analysis: Monte Carlo stats are now generated in out-of-sample Walk forward steps by default
  4. Analysis: Walk forward Out-Of-Sample summary report includes Monte Carlo simulation from ALL trades of all Out-of-sample periods
  5. Analysis: Walk forward: A crash could occur when Monte Carlo sim was enabled in walk-forward optimization. Fixed.
  6. Analysis: Walk forward: Buy&Hold stats Max. sys drawdown was too large for 2nd and next steps of walk forward OOS. Fixed.

CHANGES FOR VERSION 5.97.0 (as compared to 5.96.0)

  1. Analysis: Backtest report uses now client-side script pagination when trade list contains more than 1000 trades so it takes less time to display it (3s vs 15s for 30K trades). (Experimental, may be removed)
  2. Analysis: MC: MC Min/Max/Strawbroom equit chart was getting slow when number of trades in backtest exceeded 1000. It draws faster now.
  3. Analysis: Monte Carlo charts are now moved to Reports (so they appear in the REPORT as a separate page, not as tabs in Analysis) and generated in separate thread
  4. Analysis: Monte Carlo: numerical values of distributions are now included in the Report / Monte Carlo page
  5. HtmlView: new version 1.3, improved performance of Edit->Copy Table for large tables (>30K rows) by 2 orders of magnitude. Also added support for paginated tables.
  6. In 5.9x single-symbol portfolio backtests were reported as "0-symbols" in Report Explorer. Fixed (fix applies to newly run backtests only)
  7. OLE: added LoadWatchlists() method to Broker.Application object. It allows to re-load watchlist files for currently loaded database without re-loading entire database. (Just in case you ask for SaveWatchlists - watchlists are saved when you call SaveDatabase)
  8. OLE: splash screen closes automatically after 1 second if program was launched from OLE, instead of being displayed as long as OLE object is active
  9. UI: Added global Analysis->Report Explorer menu to access Report explorer without need to open Analysis window
  10. UI: small tweaks and fixes to About/Splash screen.

CHANGES FOR VERSION 5.96.0 (as compared to 5.95.0)

  1. AFL Editor: Verify Syntax uses raw symbol quotes, so it is faster and works regardless of "mixed data" setting
  2. AFL Editor: Word wrap - wrapped lines uses same indent as previous line
  3. AFL: added SetStopPrecedence function
  4. AFL: ApplyStop() has 2 more parameters: ValidFrom/ValidTo - define starting and ending bar since entry when stop is active
  5. AFL: new function: _TRACEF() - printf-formatted trace
  6. AFL: Param() offers increased stepping precision for small fractional increments
  7. Analysis: some newly introduced settings (MC mainly) were not saved in Analysis project. Now they are saved.
  8. In 5.95.0 formulas 0, 1, -1, Null constants for Buy/Sell/Short/Cover assignments and using Equity() could crash. Fixed.
  9. In 5.95.0 when ExitAtStop==1 for NBarStop was used it deactivated other stops in backtestRegular mode. Fixed.
  10. In backtestRegular mode (old code path) when HoldMinBars was >=2 and exit was triggered on very first bar opening after hold period price was not adjusted to open as in other (new) backtest modes. Fixed.
  11. Monte Carlo: MC can be now enabled in Optimization and Individual Backtest
  12. UI: added special "meaningful" message on attempt to open the .APX file that has invalid format
  13. UI: Analysis settings are now made newbie-friendly - a new "SCENARIO" combo has been added that allows to choose from 4 preset scenarios
  14. UI: Analysis Settings: "Activate stops immediately" check box has been moved from "General" to "Stops" tab where it really belongs functionally
  15. UI: new About dialog/startup splash screen (asynchronously showing app loading info)
  16. UI: Parameter window: when parameter names are very long, value area is shrinked down to give more space for name, but not less than 160px/96DPI

CHANGES FOR VERSION 5.95.0 (as compared to 5.94.0)

  1. AFL Editor: Pretify formatting fixes and improvements. Also editor attempts to keep unchanged scroll position after prettify.
  2. AFL Editor: Prettify selection now removes extra padding around parenthesis and leaves only one space pad inside
  3. AFL Editor: Word wrap implemented (View->Word Wrap menu)
  4. AFL Engine: upsizing certain common scalar values (-1, 0, 1, Null) to array is much quicker thanks to caching
  5. AFL: #pragma maxthreads N - where N is a natural number 1.... Allows to lower the number of parallel threads using in Analysis. For example to run in just one thread use #pragma maxthreads 1
  6. AFL: ApplyStop has new, 7th parameter: precedence that defines the order in which stops are triggered if they appear on the very same bar
  7. AFL: Custom Backtest: Monte Carlo simulation results are now available in custom bactester (after backtest or PostProcess()). GetMonteCarloSim() to retrieve MC object to access distributions
  8. AFL: MonteCarloSim GetValue( "field", percentile )
  9. AFL: new function: IIR - general-purpose Infinite Impulse Response filter of order 1-4
  10. AFL: SetOption/GetOption new fields for MC Equity/Straw broom chart, "MCChartEquityCurves" (true/false), "MCStrawBroomLines" (0..100), MCPosSizePctEquity (0..100)
  11. AFL: Status("ThreadID") - gets the current thread ID under which formula is executed
  12. Analysis: MCS: new position sizing method: Percent of Equity
  13. Backtest: fixed ruin stop (99.6% drawdown) in backtestModeRegular is executed last as in other modes now.
  14. Memory usage was larger in 5.94 when lots of chart panes were open. Now it is back to previous levels.
  15. MonteCarlo: Min/Max/Avg Equity + Straw broom chart implemented + Settings
  16. UI: Enhanced Assignment Organizer: Faster operation, display FULL NAME alongside with symbol, sorting by column, alternate row background, proportional resizing of both left/right lists

CHANGES FOR VERSION 5.94.0 (as compared to 5.93.0)

  1. Analysis: implemented high-speed integrated Monte Carlo simulation (preliminary) that produces CDF charts of MC Final Equity, MC CAR, MC Max Drawdown $ and %, Lowest Equity (more details in the Read Me)
  2. AFL: SetOption/GetOption support new fields that control Monte Carlo simulation: "MCEnable" (true/false), "MCRuns" - default 1000, "MCPosSizeMethod" - 0 - don't change, 1 - fixed size, 2 - constant amount, "MCPosSizeShares" (number), "MCPosSizeValue" (number)
  3. AFL: 32-bit round() is 7X faster and now works in "round half to even" (default IEEE mode) instead of half towards infinity. Hand written in assembly due to slowness of CRT
  4. AFL: int() and frac() functions are 2X faster now
  5. AFL: integer division operator \ (experimental)
  6. AFL: StrMatch() - string pattern/wildcard matching
  7. AFL: support for UCN (universal character numbers) \uXXXX where XXXX is hexadecimal character code. UCN output works in PlotText/PlotTextSetFont, GfxDrawText, GfxTextOut, Chart titles (more details in the Read Me)
  8. Interpretation and Commentary windows. Requires Windows 2000 or higher
  9. UI: Charts: when creating a new chart window Interval Lock was often marked automatically. Now it is fixed (it is always OFF for new charts).
  10. UI: XY-charts could enter infinite loop (hang) if ALL Y-coordintates were the same. Fixed.
  11. UI: XYCharts tooltip display shows X/Y point data under the cursor as in old version but when it does not find any, it shows data point from relevant X position

CHANGES FOR VERSION 5.93.0 (as compared to 5.92.0)

  1. AFL Editor provides precise positioning of cursor for errors that occur within argument list of function calls
  2. AFL: Error 5 (incorrect type of argument in function call) is now much more precise: it tells what function expects and what type is actually found
  3. AFL: Low Level Gfx: GfxSelectStockObject() added - allows to select so called "stock" GDI objects such as Hollow brush (that allow to draw empty circles, polygons and so on)
  4. AFL: Low-Level Gfx: GfxSelectHatchBrush( color, style )
  5. AFL: Low-level Gfx: GfxSetZOrder now supports using z-order outside -5...+5 range, but displays a warning 903 in the editor about possible decrease in performance
  6. AFL: Percentile() function now supports variable period and has default value for rank = 50 (such param gives median with average of upper/lower median for even periods)
  7. AFL: XYAddChartPoint has new parameter (linecolor)
  8. AFL: XYChartSetAxis now supports the following styles: styleLine, styleDots, styleHistogram, styleThick and combinations of those styles. Multiple lines are possible - to start a new line call add a NULL point - XYAddChartPoint( chartname, "", Null, Null );
  9. Backtest: Buy-And-Hold simulation is performed and its statistics are calculated and included in the Backtest Report.
  10. Backtest: Report : numerical values don't get wrapped when report window is made small
  11. Backtest: implemented user-definable interest on account margin loans, charged when net cash balance drops below zero. Margin rate (0..100%) is definable in Analysis Settings.
  12. Backtest: implemented variable interest rate earnings
  13. Backtest: interest earnings on positve cash balance and deductions on margin loans are now reported in detail in "Detailed log" mode every day
  14. Filter window enhanced. Now you can select multiple categories of the same type (for example even 7 different watch lists) and combine them using "OR" (match ANY), or "AND" (match ALL)
  15. UI: Commentary: added marquee progress bar to give visual clue to the user when formula is being executed
  16. UI: Deletion of symbols is now confirmed with better looking task dialog that has explicit button "Yes, delete permanently" to avoid user mistakes

CHANGES FOR VERSION 5.92.0 (as compared to 5.91.0)

  1. Analysis: Exploration's XYChart now allows bar style in addition to point style.
  2. AFL: New argument for XYChartSetAxis("chartname", "xaxis", "yaxis", chartStyle = 0 )
  3. AFL: SetChartBkColor did not change the background behind X-axis text. Fixed.
  4. AFL: WriteVal/NumToStr has now new roundAndPad parameter that controls whenever function rounds output beyond 7th significant digit (and pads the rest with zeros), By default rounding is OFF now because it was off in 5.90 and earlier and rounding introduced in 5.91 could confuse old time users
  5. AFL: WriteVal/NumToStr will display Warning 506 if specified format exceeds maximum IEEE precision (7 significant digits) and roundAndPad option is turned off
  6. Analysis: 3D optimization chart was not available after Individual (MT) Optimization. Fixed.
  7. Analysis: a faster Export to CSV routine in 5.91.0 caused memory leak. Fixed.
  8. Analysis: Export to CSV could run out of memory when exporting more than 2GB. Fixed.
  9. Log window shows correct path when using "Check AFL syntax" in the editor, especially helpful if error is inside #included file
  10. Log window: double clicking on error line brings up AFL editor and scrolls to error line / column automatically
  11. PersistentVars.bin loading moved to AFTER CWD fix (prevents problem with deleting persistent variables when program is started with incorrect working directory)

CHANGES FOR VERSION 5.91.1 (as compared to 5.90.1)

  1. Fixed problem introduced in 5.91.0 with [] operator sometimes giving misleading error message
  2. AFL/Charts: GfxSetCoordsMode( 1 ) now works with logarithmic scale too.
  3. AFL: added "Warning 505. Division by zero" (level 2 warning). It detects divison by zero in arrays too and prints which array element was zero
  4. AFL: failed COM type conversion is reported as a regular error within editor/log window instead of displaying message box
  5. AFL: new field in SetOption("WarningLevel", x ); -- allows to change warning level. Level 1 is default for all AFL executions with exception of AFL editor and commentary where warning level is set to 4
  6. AFL: new function AddRow (AddTextRow?) to add a raw text row to the exploration (allows outputing things without respecting Filter and without being limited to number of bars)
  7. AFL: new functions SparseCompact( query_points, data ) /SparseExpand( query_points, data )
  8. AFL: NumToStr protected against user error of specifying precision higher than provided by IEEE standard (display never exceeds 7 significant digits, rest is padded with zeros)
  9. AFL: the engine displays more verbose error in case when GetArraySymbolCopy fails
  10. Analysis: CSV Export speeded up 100+ times. Now exporting large files takes seconds instead of hours. Export speeds on ordinary hard disks > 80MB/sec
  11. Charts: Interval Lock added (so now you can lock symbol or interval or both)
  12. Commentary window - warning level raised to 4 (report all warnings in commentary window)
  13. Sort() could crash with IndexMode = True and start parameter was greater than zero. Fixed.
  14. When chart pane is being resized/dragged, real-time chart refreshes are temporarily held to prevent disappearing of tracking rectangle

KNOWN ISSUES:

  1. None

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

AmiBroker 5.97.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 (5.97.0) of AmiBroker has just been released.

32-bit version:
http://www.amibroker.com/members/bin/ab5970beta.exe
(2 496 600 bytes)

64-bit version:
http://www.amibroker.com/members/bin/AmiBroker5970x64.exe
(9 990 000 bytes)

If you can not log in into members' area please get your new password by filling the form at: http://www.amibroker.com/login.html

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

Remember to BACKUP YOUR FILES FIRST !
Note that this version can only be installed onto previous full installation of version 5.90 or higher from http://www.amibroker.com/download.html

CHANGES FOR VERSION 5.97.0 (as compared to 5.96.0)

  1. Analysis: Backtest report uses now client-side script pagination when trade list contains more than 1000 trades so it takes less time to display it (3s vs 15s for 30K trades). (Experimental, may be removed)
  2. Analysis: MC: MC Min/Max/Strawbroom equit chart was getting slow when number of trades in backtest exceeded 1000. It draws faster now.
  3. Analysis: Monte Carlo charts are now moved to Reports (so they appear in the REPORT as a separate page, not as tabs in Analysis) and generated in separate thread
  4. Analysis: Monte Carlo: numerical values of distributions are now included in the Report / Monte Carlo page
  5. HtmlView: new version 1.3, improved performance of Edit->Copy Table for large tables (>30K rows) by 2 orders of magnitude. Also added support for paginated tables.
  6. In 5.9x single-symbol portfolio backtests were reported as "0-symbols" in Report Explorer. Fixed (fix applies to newly run backtests only)
  7. OLE: added LoadWatchlists() method to Broker.Application object. It allows to re-load watchlist files for currently loaded database without re-loading entire database. (Just in case you ask for SaveWatchlists - watchlists are saved when you call SaveDatabase)
  8. OLE: splash screen closes automatically after 1 second if program was launched from OLE, instead of being displayed as long as OLE object is active
  9. UI: Added global Analysis->Report Explorer menu to access Report explorer without need to open Analysis window
  10. UI: small tweaks and fixes to About/Splash screen.

CHANGES FOR VERSION 5.96.0 (as compared to 5.95.0)

  1. AFL Editor: Verify Syntax uses raw symbol quotes, so it is faster and works regardless of "mixed data" setting
  2. AFL Editor: Word wrap - wrapped lines uses same indent as previous line
  3. AFL: added SetStopPrecedence function
  4. AFL: ApplyStop() has 2 more parameters: ValidFrom/ValidTo - define starting and ending bar since entry when stop is active
  5. AFL: new function: _TRACEF() - printf-formatted trace
  6. AFL: Param() offers increased stepping precision for small fractional increments
  7. Analysis: some newly introduced settings (MC mainly) were not saved in Analysis project. Now they are saved.
  8. In 5.95.0 formulas 0, 1, -1, Null constants for Buy/Sell/Short/Cover assignments and using Equity() could crash. Fixed.
  9. In 5.95.0 when ExitAtStop==1 for NBarStop was used it deactivated other stops in backtestRegular mode. Fixed.
  10. In backtestRegular mode (old code path) when HoldMinBars was >=2 and exit was triggered on very first bar opening after hold period price was not adjusted to open as in other (new) backtest modes. Fixed.
  11. Monte Carlo: MC can be now enabled in Optimization and Individual Backtest
  12. UI: added special "meaningful" message on attempt to open the .APX file that has invalid format
  13. UI: Analysis settings are now made newbie-friendly - a new "SCENARIO" combo has been added that allows to choose from 4 preset scenarios
  14. UI: Analysis Settings: "Activate stops immediately" check box has been moved from "General" to "Stops" tab where it really belongs functionally
  15. UI: new About dialog/startup splash screen (asynchronously showing app loading info)
  16. UI: Parameter window: when parameter names are very long, value area is shrinked down to give more space for name, but not less than 160px/96DPI

CHANGES FOR VERSION 5.95.0 (as compared to 5.94.0)

  1. AFL Editor: Pretify formatting fixes and improvements. Also editor attempts to keep unchanged scroll position after prettify.
  2. AFL Editor: Prettify selection now removes extra padding around parenthesis and leaves only one space pad inside
  3. AFL Editor: Word wrap implemented (View->Word Wrap menu)
  4. AFL Engine: upsizing certain common scalar values (-1, 0, 1, Null) to array is much quicker thanks to caching
  5. AFL: #pragma maxthreads N - where N is a natural number 1.... Allows to lower the number of parallel threads using in Analysis. For example to run in just one thread use #pragma maxthreads 1
  6. AFL: ApplyStop has new, 7th parameter: precedence that defines the order in which stops are triggered if they appear on the very same bar
  7. AFL: Custom Backtest: Monte Carlo simulation results are now available in custom bactester (after backtest or PostProcess()). GetMonteCarloSim() to retrieve MC object to access distributions
  8. AFL: MonteCarloSim GetValue( "field", percentile )
  9. AFL: new function: IIR - general-purpose Infinite Impulse Response filter of order 1-4
  10. AFL: SetOption/GetOption new fields for MC Equity/Straw broom chart, "MCChartEquityCurves" (true/false), "MCStrawBroomLines" (0..100), MCPosSizePctEquity (0..100)
  11. AFL: Status("ThreadID") - gets the current thread ID under which formula is executed
  12. Analysis: MCS: new position sizing method: Percent of Equity
  13. Backtest: fixed ruin stop (99.6% drawdown) in backtestModeRegular is executed last as in other modes now.
  14. Memory usage was larger in 5.94 when lots of chart panes were open. Now it is back to previous levels.
  15. MonteCarlo: Min/Max/Avg Equity + Straw broom chart implemented + Settings
  16. UI: Enhanced Assignment Organizer: Faster operation, display FULL NAME alongside with symbol, sorting by column, alternate row background, proportional resizing of both left/right lists

CHANGES FOR VERSION 5.94.0 (as compared to 5.93.0)

  1. Analysis: implemented high-speed integrated Monte Carlo simulation (preliminary) that produces CDF charts of MC Final Equity, MC CAR, MC Max Drawdown $ and %, Lowest Equity (more details in the Read Me)
  2. AFL: SetOption/GetOption support new fields that control Monte Carlo simulation: "MCEnable" (true/false), "MCRuns" - default 1000, "MCPosSizeMethod" - 0 - don't change, 1 - fixed size, 2 - constant amount, "MCPosSizeShares" (number), "MCPosSizeValue" (number)
  3. AFL: 32-bit round() is 7X faster and now works in "round half to even" (default IEEE mode) instead of half towards infinity. Hand written in assembly due to slowness of CRT
  4. AFL: int() and frac() functions are 2X faster now
  5. AFL: integer division operator \ (experimental)
  6. AFL: StrMatch() - string pattern/wildcard matching
  7. AFL: support for UCN (universal character numbers) \uXXXX where XXXX is hexadecimal character code. UCN output works in PlotText/PlotTextSetFont, GfxDrawText, GfxTextOut, Chart titles (more details in the Read Me)
  8. Interpretation and Commentary windows. Requires Windows 2000 or higher
  9. UI: Charts: when creating a new chart window Interval Lock was often marked automatically. Now it is fixed (it is always OFF for new charts).
  10. UI: XY-charts could enter infinite loop (hang) if ALL Y-coordintates were the same. Fixed.
  11. UI: XYCharts tooltip display shows X/Y point data under the cursor as in old version but when it does not find any, it shows data point from relevant X position

CHANGES FOR VERSION 5.93.0 (as compared to 5.92.0)

  1. AFL Editor provides precise positioning of cursor for errors that occur within argument list of function calls
  2. AFL: Error 5 (incorrect type of argument in function call) is now much more precise: it tells what function expects and what type is actually found
  3. AFL: Low Level Gfx: GfxSelectStockObject() added - allows to select so called "stock" GDI objects such as Hollow brush (that allow to draw empty circles, polygons and so on)
  4. AFL: Low-Level Gfx: GfxSelectHatchBrush( color, style )
  5. AFL: Low-level Gfx: GfxSetZOrder now supports using z-order outside -5...+5 range, but displays a warning 903 in the editor about possible decrease in performance
  6. AFL: Percentile() function now supports variable period and has default value for rank = 50 (such param gives median with average of upper/lower median for even periods)
  7. AFL: XYAddChartPoint has new parameter (linecolor)
  8. AFL: XYChartSetAxis now supports the following styles: styleLine, styleDots, styleHistogram, styleThick and combinations of those styles. Multiple lines are possible - to start a new line call add a NULL point - XYAddChartPoint( chartname, "", Null, Null );
  9. Backtest: Buy-And-Hold simulation is performed and its statistics are calculated and included in the Backtest Report.
  10. Backtest: Report : numerical values don't get wrapped when report window is made small
  11. Backtest: implemented user-definable interest on account margin loans, charged when net cash balance drops below zero. Margin rate (0..100%) is definable in Analysis Settings.
  12. Backtest: implemented variable interest rate earnings
  13. Backtest: interest earnings on positve cash balance and deductions on margin loans are now reported in detail in "Detailed log" mode every day
  14. Filter window enhanced. Now you can select multiple categories of the same type (for example even 7 different watch lists) and combine them using "OR" (match ANY), or "AND" (match ALL)
  15. UI: Commentary: added marquee progress bar to give visual clue to the user when formula is being executed
  16. UI: Deletion of symbols is now confirmed with better looking task dialog that has explicit button "Yes, delete permanently" to avoid user mistakes

CHANGES FOR VERSION 5.92.0 (as compared to 5.91.0)

  1. Analysis: Exploration's XYChart now allows bar style in addition to point style.
  2. AFL: New argument for XYChartSetAxis("chartname", "xaxis", "yaxis", chartStyle = 0 )
  3. AFL: SetChartBkColor did not change the background behind X-axis text. Fixed.
  4. AFL: WriteVal/NumToStr has now new roundAndPad parameter that controls whenever function rounds output beyond 7th significant digit (and pads the rest with zeros), By default rounding is OFF now because it was off in 5.90 and earlier and rounding introduced in 5.91 could confuse old time users
  5. AFL: WriteVal/NumToStr will display Warning 506 if specified format exceeds maximum IEEE precision (7 significant digits) and roundAndPad option is turned off
  6. Analysis: 3D optimization chart was not available after Individual (MT) Optimization. Fixed.
  7. Analysis: a faster Export to CSV routine in 5.91.0 caused memory leak. Fixed.
  8. Analysis: Export to CSV could run out of memory when exporting more than 2GB. Fixed.
  9. Log window shows correct path when using "Check AFL syntax" in the editor, especially helpful if error is inside #included file
  10. Log window: double clicking on error line brings up AFL editor and scrolls to error line / column automatically
  11. PersistentVars.bin loading moved to AFTER CWD fix (prevents problem with deleting persistent variables when program is started with incorrect working directory)

CHANGES FOR VERSION 5.91.1 (as compared to 5.90.1)

  1. Fixed problem introduced in 5.91.0 with [] operator sometimes giving misleading error message
  2. AFL/Charts: GfxSetCoordsMode( 1 ) now works with logarithmic scale too.
  3. AFL: added "Warning 505. Division by zero" (level 2 warning). It detects divison by zero in arrays too and prints which array element was zero
  4. AFL: failed COM type conversion is reported as a regular error within editor/log window instead of displaying message box
  5. AFL: new field in SetOption("WarningLevel", x ); -- allows to change warning level. Level 1 is default for all AFL executions with exception of AFL editor and commentary where warning level is set to 4
  6. AFL: new function AddRow (AddTextRow?) to add a raw text row to the exploration (allows outputing things without respecting Filter and without being limited to number of bars)
  7. AFL: new functions SparseCompact( query_points, data ) /SparseExpand( query_points, data )
  8. AFL: NumToStr protected against user error of specifying precision higher than provided by IEEE standard (display never exceeds 7 significant digits, rest is padded with zeros)
  9. AFL: the engine displays more verbose error in case when GetArraySymbolCopy fails
  10. Analysis: CSV Export speeded up 100+ times. Now exporting large files takes seconds instead of hours. Export speeds on ordinary hard disks > 80MB/sec
  11. Charts: Interval Lock added (so now you can lock symbol or interval or both)
  12. Commentary window - warning level raised to 4 (report all warnings in commentary window)
  13. Sort() could crash with IndexMode = True and start parameter was greater than zero. Fixed.
  14. When chart pane is being resized/dragged, real-time chart refreshes are temporarily held to prevent disappearing of tracking rectangle

KNOWN ISSUES:

  1. None

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

« Previous PageNext Page »