New, experimental IQFeed plugin (v5.0.1)

We have just released a new experimental IQFeed plugin that adds 4 extra threads just to process CPU/time-consuming backfills. IQFeed backfills are resource-hungry as they are sent in plain text and need conversion to binary which is quite costly. Previously all that work was done in single UI thread that reduced UI smoothness especially when backfills were long. Now four separate threads process backfills which should greatly improve UI reaction time.

You can try out new IQFeed plugin now
http://www.amibroker.com/bin/iq501/IQFeed.dll (32-bit)
http://www.amibroker.com/bin/iq501x64/IQFeed.dll (64-bit)

Choose the version matching your installed AmiBroker, close any running AmIBroker instance and copy the DLL to “Plugins” subfolder.

You should see plugin version 5.0.1 in Tools->Plugins window.

Using this plugin you should no longer see problems with UI responsivity during backfills. Note however it is still beta version.

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

32-bit version:
http://www.amibroker.com/members/bin/ab6130beta.exe
(2 219 112 bytes)

64-bit version:
http://www.amibroker.com/members/bin/AmiBroker6130x64.exe
(10 433 160 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.10 or higher from http://www.amibroker.com/download.html

CHANGES FOR VERSION 6.13.0 (as compared to 6.12.0)

  1. AFL Editor: calling SetForeign thousands of times followed by RestorePriceArrays() could cause exception during code verify when number of symbols exceeded cache size. Fixed.
  2. AFL Editor: changes made in 6.11 to the way how automatic names for new formulas are assigned have been removed and replaced by new method that is faster and more reliable.
  3. AFL Editor: if clipboard is locked by another application the editor would retry opening clipboard upto 8 times before giving up
  4. AFL Editor: when formula was open cursor was located at the end. Now it is located at the top.
  5. AFL: GfxSetCoordsMode( mode ) accepts now four different modes
  6. AFL: MA function made upto 2 times faster, StDev function made 20% faster, Correlation made 40% faster
  7. AFL: NormDist( x, mean = 0, sigma = 1, cumulative = True ) function. Implements hi-precision algorithm.
  8. AFL: PriceVolDistribution( priceH, priceL, vol, bins, absolute = False, startbar = 0, endbar = -1 )
  9. AFL: 64-bit version AFL Correlation() produced slightly different values (+/-0.00001 typ) than 32-bit version due to compiler differences. Now 64-bit version produces same values as produced by all 32-bit versions.
  10. Charting: new feature – Snap to Tick grid. Snap drawing tool end points to TickSize-spaced grid (if TickSize > 0 for given symbol)
  11. Plugin loading routine displays a message box when plugins with incorrect bitness are found
  12. Plugin loading routine writes detailed error message to the broker.log in case of problem of DLL loading (must enable plugin log to use this feature)
  13. When drawn study is being modified, Y distance shown in the status bar accounts for activated snap-to-price and/or snap-to-tick mode now.

CHANGES FOR VERSION 6.12.0 (as compared to 6.11.0)

  1. AFL: new function GfxDrawImage( “filename”, x, y )
  2. AFL: new function CumProd( factor ) – cumulative product of array elements
  3. AFL: new function Prod( array, range ) – cumulative product of array elements over specified number of bars (range)
  4. AFL: new function ProdSince( condition, array ) – cumulative product of array elements since condition is met
  5. AFL: new function VoiceSelect( num ) – select SAPI (Speech API) voice to be used with Say() function, num is a numerical index of installed voices. By default Windows comes with just one voice, but one can add countless 3rd party voices
  6. AFL: new function VoiceCount( ) – returns number of available SAPI (Speech API) voices – to be used with Say() command
  7. AFL: StaticVarAdd with non-array input produced incorrect results. Fixed.
  8. UI: New Analysis: Alt+Enter shortcut added to bring up settings window
  9. UI: Quote Editor allows now immediate search for matching date – just type digits in format YYYYMMDD and list will automatically scroll and mark to quote that most closely matches entered date
  10. UI: Realtime quote window: a RMB context menu items are grayed when local data is used and an empty message is set to inform the user that he/she needs realtime data source to use this window
  11. UI: Symbol Information – date fields (like last split date, div date or delisting date) can now be cleared (select all and press DELETE) to set Empty/Null date
  12. UI: Symbols with COMMA (,) caused problems with multiple-selection operations. Now it is handled properly.

CHANGES FOR VERSION 6.11.0 (as compared to 6.10.0)

  1. AFL: added formatDateTimeISO for ISO formatting regardless of locale settings
  2. AFL: MxFromString was slow on very large matrices (>100000 cells) due to poor performance of strtod function from Microsoft C runtime. Now MxFromString does not use it and is even 1000 times faster on 100K+ cell matrices (5ms vs 5second)
  3. ASCII importer can now be even 20 times faster when importing NEW (non existing) data that were oddly sorted (like for example in reverse order – descending dates instead of ascending).
  4. ASCII importer is now twice as fast when updating already existing quotes thanks to using in-house code instead of msvcrt functions.
  5. Charting: Fibonacci maximum user-definable level increased to 9000% (from 1000%)
  6. Idle processing is forced now every 125 ms (instead of 250ms) in Analysis window to update UI components more frequently under heavy CPU load
  7. Ruin stop is identified by Short(ruin) / Sell(ruin) instead of Short(6) / Sell(6)
  8. Startup splash screen is displayed a little sooner now and some pre-loading of editor components is done at start to save time to open editor later
  9. When there were thousands of files in “Formulas” folder opening editor for the first time could take some time. Now this time is significantly reduced.

KNOWN ISSUES:

  1. None

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

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

32-bit version:
http://www.amibroker.com/members/bin/ab6120beta.exe
(2 215 720 bytes)

64-bit version:
http://www.amibroker.com/members/bin/AmiBroker6120x64.exe
(10 431 400 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.10 or higher from http://www.amibroker.com/download.html

CHANGES FOR VERSION 6.12.0 (as compared to 6.11.0)

  1. AFL: new function GfxDrawImage( “filename”, x, y )
  2. AFL: new function CumProd( factor ) – cumulative product of array elements
  3. AFL: new function Prod( array, range ) – cumulative product of array elements over specified number of bars (range)
  4. AFL: new function ProdSince( condition, array ) – cumulative product of array elements since condition is met
  5. AFL: new function VoiceSelect( num ) – select SAPI (Speech API) voice to be used with Say() function, num is a numerical index of installed voices. By default Windows comes with just one voice, but one can add countless 3rd party voices
  6. AFL: new function VoiceCount( ) – returns number of available SAPI (Speech API) voices – to be used with Say() command
  7. AFL: StaticVarAdd with non-array input produced incorrect results. Fixed.
  8. UI: New Analysis: Alt+Enter shortcut added to bring up settings window
  9. UI: Quote Editor allows now immediate search for matching date – just type digits in format YYYYMMDD and list will automatically scroll and mark to quote that most closely matches entered date
  10. UI: Realtime quote window: a RMB context menu items are grayed when local data is used and an empty message is set to inform the user that he/she needs realtime data source to use this window
  11. UI: Symbol Information – date fields (like last split date, div date or delisting date) can now be cleared (select all and press DELETE) to set Empty/Null date
  12. UI: Symbols with COMMA (,) caused problems with multiple-selection operations. Now it is handled properly.

CHANGES FOR VERSION 6.11.0 (as compared to 6.10.0)

  1. AFL: added formatDateTimeISO for ISO formatting regardless of locale settings
  2. AFL: MxFromString was slow on very large matrices (>100000 cells) due to poor performance of strtod function from Microsoft C runtime. Now MxFromString does not use it and is even 1000 times faster on 100K+ cell matrices (5ms vs 5second)
  3. ASCII importer can now be even 20 times faster when importing NEW (non existing) data that were oddly sorted (like for example in reverse order – descending dates instead of ascending).
  4. ASCII importer is now twice as fast when updating already existing quotes thanks to using in-house code instead of msvcrt functions.
  5. Charting: Fibonacci maximum user-definable level increased to 9000% (from 1000%)
  6. Idle processing is forced now every 125 ms (instead of 250ms) in Analysis window to update UI components more frequently under heavy CPU load
  7. Ruin stop is identified by Short(ruin) / Sell(ruin) instead of Short(6) / Sell(6)
  8. Startup splash screen is displayed a little sooner now and some pre-loading of editor components is done at start to save time to open editor later
  9. When there were thousands of files in “Formulas” folder opening editor for the first time could take some time. Now this time is significantly reduced.

KNOWN ISSUES:

  1. None

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

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

32-bit version:
http://www.amibroker.com/members/bin/ab6110beta.exe
(2 210 800 bytes)

64-bit version:
http://www.amibroker.com/members/bin/AmiBroker6110x64.exe
(10 428 624 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.10 or higher from http://www.amibroker.com/download.html

CHANGES FOR VERSION 6.11.0 (as compared to 6.10.0)

  1. AFL: added formatDateTimeISO for ISO formatting regardless of locale settings
  2. AFL: MxFromString was slow on very large matrices (>100000 cells) due to poor performance of strtod function from Microsoft C runtime. Now MxFromString does not use it and is even 1000 times faster on 100K+ cell matrices (5ms vs 5second)
  3. ASCII importer can now be even 20 times faster when importing NEW (non existing) data that were oddly sorted (like for example in reverse order – descending dates instead of ascending).
  4. ASCII importer is now twice as fast when updating already existing quotes thanks to using in-house code instead of msvcrt functions.
  5. Charting: Fibonacci maximum user-definable level increased to 9000% (from 1000%)
  6. Idle processing is forced now every 125 ms (instead of 250ms) in Analysis window to update UI components more frequently under heavy CPU load
  7. Ruin stop is identified by Short(ruin) / Sell(ruin) instead of Short(6) / Sell(6)
  8. Startup splash screen is displayed a little sooner now and some pre-loading of editor components is done at start to save time to open editor later
  9. When there were thousands of files in “Formulas” folder opening editor for the first time could take some time. Now this time is significantly reduced.

KNOWN ISSUES:

  1. None

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

AmiBroker 6.10.0 official release

Stability: Rank 5 – Official release, stable

A new official version (6.10.0) of AmiBroker has just been released.

32-bit version:
http://www.amibroker.com/members/bin/AmiBroker6100.exe
(9 752 536 bytes)

64-bit version:
http://www.amibroker.com/members/bin/AmiBroker6100x64.exe
(10 429 200 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.

UPGRADE POLICY
This version is a free upgrade only for users who registered AmiBroker after December 15, 2013. Users who registered earlier, would need to purchase license upgrade. To find out the version you currently have use Account Information page at http://www.amibroker.com/members/info.php

NOTE: This version works both as fresh first-time install and as in-place upgrade. Previous installation (if any) is detected and setup switches into ‘upgrade’ mode. Don’t worry, your charts, formulas, etc won’t be affected by the upgrade.

WHAT’S NEW AND HOW TO USE NEW FUNCTIONALITY
For the detailed information about what is new in official release 6.10 and how to use new functionality please check What’s new page in the Users’ Guide.

CHANGES FOR VERSION 6.10.0 (as compared to 6.09.1)

  1. SetOption new fields for Monte Carlo
  2. QuickData cache was not flushed when double clicking on Analysis result list to display chart. Fixed.
  3. MonteCarlo: added an option to use negative number for drawdowns (on by default). This reverses the ordering of “drawdown” column in the MC table and reverses the meaning (i.e. 10% percentile value means that there is 10% chance of drawdowns being equal or worse (more negative) than presented amount).
  4. AFL: Gfx: low-level graphic recorded on layer 128 was played prematurely. Fixed.
  5. Added error message when user attempts to write value to BarCount (read-only symbol)
  6. Documentation update

CHANGES FOR VERSION 6.09.1 (as compared to 6.08.0)

  1. Analysis Settings: Tab order was incorrect in Settings/Monte Carlo in 6.09.0 causing radio button group to behave incorrectly. Fixed in 6.09.1.
  2. AFL Editor: an error message box displayed when @link file was not found caused main frame to get focus. Fixed.
  3. AFL Editor: auto-complete and parameter tooltips poped up when adding/editing Doxygen/JavaDoc comment sections. Fixed.
  4. AFL: new function fgetcwd – get current working directory
  5. Analysis: Monte Carlo – semi logarithmic scale can be now used for Equity, Final Equity and $ Drawdown distribution charts (see Settings)
  6. Analysis: Monte Carlo simulation has now a few mode “Simulate usign equity changes”. This uses bar-per-bar percent portfolio equity changes to generate permutations instead of trade list.
  7. Documentation (help files) have been updated
  8. UI: Enlarged crash recovery window because people send us screenshots instead of clicking “Send report” button. Please click “SEND REPORT” instead of sending screenshots. Screenshots unfortunatelly do not contain all information, so now at least some more
  9. UI: On Windows Vista and higher all tree views now use double buffering to avoid flicker
  10. UI: XY charts and Monte Carlo charts axes use M suffix for numbers bigger than one million

CHANGES FOR VERSION 6.08.0 (as compared to 6.07.0)

  1. AFL Editor: Implemented clickable JavaDoc/Doxygen-style links in doc comments
  2. AFL: Unary minus and NOT operator could cause crash when applied to result of undefined function or variable of non-numeric type. Fixed.
  3. 64-bit stack walker does not use Microsoft symbol server anymore so it can init a lot faster. Also initialization of stack walker is moved to startup sequence because doing it after exception is risky and unreliable
  4. 64-bit: access violations during Analysis run do not result in ‘application not responding’ freeze. Instead bug report is displayed with proper call stack.
  5. After change in 6.02 exception dialog displayed first error in the formula even if exception was really caused not by first but last error. Fixed.
  6. Exception info could get mixed up when multiple threads generated them at the same time. Fixed.
  7. New Analysis: Auto-size column functionality re-displayed hidden columns. Fixed.
  8. UI: AmiBroker now prevents piling on “Bug recovery” dialogs when multiple exceptions are thrown from multiple threads. First dialog is displayed, other exceptions are logged into DebugView as long as “Bug recovery” is not dismissed.
  9. “Rename” and backup functions in several places could fail if new file name already existed. Fixed.
  10. Support for Windows 95 is dropped

CHANGES FOR VERSION 6.07.0 (as compared to 6.06.0)

  1. AFL: compression for array Static variables implemented to save memory and file size: StaticVarSet has additional parameter that controls compression
  2. AFL: printf/StrFormat check for %s, %c, %d, %x, %i, %u, %x, %p sequences that are not supported now and prints Error 62 when they are found.
  3. AFL: printf/StrFormat now implement a check for correct formatting string as sometimes users passed strings with % that is special marker for formatting string instead of %% to print actual percent sign
  4. AFL: Some variable period functions such as Ref/Sum/MA incorrectly accepted matrix as a ‘period’. Fixed (proper error message is displayed now).
  5. AFL: StaticVarGet/StaticVarSet functions now support matrices including persistency (so matrices can be written to disk and loaded back between AmiBroker runs)
  6. AFL: VarSet/VarGet officially accept matrices (allow dynamic variables of matrix type). (FWIW they were accepted in previous versions but implementation was incomplete.)
  7. Charting: Candlestick wicks thickness is now user definable as % of candle width with a max. pixel width (Tools->Preferences, “Bars and Candles” tab). Also by default wick thickness is now 25%/5px max instead of constant 1 pixel.
  8. Charting: Cycles tool in weekly chart produced incorrect lines when it went past 2038. Fixed.
  9. Charting: Horizontal line tool level is now displayed with number of decimals as defined in Preferences (Misc tab, “decimal places in chart titles/tools”). Note that this setting is used when you draw a new line or modify old.
  10. Debugger: Added F5 key as keyboard shortcut for “Debug / Go”

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 3×3 matrix): { { x00, x01, x02 }, { x10, x11, x12 }, { x20, x21, x22 } }

KNOWN ISSUES:

  1. None

AmiBroker 6.09.1 Release Candidate

Stability: Rank 4 – Release Candidate, pretty stable, should work fine in most environments

This is a Release Candidate version. Make a backup first

A new RC version (6.09.1) of AmiBroker has just been released.

32-bit version:
http://www.amibroker.com/members/bin/AmiBroker6091.exe
(9 509 032 bytes)

64-bit version:
http://www.amibroker.com/members/bin/AmiBroker6091x64.exe
(10 188 104 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.

UPGRADE POLICY
This version is a free upgrade only for users who registered AmiBroker after December 15, 2013. Users who registered earlier, would need to purchase license upgrade. To find out the version you currently have use Account Information page at http://www.amibroker.com/members/info.php

NOTE: This version works both as fresh first-time install and as in-place upgrade. Previous installation (if any) is detected and setup switches into ‘upgrade’ mode. Don’t worry, your charts, formulas, etc won’t be affected by the upgrade.

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.09.1 (as compared to 6.08.0)

  1. Analysis Settings: Tab order was incorrect in Settings/Monte Carlo in 6.09.0 causing radio button group to behave incorrectly. Fixed in 6.09.1.
  2. AFL Editor: an error message box displayed when @link file was not found caused main frame to get focus. Fixed.
  3. AFL Editor: auto-complete and parameter tooltips poped up when adding/editing Doxygen/JavaDoc comment sections. Fixed.
  4. AFL: new function fgetcwd – get current working directory
  5. Analysis: Monte Carlo – semi logarithmic scale can be now used for Equity, Final Equity and $ Drawdown distribution charts (see Settings)
  6. Analysis: Monte Carlo simulation has now a few mode “Simulate usign equity changes”. This uses bar-per-bar percent portfolio equity changes to generate permutations instead of trade list.
  7. Documentation (help files) have been updated
  8. UI: Enlarged crash recovery window because people send us screenshots instead of clicking “Send report” button. Please click “SEND REPORT” instead of sending screenshots. Screenshots unfortunatelly do not contain all information, so now at least some more
  9. UI: On Windows Vista and higher all tree views now use double buffering to avoid flicker
  10. UI: XY charts and Monte Carlo charts axes use M suffix for numbers bigger than one million

CHANGES FOR VERSION 6.08.0 (as compared to 6.07.0)

  1. AFL Editor: Implemented clickable JavaDoc/Doxygen-style links in doc comments
  2. AFL: Unary minus and NOT operator could cause crash when applied to result of undefined function or variable of non-numeric type. Fixed.
  3. 64-bit stack walker does not use Microsoft symbol server anymore so it can init a lot faster. Also initialization of stack walker is moved to startup sequence because doing it after exception is risky and unreliable
  4. 64-bit: access violations during Analysis run do not result in ‘application not responding’ freeze. Instead bug report is displayed with proper call stack.
  5. After change in 6.02 exception dialog displayed first error in the formula even if exception was really caused not by first but last error. Fixed.
  6. Exception info could get mixed up when multiple threads generated them at the same time. Fixed.
  7. New Analysis: Auto-size column functionality re-displayed hidden columns. Fixed.
  8. UI: AmiBroker now prevents piling on “Bug recovery” dialogs when multiple exceptions are thrown from multiple threads. First dialog is displayed, other exceptions are logged into DebugView as long as “Bug recovery” is not dismissed.
  9. “Rename” and backup functions in several places could fail if new file name already existed. Fixed.
  10. Support for Windows 95 is dropped

CHANGES FOR VERSION 6.07.0 (as compared to 6.06.0)

  1. AFL: compression for array Static variables implemented to save memory and file size: StaticVarSet has additional parameter that controls compression
  2. AFL: printf/StrFormat check for %s, %c, %d, %x, %i, %u, %x, %p sequences that are not supported now and prints Error 62 when they are found.
  3. AFL: printf/StrFormat now implement a check for correct formatting string as sometimes users passed strings with % that is special marker for formatting string instead of %% to print actual percent sign
  4. AFL: Some variable period functions such as Ref/Sum/MA incorrectly accepted matrix as a ‘period’. Fixed (proper error message is displayed now).
  5. AFL: StaticVarGet/StaticVarSet functions now support matrices including persistency (so matrices can be written to disk and loaded back between AmiBroker runs)
  6. AFL: VarSet/VarGet officially accept matrices (allow dynamic variables of matrix type). (FWIW they were accepted in previous versions but implementation was incomplete.)
  7. Charting: Candlestick wicks thickness is now user definable as % of candle width with a max. pixel width (Tools->Preferences, “Bars and Candles” tab). Also by default wick thickness is now 25%/5px max instead of constant 1 pixel.
  8. Charting: Cycles tool in weekly chart produced incorrect lines when it went past 2038. Fixed.
  9. Charting: Horizontal line tool level is now displayed with number of decimals as defined in Preferences (Misc tab, “decimal places in chart titles/tools”). Note that this setting is used when you draw a new line or modify old.
  10. Debugger: Added F5 key as keyboard shortcut for “Debug / Go”

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 3×3 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.09.0 RC READ ME

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

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

32-bit version:
http://www.amibroker.com/members/bin/ab6080beta.exe
(2 372 160 bytes)

64-bit version:
http://www.amibroker.com/members/bin/AmiBroker6080x64.exe
(10 120 848 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.

UPGRADE POLICY
This version is a free upgrade only for users who registered AmiBroker after December 15, 2013. Users who registered earlier, would need to purchase license upgrade. To find out the version you currently have use Account Information page at http://www.amibroker.com/members/info.php

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.08.0 (as compared to 6.07.0)

  1. AFL Editor: Implemented clickable JavaDoc/Doxygen-style links in doc comments
  2. AFL: Unary minus and NOT operator could cause crash when applied to result of undefined function or variable of non-numeric type. Fixed.
  3. 64-bit stack walker does not use Microsoft symbol server anymore so it can init a lot faster. Also initialization of stack walker is moved to startup sequence because doing it after exception is risky and unreliable
  4. 64-bit: access violations during Analysis run do not result in ‘application not responding’ freeze. Instead bug report is displayed with proper call stack.
  5. After change in 6.02 exception dialog displayed first error in the formula even if exception was really caused not by first but last error. Fixed.
  6. Exception info could get mixed up when multiple threads generated them at the same time. Fixed.
  7. New Analysis: Auto-size column functionality re-displayed hidden columns. Fixed.
  8. UI: AmiBroker now prevents piling on “Bug recovery” dialogs when multiple exceptions are thrown from multiple threads. First dialog is displayed, other exceptions are logged into DebugView as long as “Bug recovery” is not dismissed.
  9. “Rename” and backup functions in several places could fail if new file name already existed. Fixed.
  10. Support for Windows 95 is dropped

CHANGES FOR VERSION 6.07.0 (as compared to 6.06.0)

  1. AFL: compression for array Static variables implemented to save memory and file size: StaticVarSet has additional parameter that controls compression
  2. AFL: printf/StrFormat check for %s, %c, %d, %x, %i, %u, %x, %p sequences that are not supported now and prints Error 62 when they are found.
  3. AFL: printf/StrFormat now implement a check for correct formatting string as sometimes users passed strings with % that is special marker for formatting string instead of %% to print actual percent sign
  4. AFL: Some variable period functions such as Ref/Sum/MA incorrectly accepted matrix as a ‘period’. Fixed (proper error message is displayed now).
  5. AFL: StaticVarGet/StaticVarSet functions now support matrices including persistency (so matrices can be written to disk and loaded back between AmiBroker runs)
  6. AFL: VarSet/VarGet officially accept matrices (allow dynamic variables of matrix type). (FWIW they were accepted in previous versions but implementation was incomplete.)
  7. Charting: Candlestick wicks thickness is now user definable as % of candle width with a max. pixel width (Tools->Preferences, “Bars and Candles” tab). Also by default wick thickness is now 25%/5px max instead of constant 1 pixel.
  8. Charting: Cycles tool in weekly chart produced incorrect lines when it went past 2038. Fixed.
  9. Charting: Horizontal line tool level is now displayed with number of decimals as defined in Preferences (Misc tab, “decimal places in chart titles/tools”). Note that this setting is used when you draw a new line or modify old.
  10. Debugger: Added F5 key as keyboard shortcut for “Debug / Go”

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 3×3 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.08.0 BETA READ ME

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

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

32-bit version:
http://www.amibroker.com/members/bin/ab6070beta.exe
(2 370 672 bytes)

64-bit version:
http://www.amibroker.com/members/bin/AmiBroker6070x64.exe
(10 117 192 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.07.0 (as compared to 6.06.0)

  1. AFL: compression for array Static variables implemented to save memory and file size: StaticVarSet has additional parameter that controls compression
  2. AFL: printf/StrFormat check for %s, %c, %d, %x, %i, %u, %x, %p sequences that are not supported now and prints Error 62 when they are found.
  3. AFL: printf/StrFormat now implement a check for correct formatting string as sometimes users passed strings with % that is special marker for formatting string instead of %% to print actual percent sign
  4. AFL: Some variable period functions such as Ref/Sum/MA incorrectly accepted matrix as a ‘period’. Fixed (proper error message is displayed now).
  5. AFL: StaticVarGet/StaticVarSet functions now support matrices including persistency (so matrices can be written to disk and loaded back between AmiBroker runs)
  6. AFL: VarSet/VarGet officially accept matrices (allow dynamic variables of matrix type). (FWIW they were accepted in previous versions but implementation was incomplete.)
  7. Charting: Candlestick wicks thickness is now user definable as % of candle width with a max. pixel width (Tools->Preferences, “Bars and Candles” tab). Also by default wick thickness is now 25%/5px max instead of constant 1 pixel.
  8. Charting: Cycles tool in weekly chart produced incorrect lines when it went past 2038. Fixed.
  9. Charting: Horizontal line tool level is now displayed with number of decimals as defined in Preferences (Misc tab, “decimal places in chart titles/tools”). Note that this setting is used when you draw a new line or modify old.
  10. Debugger: Added F5 key as keyboard shortcut for “Debug / Go”

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 3×3 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.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 3×3 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 3×3 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

Next Page »