amibroker

HomeDevLog

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

32-bit version:
http://www.amibroker.com/members/bin/ab5870beta.exe
(2 388 984 bytes)

64-bit version:
http://www.amibroker.com/members/bin/AmiBroker5870x64.exe
(9 748 608 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.80 or higher from http://www.amibroker.com/download.html

CHANGES FOR VERSION 5.87.0 (as compared to 5.86.0)

  1. AFL Editor: in-line error reporting use bold font to highlight identifiers in the error messages for better readability
  2. AFL: GetOption can now read BuyDelay/SellDelay/ShortDelay/CoverDelay which makes it easier to write like this: Ref( Buy, -GetOption(“BuyDelay” );
  3. AFL: new function: Reverse( array, first = 0, last = -1 ) – returns a new array with the order of the elements in specified range reversed
  4. AFL: new function: Sort( array, first = 0, last = -1 ) – sort a numerical array in ascending order starting from ‘first’ element ending at ‘last’ element. If ‘last’ is not specified or negative then AmiBroker will use BarCount – 1
  5. AFL: new function: StrSort( “item,list,to,be,sorted”, caseSensitive = True, separator = ‘,’ ) – perform sorting of comma-separated string (case sensitive/insensitive, separator definable!)
  6. AFL: new function: StrTrim( “string”, “targets”, side = 3 ) – a function to trim extra characters (specified in “targets”) from either left (1), right(2) or both(3) sides of the string. If “targets” parameter is an empty string, then function trims whitespaces (i.e. space, tab, newline)
  7. AFL: StrExtract has now extra parameter allowing to specify separator character, example StrExtract(“This;Is;Semicolon;Separated”, 3, ‘;’ );
  8. AFL: StrMid( “string”, start, count ) now allows to skip “count” parameter. If you skip count, then a substring starting from ‘start’ to the end of the string will be returned.
  9. AFL/Charts: added ability to control number of decimals in chart value labes via GraphLabelDecimals variable (example, adding GraphLabelDecimals = 2; to the formula would give you value lables with 2 decimal places
  10. Removed old-style Graph3*, Graph4*, Graph5*, Graph6*, Column3, 4, 5, 6 identifiers from auto-complete lists (only 0..2 left)
  11. Report Explorer: Edit->Copy now copies selection only (not entire table)

CHANGES FOR VERSION 5.86.0 (as compared to 5.85.0)

  1. AFL Editor: repeat replace + wrap around restarts only once and if no further matches/replaces are found it displays “no more matching texts” instead of restarting again.
  2. AFL Editor: when user closed Find&Replace dialog and then pressed F3 (find next) a couple of times to pass thru the end of document a crash could occur. Fixed.
  3. Analysis: HTML report generator – settings page used tags to close some tags which is formally incorrect, even if it works. Fixed.
  4. Charts: Extreme descenders in text could be truncated (by one pixel) in multiple line Title strings. Fixed.
  5. HTMLView – Backtest report viewer – added Edit/Copy, Edit/Select All and Edit/Copy TABLE. The last command transforms HTML tables into CSV format and copies it into clipboard so tables can be pasted easily to Excel. Also it divides Entry/Exit columns into separate Entry/exit date/price columns
  6. Parameter window: mouse wheel scroll is now supported
  7. Realtime Quote window: added Bid/Ask trend – a graphical indicator showing the direction of 10 most recent changes in bid/ask prices
  8. Realtime Quote window: Sorting by Full name column did no work. Fixed
  9. Report Explorer: Column layout (order and sizes) is now saved and restored between runs
  10. Report Explorer: Loading and refresh performance significantly improved (5x) using owner draw/ virtual mode
  11. Report Explorer: Multi-column sorting implemented
  12. Report Explorer: Numeric columns are now right aligned for better readability
  13. Report Explorer: visuals significantly improved (list uses modern style, grid lines, immediate column resizing, double buffering for no flicker, thousand separators, negative values are displayed in dark red, HighDPI aware, changed toolbar)
  14. Snippet properties window now includes formula field for quick reference (no highlighting here – it is by design)

CHANGES FOR VERSION 5.85.0 (as compared to 5.84.0)

  1. AFL Editor: backtest* mode constants added to auto-complete list
  2. AFL Editor: now Code snippets are available in auto complete list (type @ plus first letter of snippet key trigger), and even without auto complete activated @keytrigger is replaced by snippet text
  3. AFL: added support for single-character literals, so you don’t need to use Asc() funciton.
  4. AFL: adding/removing symbols to/from watch list via CategoryAddSymbol/CategoryRemoveSymbol wasn’t thread safe. Fixed.
  5. AFL: AmiBroker now checks number passed to SetOption(“MaxOpenPosition”, x ) and SetOption(“WorstRankHeld”,x ) and trims down the request to number of symbols in database to prevent running out of memory when user specifies some absurdly high values,
  6. AFL: new function SendEmail( “subject”, “message”, ShowUI = False )
  7. AFL: SetOption(“MarginRequirement”, x ) checks if x is in the range 1..100 and displays an error if not.
  8. Backtest: backtestRegular now keeps detailed info on sequencing of signals within single bar to avoid problems with premature exit of just opened trade when same bar exits were allowed and previous trade was not open due to insuffcient funds leaving an unmatched exit signal.
  9. Code Snippets: added “Properties” button to the toolbar that allows editing name/description/key trigger without re-inserting snippet
  10. Code Snippets: New snippet/Properties dialog is now resizable
  11. UI: changed cursor shape in all tree views from “hand” to normal arrow
  12. UI: Code snippet window is now also available when AFL editor is in MDI mode (use Window->Code Snippet menu when AFL editor is open)
  13. UI: Interpretation window: Ctrl+C (clipboard copy) did not copy the interpretation text in 5.8x. Fixed.

CHANGES FOR VERSION 5.84.0 (as compared to 5.83.0)

  1. AFL Editor: Idle-time Info tips were positioned incorrectly in 5.83. Fixed.
  2. AFL Editor: Text of inserted snippet is selected so one can easily see what was inserted and delete it if was a mistake.
  3. AFL: added Error 57. Invalid quotation mark (when user uses curly quotation marks instead of straight quotation marks ” to type a string literal)
  4. OLE: Document object has new property Interval (integer, read/write) – selected Interval in seconds (tick/range/volume intervals are represented by negative values)
  5. Report Charts: now it is possible to output HTML instead of graphics in report chart formulas using AFL: EnableTextOutput( 3 ) – HTML output to backtest report
  6. Report Charts: rewritten 3. Profit Table.afl using HTML embedding features auto-scalable layout (so it enlarges when numbers are bigger), bold summary columns, negative values in red, boundary date changed to last day of year/month
  7. UI: added Code Snippets window – allows inserting/deleting/saving selected parts of the formula as snippets. Also implemented is convenient drag-drop of snippet to the formula edit window
  8. UI: Further display improvements of Parameter window for high-DPI displays (ParamList bullet point is bigger and positioned better, Slider is resized when resizing param window, etc, etc)
  9. UI: On non-standard DPI displays Parameter window could show some visual artifacts when scrolling. Fixed.

CHANGES FOR VERSION 5.83.0 (as compared to 5.82.1)

  1. AFL Editor: Parameter info tip AND auto-complete list can be displayed simultaneously
  2. AFL Editor: parameter info tip does not disappear on pressing Backspace key anymore.
  3. AFL Editor: Parameter info updates highlighted parameter when moving cursor inside function’s param list
  4. AFL Editor: Verify formula run on symbol without any quotes could cause access violation. Fixed (proper error message is displayed).
  5. AFL Editor: when syntax check is performed and errors are detected, the editor is immediately scrolled to first error
  6. AFL engine: brand new custom micro allocator speeds up AFL execution of complex formulas with nested loops upto 3 times.

    // example benchmark showing 3x speedup

    GetPerformanceCounter(1);
    x = Close[ 0 ];
    for( i = 0; i < 100; i++ ) for( k = 0; k < BarCount; k++ ) { x = IIf( x < Close[ k ], x, Close[ k ] ); } printf("Time = %g", GetPerformanceCounter() ); Timings (4000 bars) 5.83 time 146ms, 5.82 time 450ms, 5.80 time 440ms

  7. AFL: Since v5.65 RestorePriceArrays() did nothing when there was no preceding SetForeign/TimeFrameSet. Now restores data if user explicitely overwrote OHLC arrays in the code preceding it.
  8. Analysis: Detailed Log message “Symbol not entered bcause of insufficient funds” improved to display requested position size in units such as shares/% of equity instead of just encoded negative value
  9. Analysis: Minimum value for “Margin Requirement” is now 1 (1%)
  10. Analysis: Table header in the HTML report trade list is now right aligned (to match number alignment) (affects newly generated reports only)
  11. Analysis: fixed HoldMinBars check for scenario 3 with both buy and sell generated on all bars and random scores.
  12. Code snippets: New line \n was truncated from “data export” snippet. Fixed.
  13. Commentary: attempt to display commentary on symbol without any quotes could cause access violation. Fixed.
  14. New Analysis: Less refreshes of Info page provide some extra speed
  15. New Analysis: Watch list 0 was used automatically (without opening WL selection dialog) when new watch list is created between scan and RMB click->Add results. Fixed.
  16. Turned on LowFragmentationHeap in number of places
  17. UI: Parameter window look and feel improved. Item height is increased and slider thumb made wider for easier use on small size/high DPI screens

CHANGES FOR VERSION 5.82.1 (as compared to 5.82.0)

  1. AFL Engine: fixes for stability issues in 5.81.0/5.82.0
  2. Filter dialog: a matching count wasn’t updated on opening the dialog. Fixed.
  3. Bug report window made a little bigger so at least crash address is seen when someone sends screenshot instead of text

CHANGES FOR VERSION 5.82.0 (as compared to 5.81.0)

  1. UI: Interpretation and Commentary windows now support color text (via EncodeColor), bold and italic styles (tags: for bold, for italic)
  2. UI: Notepad, Interpretation and Commentary windows use default GUI font instead of hard-coded Tahoma now
  3. AFL: functionality of PlotGrid() function extended
  4. UI: Filter dialog now displays number of matching symbols in real-time as selections are made
  5. AFL Editor: added 4 new snippets under “Function” category
  6. AFL: In 5.81.0 CategoryGetName returned nothing (void) instead of string type when specified category did not exist. Fixed (empty string is returned now)
  7. AFL engine: in v5.81 access violation could occur when AFL array size was 0. Fixed.
  8. New Analysis: portfolio backtest processing was attempted even if there was no symbols that matched “apply to” filter. Fixed (unnecesary processing is skipped now).
  9. AFL: CCI function speeded up by 50%
  10. Inserting indicator with Param() calls into chart when currently selected symbol had no quotes caused exception. Fixed.

CHANGES FOR VERSION 5.81.0 (as compared to 5.80.3)

  1. AFL Engine: custom memory allocator does not use Microsoft runtime lib for reference tracking anymore. Result – complex formulas with lots of loops and OLE (especially low-level custom backtests) run upto 3 times faster in 32 bit and 4 times faster in 64-bit
  2. AFL Editor: Parameter info tip significantly enhanced – now it re-opens on typing each , (comma) and highlights current parameter to be entered.
  3. UI: Column setup dialog: added Mark All / Toggle All buttons
  4. AFL: GetFormulaPath() function added – returns full formula file path
  5. AFL Editor: Smart reference highlighting implemented (usage: mark a word and all references become highlighted).
  6. AFL Editor: Find/Replace shows a message box when reached the end of the file and offers restarting from the beginning if new “Wrap around” option is turned on.
  7. AFL Engine: code refactoring for reduced size and improved speed
  8. AFL Engine: when value of unsupported type was appended to string a crash could occur. Fixed.
  9. AFL Engine: when IIf was called the memory upsized from scalar to array could get freed twice (wrong). Fixed
  10. AFL: MACD() and Signal() functions made faster (approx 1.5-2x times)
  11. Analysis: Interest is added at the beginning of next bar (instead of end of current bar), to account for overnight rate. This also fixes the problem of ignoring interest in v.> 5.69
  12. UI: fixed yet another place where entering customization changed working dir

KNOWN ISSUES:

  1. None

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

Comments are closed.