AmiBroker 5.90.0 Read Me
November 12, 2014 23:37
INSTALLATION INSTRUCTIONS
Just run the installer and follow the instructions.
Then run AmiBroker. You should see "AmiBroker 5.90" written in
the About box.
See Release Notes document below for detailed list of changes.
Highlights of version 5.90
-
Performance improvements
-
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
- execution speed improved by factor > 2x for AFL functions:
MACD, Signal, CCI, Sum (variable period)
-
Brand new Code Snippets window and keyboard
triggers
- 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
- 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
-
Re-designed Report Explorer and improved Report Viewer (HTMLView)
- Column layout (order and sizes) is now saved and restored between
runs
- Loading and refresh performance significantly improved (5x) using
owner draw/ virtual mode
- Multi-column sorting implemented
- Numeric columns are now right aligned for better readability
- 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)
- 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
- new Bid/Ask trend indicator in Real-time
quote window - a graphical indicator showing the direction of
10 most recent changes in real-time bid/ask prices The right-most box is
most recent and as new bid/ask quotes arrive they are shifted to the left
side.
-
User-definable HTML backtest reports
- now it is possible to output HTML instead of graphics in report chart
formulas using AFL: EnableTextOutput( 3 ) - HTML output to backtest report
- 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
-
Charting improvements
- Left/right extended Trend lines and Rays now use user-definable Extension
Factor (new field in Study properties) instead of always infinite extent.
Ext. Factor equal to ZERO means INFINITE, other values 0.1 ... 26 define
how far to the left/right line is extended
- Max zoom achievable via View->Zoom Out is increased to 5 million
bars, also Pref/Charting/Default zoom limit set to 5 million.
- Line drawings now have user definable line width in pixels (new "Line
width" field in Study Properties dialog). In addition to that "Thick
line" box makes line twice as wide (so actual width of thick line
is 2 * lineWidth instead of adding 1 pixel to width)
- 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)
-
User Interface improvements
- Parameter window look and feel improved. Item height is increased
and slider thumb made wider for easier use on small size/high DPI screen
- New Analysis UI refreshes faster
- Colors, bold and italic styles are now added to Interpretation and
Commentary windows
- Filter dialog now shows number of matching symbols in real-time
- Column setup dialog has new Mark All / Toggle All buttons
-
AFL new features / improvements:
-
new AFL functions: GetFormulaPath, NullCount, Sort, Reverse, StrSort, StrTrim, SendEmail
- extended functionality of AFL functions: StrExtract, StrMid, RestorePriceArrays, PlotGrid, EnableTextOutput, GetOption
- single-characters literals added to AFL
-
Stability & debug improvements
- added lots of parameter checks
- 64-bit version has now call stack trace in the bug report for better
debugging
- added more memory checks, early warnings and error messages when
running out of memory
- added checks for unusual, yet potentially 'troublemaker' scenarios
Highlights of version 5.80
-
Brand-new completely rewritten AFL Formula
Editor that supports the following features:
- Improved Syntax highlighting
- Automatic brace matching/highlighting (NEW)
- Auto indentation (NEW)
- Indentation markers (NEW)
- Enhanced auto-complete in two modes (immediate (NEW) and on-demand)
- Parameter information
- Line numbering margin and selection margin (NEW)
- Code folding (NEW)
- In-line Error Reporting (NEW)
- New tabbed user interface with ability to work in both MDI
and separate floating frame mode, can be moved behind main AmiBroker
screen and brought back (Window->Toggle Frame) (NEW) or kept
on top (Window->Keep on top)
- Rectangular block copy/paste/delete (Use mouse and hold down
left Alt key to mark rectangular block)
- Enhanced printing (with syntax highlighting and header/footer)
-
Code snippets - these are
small pieces of re-usable AFL code. They can be inserted by right-clicking
in the AFL editor window and choosing "Insert Snippet" menu. Code
snippets are user-definable.
-
New features in Low-level graphics
- multiple Z-order layers GfxSetZOrder
- co-ordinates can now be given in both pixels and bar-price mode GfxSetCoordsMode
- speed improvements (upto 3x)
-
Persistent Static variables - StaticVarSet/StaticVarSetText (added
'persistent' parameter)
-
Analysis (Backtest/Optimize) enhancements
- new "Trade using FX cash conversion" setting
- 64-bit SPSO/Tribes engine fixes
-
New/enhanced AFL functions
- PlotTextSetFont (NEW)
- GfxSetCoordsMode (NEW)
- GfxSetZOrder (NEW)
- GfxGetTextWidth (NEW)
- fopen (added 'shared' parameter)
- StaticVarSet/StaticVarSetText (added
'persistent' parameter)
- SetOption (new option "StaticVarAutoSave")
- SetChartOptions (new flags
chartDisableYAxisCursor, chartDisableTooltips )
- PlotText (new parameter yoffset)
Highlights of version 5.70
-
Analysis improvements:
- New Multi-threaded
Individual Optimization
- New general-purpose ranking functions
- User-definable ranking columns (via AddRankColumn function)
- Lots of internal speedups in backtesting/optimization engine
- SPSO, Tribes optimization engines now available also in 64-bit
-
Time&Sales improvements: user-definable filtering,
user-definable colors, 2 user-selectable display modes
-
Database improvements:
- 64-bit version supports files larger than 2GB per symbol
- in-memory cache can hold upto 100 000 symbols (up from 20K)
- new 64-bit DDE and ODBC plugins
- Charting improvements:
- Greatly improved performance QuickData technology implemented lowering
CPU usage for charts
- Edit->'Paste Special' allows to copy-paste entire chart pane with
various options
- Distance measuring when drawing trendlines (X,Y distance in the status
bar)
- X/Y constrains for drawing tools (press X and/or Y key to constrain movement
in either X or Y direction when drawing)
- ASCII importer adds support for millisecond timestamps
-
AFL improvements:
- new functions:
- StaticVarGenerateRanks, StaticVarGetRankedSymbols -
general-purpose user-definable ranking
- Error - display user-definable
error messages (also useful for plugin developers)
- fdir - directory listing
- CategoryCreate - programmatic
creation of watch-lists
- AddRankColumn - ranking
columns in exploration
- performance improved for Percentile()
(order(s) of magnitude)
- new fields supported in GetFnData
- XShift support added to PlotShapes
- speeded up transcendental mathfunctions (sqrt, sin,asin, cos, acos,
tan, atan, ln, log10, etc)
- improved SetSortColumns
Highlights of version 5.60
-
Multithreaded GDI (graphics) rendering - now all drawing (graphic
rendering) is done in separate worker threads so the user interface is way
more responsive and charts are updated faster and completely independently
from each other.
-
Automatic Walk-Forward out-of-sample
summary report - each out-of-sample step produces individual
report now, plus there is a new summary report that
covers all out-of-sample steps. It is visible in the Report Explorer
as last one and has "PS" type.
- Enhanced color-coded backtest report
-
XY (scatter) charts in explorations
-
Chart themes and improved
chart look (esp. the grid)
-
One-click automatic setup and update of stocks
listing, sector and industry assignments for all major US
exchanges
-
Unlimited ad-hoc chart intervals by means of new Interval
combo box that accepts any interval typed manually
-
support for ICB (Industry
Classification Benchmark) categories in AFL, UI, ASCII importer and OLE interface
- native Gradient area charts
-
super-thick lines in Plot, PlotOHLC, PlotForeign
-
new AFL functions: GetAsyncKeyState, InIcb, IcbID, StaticVarInfo, SetGradientFill, XYChartAddPoint, XYChartSetAxis
-
updated AFL functions with new functionality: Status, CategoryGetSymbols, CategoryGetName, CategorySetName, CategoryAddSymbol, CategoryRemoveSymbol, CategoryFind, Plot, PlotOHLC, PlotForeign
- new 64-bit eSignal plugin
- updated UI in many places
- many other improvements (see Release Notes for details)
Highlights of version 5.50
-
New Analysis window introduced in version 5.50 brings
the following improvements over old Automatic Analysis
-
multi-threaded operation = speed - new Analysis
window uses all available CPUs/cores to execute formulas in many
threads in parallel providing significant speed ups. For example
on 4 core Intel i7 that can run upto 8 threads, it can run upto 8
times faster than old Analysis window. Exact speed up depends on
complexity of the formula (the more complex it is, the more speedup
is possible), amount of data processed (RAM access may be not as
fast as CPU thus limiting possible speed gains).
-
non-blocking operation - you can now view, scroll
and sort results of analysis while they are still generated, also
as user interface thread is not used for processing for most part,
charts and other GUI-driven program parts are way more responsive
than with old automatic analysis
-
multiple instances - you can run more than one
instance of New Analysis at a time, so you can run many scans/backtest/explorations/optimizations
in parallel without waiting for one to complete
-
slicker user interface - New Analysis
window can act as tabbed document, can be floated, buttons can be
re-arranged for better workflow. There is way more space for the
result list, extra information about execution is provided on the
new "Info" tab. Also walk-forward results are now displayed
within New Analysis window for less clutter.
- Mini High-Low rank chart in Real Time quote window
- User-definable mini bar charts in Explorations (see AddColumn
function)
-
Add Rank Column feature - right-click Analysis result
list and choose "Add Rank column" - it adds a column with ordinal
rankings based on current sort or just row number column when list is not
sorted
- IRA account backtesting via SettlementDelay feature (see SetOption function)
-
Range bars algorithm improved significantly
-
new AFL functions: ThreadSleep, StaticVarCompareExchange
-
updated AFL functions with new functionality: AddColumn,
SetOption, GetOption, CategoryGetSymbols, PopupWindow, GetFnData, ClipboardSet
- updated OLE interface to support new Analysis window
- updated custom backtester interface to support access to local, per-analysis
EquityArray property
- updated UI in many places
- Owner-draw list views for 10x speed improvement when displaying millions
of rows
- many other improvements (see Release Notes for details)