May 13, 2015
Stability: – Regular BETA, pretty stable, should work fine in most environments
This is a BETA version. Make a backup first
A new beta version (5.97.0) of AmiBroker has just been released.
(2 496 600 bytes)
(9 990 000 bytes)
If you can not log in into members’ area please get your new password by filling the form at: http://www.amibroker.com/login.html
IMPORTANT: Unauthorized copying and/or distribution of materials found on members’ only page is STRICTLY PROHIBITED and will result in IMMEDIATE termination of license.
Remember to BACKUP YOUR FILES FIRST !
Note that this version can only be installed onto previous full installation of version 5.90 or higher from http://www.amibroker.com/download.html
CHANGES FOR VERSION 5.97.0 (as compared to 5.96.0)
- Analysis: Backtest report uses now client-side script pagination when trade list contains more than 1000 trades so it takes less time to display it (3s vs 15s for 30K trades). (Experimental, may be removed)
- Analysis: MC: MC Min/Max/Strawbroom equit chart was getting slow when number of trades in backtest exceeded 1000. It draws faster now.
- Analysis: Monte Carlo charts are now moved to Reports (so they appear in the REPORT as a separate page, not as tabs in Analysis) and generated in separate thread
- Analysis: Monte Carlo: numerical values of distributions are now included in the Report / Monte Carlo page
- HtmlView: new version 1.3, improved performance of Edit->Copy Table for large tables (>30K rows) by 2 orders of magnitude. Also added support for paginated tables.
- In 5.9x single-symbol portfolio backtests were reported as “0-symbols” in Report Explorer. Fixed (fix applies to newly run backtests only)
- OLE: added LoadWatchlists() method to Broker.Application object. It allows to re-load watchlist files for currently loaded database without re-loading entire database. (Just in case you ask for SaveWatchlists – watchlists are saved when you call SaveDatabase)
- OLE: splash screen closes automatically after 1 second if program was launched from OLE, instead of being displayed as long as OLE object is active
- UI: Added global Analysis->Report Explorer menu to access Report explorer without need to open Analysis window
- UI: small tweaks and fixes to About/Splash screen.
CHANGES FOR VERSION 5.96.0 (as compared to 5.95.0)
- AFL Editor: Verify Syntax uses raw symbol quotes, so it is faster and works regardless of “mixed data” setting
- AFL Editor: Word wrap – wrapped lines uses same indent as previous line
- AFL: added SetStopPrecedence function
- AFL: ApplyStop() has 2 more parameters: ValidFrom/ValidTo – define starting and ending bar since entry when stop is active
- AFL: new function: _TRACEF() – printf-formatted trace
- AFL: Param() offers increased stepping precision for small fractional increments
- Analysis: some newly introduced settings (MC mainly) were not saved in Analysis project. Now they are saved.
- In 5.95.0 formulas 0, 1, -1, Null constants for Buy/Sell/Short/Cover assignments and using Equity() could crash. Fixed.
- In 5.95.0 when ExitAtStop==1 for NBarStop was used it deactivated other stops in backtestRegular mode. Fixed.
- In backtestRegular mode (old code path) when HoldMinBars was >=2 and exit was triggered on very first bar opening after hold period price was not adjusted to open as in other (new) backtest modes. Fixed.
- Monte Carlo: MC can be now enabled in Optimization and Individual Backtest
- UI: added special “meaningful” message on attempt to open the .APX file that has invalid format
- UI: Analysis settings are now made newbie-friendly – a new “SCENARIO” combo has been added that allows to choose from 4 preset scenarios
- UI: Analysis Settings: “Activate stops immediately” check box has been moved from “General” to “Stops” tab where it really belongs functionally
- UI: new About dialog/startup splash screen (asynchronously showing app loading info)
- UI: Parameter window: when parameter names are very long, value area is shrinked down to give more space for name, but not less than 160px/96DPI
CHANGES FOR VERSION 5.95.0 (as compared to 5.94.0)
- AFL Editor: Pretify formatting fixes and improvements. Also editor attempts to keep unchanged scroll position after prettify.
- AFL Editor: Prettify selection now removes extra padding around parenthesis and leaves only one space pad inside
- AFL Editor: Word wrap implemented (View->Word Wrap menu)
- AFL Engine: upsizing certain common scalar values (-1, 0, 1, Null) to array is much quicker thanks to caching
- AFL: #pragma maxthreads N – where N is a natural number 1…
. Allows to lower the number of parallel threads using in Analysis. For example to run in just one thread use #pragma maxthreads 1
- AFL: ApplyStop has new, 7th parameter: precedence that defines the order in which stops are triggered if they appear on the very same bar
- AFL: Custom Backtest: Monte Carlo simulation results are now available in custom bactester (after backtest or PostProcess()). GetMonteCarloSim() to retrieve MC object to access distributions
- AFL: MonteCarloSim GetValue( “field”, percentile )
- AFL: new function: IIR – general-purpose Infinite Impulse Response filter of order 1-4
- AFL: SetOption/GetOption new fields for MC Equity/Straw broom chart, “MCChartEquityCurves” (true/false), “MCStrawBroomLines” (0..100), MCPosSizePctEquity (0..100)
- AFL: Status(“ThreadID”) – gets the current thread ID under which formula is executed
- Analysis: MCS: new position sizing method: Percent of Equity
- Backtest: fixed ruin stop (99.6% drawdown) in backtestModeRegular is executed last as in other modes now.
- Memory usage was larger in 5.94 when lots of chart panes were open. Now it is back to previous levels.
- MonteCarlo: Min/Max/Avg Equity + Straw broom chart implemented + Settings
- UI: Enhanced Assignment Organizer: Faster operation, display FULL NAME alongside with symbol, sorting by column, alternate row background, proportional resizing of both left/right lists
CHANGES FOR VERSION 5.94.0 (as compared to 5.93.0)
- Analysis: implemented high-speed integrated Monte Carlo simulation (preliminary) that produces CDF charts of MC Final Equity, MC CAR, MC Max Drawdown $ and %, Lowest Equity (more details in the Read Me)
- AFL: SetOption/GetOption support new fields that control Monte Carlo simulation: “MCEnable” (true/false), “MCRuns” – default 1000, “MCPosSizeMethod” – 0 – don’t change, 1 – fixed size, 2 – constant amount, “MCPosSizeShares” (number), “MCPosSizeValue” (number)
- AFL: 32-bit round() is 7X faster and now works in “round half to even” (default IEEE mode) instead of half towards infinity. Hand written in assembly due to slowness of CRT
- AFL: int() and frac() functions are 2X faster now
- AFL: integer division operator \ (experimental)
- AFL: StrMatch() – string pattern/wildcard matching
- AFL: support for UCN (universal character numbers) \uXXXX where XXXX is hexadecimal character code. UCN output works in PlotText/PlotTextSetFont, GfxDrawText, GfxTextOut, Chart titles (more details in the Read Me)
- Interpretation and Commentary windows. Requires Windows 2000 or higher
- UI: Charts: when creating a new chart window Interval Lock was often marked automatically. Now it is fixed (it is always OFF for new charts).
- UI: XY-charts could enter infinite loop (hang) if ALL Y-coordintates were the same. Fixed.
- UI: XYCharts tooltip display shows X/Y point data under the cursor as in old version but when it does not find any, it shows data point from relevant X position
CHANGES FOR VERSION 5.93.0 (as compared to 5.92.0)
- AFL Editor provides precise positioning of cursor for errors that occur within argument list of function calls
- AFL: Error 5 (incorrect type of argument in function call) is now much more precise: it tells what function expects and what type is actually found
- AFL: Low Level Gfx: GfxSelectStockObject() added – allows to select so called “stock” GDI objects such as Hollow brush (that allow to draw empty circles, polygons and so on)
- AFL: Low-Level Gfx: GfxSelectHatchBrush( color, style )
- AFL: Low-level Gfx: GfxSetZOrder now supports using z-order outside -5…+5 range, but displays a warning 903 in the editor about possible decrease in performance
- AFL: Percentile() function now supports variable period and has default value for rank = 50 (such param gives median with average of upper/lower median for even periods)
- AFL: XYAddChartPoint has new parameter (linecolor)
- AFL: XYChartSetAxis now supports the following styles: styleLine, styleDots, styleHistogram, styleThick and combinations of those styles. Multiple lines are possible – to start a new line call add a NULL point – XYAddChartPoint( chartname, “”, Null, Null );
- Backtest: Buy-And-Hold simulation is performed and its statistics are calculated and included in the Backtest Report.
- Backtest: Report : numerical values don’t get wrapped when report window is made small
- Backtest: implemented user-definable interest on account margin loans, charged when net cash balance drops below zero. Margin rate (0..100%) is definable in Analysis Settings.
- Backtest: implemented variable interest rate earnings
- Backtest: interest earnings on positve cash balance and deductions on margin loans are now reported in detail in “Detailed log” mode every day
- Filter window enhanced. Now you can select multiple categories of the same type (for example even 7 different watch lists) and combine them using “OR” (match ANY), or “AND” (match ALL)
- UI: Commentary: added marquee progress bar to give visual clue to the user when formula is being executed
- UI: Deletion of symbols is now confirmed with better looking task dialog that has explicit button “Yes, delete permanently” to avoid user mistakes
CHANGES FOR VERSION 5.92.0 (as compared to 5.91.0)
- Analysis: Exploration’s XYChart now allows bar style in addition to point style.
- AFL: New argument for XYChartSetAxis(“chartname”, “xaxis”, “yaxis”, chartStyle = 0 )
- AFL: SetChartBkColor did not change the background behind X-axis text. Fixed.
- AFL: WriteVal/NumToStr has now new roundAndPad parameter that controls whenever function rounds output beyond 7th significant digit (and pads the rest with zeros), By default rounding is OFF now because it was off in 5.90 and earlier and rounding introduced in 5.91 could confuse old time users
- AFL: WriteVal/NumToStr will display Warning 506 if specified format exceeds maximum IEEE precision (7 significant digits) and roundAndPad option is turned off
- Analysis: 3D optimization chart was not available after Individual (MT) Optimization. Fixed.
- Analysis: a faster Export to CSV routine in 5.91.0 caused memory leak. Fixed.
- Analysis: Export to CSV could run out of memory when exporting more than 2GB. Fixed.
- Log window shows correct path when using “Check AFL syntax” in the editor, especially helpful if error is inside #included file
- Log window: double clicking on error line brings up AFL editor and scrolls to error line / column automatically
- PersistentVars.bin loading moved to AFTER CWD fix (prevents problem with deleting persistent variables when program is started with incorrect working directory)
CHANGES FOR VERSION 5.91.1 (as compared to 5.90.1)
- Fixed problem introduced in 5.91.0 with  operator sometimes giving misleading error message
- AFL/Charts: GfxSetCoordsMode( 1 ) now works with logarithmic scale too.
- AFL: added “Warning 505. Division by zero” (level 2 warning). It detects divison by zero in arrays too and prints which array element was zero
- AFL: failed COM type conversion is reported as a regular error within editor/log window instead of displaying message box
- AFL: new field in SetOption(“WarningLevel”, x ); — allows to change warning level. Level 1 is default for all AFL executions with exception of AFL editor and commentary where warning level is set to 4
- AFL: new function AddRow (AddTextRow?) to add a raw text row to the exploration (allows outputing things without respecting Filter and without being limited to number of bars)
- AFL: new functions SparseCompact( query_points, data ) /SparseExpand( query_points, data )
- AFL: NumToStr protected against user error of specifying precision higher than provided by IEEE standard (display never exceeds 7 significant digits, rest is padded with zeros)
- AFL: the engine displays more verbose error in case when GetArraySymbolCopy fails
- Analysis: CSV Export speeded up 100+ times. Now exporting large files takes seconds instead of hours. Export speeds on ordinary hard disks > 80MB/sec
- Charts: Interval Lock added (so now you can lock symbol or interval or both)
- Commentary window – warning level raised to 4 (report all warnings in commentary window)
- Sort() could crash with IndexMode = True and start parameter was greater than zero. Fixed.
- When chart pane is being resized/dragged, real-time chart refreshes are temporarily held to prevent disappearing of tracking rectangle
For more details, instructions and examples how to use new features see the 5.97.0 BETA READ ME