AmiBroker 5.43.1 BETA Read Me
August 15, 2011 12:00
THIS IS A BETA VERSION OF THE SOFTWARE. EXPECT
Backup your data files and entire AmiBroker folder
IMPORTANT: This archive is update-only. You have to install full version
Just run the installer and follow the instructions.
Then run AmiBroker. You should see "AmiBroker 5.43.1 BETA" written
in the About box.
See CHANGE LOG below for detailed list of changes.
CHANGES FOR VERSION 5.43.1 (as compared to 5.43.0)
- When range different than "All quotes" was selected, backtest in
new Analysis window could produce incorrect results in 5.43.0. Fixed.
CHANGES FOR VERSION 5.43.0 (as compared to 5.42.0)
- New Analysis Window: multi-threaded Backtest feature implemented (experimental)
Note that only first phase of backtest is multithreaded (each symbol in separate
thread). 2nd phase (custom backtest) is executed in main thread as there
is only one symbol to work on (i.e. equity) and it needs to talk with OLE
which is single threaded and GUI.
buttons removed from Plugins dialog. This was developer-only feature and
it was abused by ordinary people who were unloading plugins that were
actually in -use (such as data plugins when being connected to given data
- ListViews: the last line (partially shown) in RT quote window was
not easily selectable. Fixed
- New Analysis window: Implemented Parameters dialog
- AFL: GetCursorMouseButtons()
sometimes missed clicks when multithreading was on and formula took ages
to execute. Now it is now 100% reliable.
- Auto-selection of proper layer based
on selected viewing interval
NOTE: This feature can be turned off by click with RIGHT mouse button over
layers window and UNCHECKING "Auto-select layer"
- IRA accounts support - implemented Settlement
delay in backtester, via SetOption("SettlementDelay",
"SettlementDelay" option describes the number of days (not bars)
it takes for sale proceeds to settle and be available for opening new positions.
SetOption("SettlementDelay", 3 ); // this will cause that proceeds
from sale are only available for trading on 3rd day after sale
For detailed tracking
Detailed log" report option now shows available and unsettled funds for
T+1, T+2 and so on
Note: when using this option it is recommended to use backtestRegularRaw
instead of backtestRegular, otherwise some trades may not be entered
because funds are not settled immediately and you need to be able to enter
not on first but subsequent buy signals and that is exactly what backtestRegularRaw
Note2: old backtester (Equity() function) ignores settlement delay
- Zoom in/out toolbar buttons zoom in finer steps (+/-10%)
- Analysis ListView,
RMB menu new option: "Add Rank column" - adds
a column with ordinal rankings based on current sort or just row number column
when list is not sorted
- New feature: Adding new chart/research/account/analysis
via (+) tab
- New Analysis window: Implemented SetSortColumns
- New Analysis window: Implemented
CHANGES FOR VERSION 5.42.0 (as compared to 5.41.0)
- Implemented right click menu in new Analysis windows (Add symbols to watchlist/Show
- Zoom in/out toolbar buttons now have auto-repeat feature
- In 5.41.0 Ctrl+C from
list view copied text without tabs (column separators). Fixed
- In 5.41.0 did not
refresh progress dialog optimization status list. Fixed. (owner draw list
view initial size is retrieved in PreSubclass now)
- In 5.41.0 did not display
Time&Sales in reverse order (newest on top). Fixed.
CHANGES FOR VERSION 5.41.0 (as compared to 5.40.3)
- New Analysis window (File->New->Analysis) - featuring multithreaded
Scan and Exploration
to fully benefit from multithreading it is best to use AmiBroker local NATIVE
database (not external)
as it is the only database that can deliver data quickly enough.
Tests show that on AmiBroker native databases scans and explorations are
100% scalable to multiple cores
- i.e. for example would run upto 8 times faster on 8 CPU/core machine.
IMPORTANT: This window is work-in-progress. Multithreaded Backtest and Optimization
features will be added later.
- AFL: AddColumn - added mini bar charts to explorations
Exploration now features ability to create mini bar charts in individual cells.
AddColumn has new parameter 'barchart'
AddColumn( ARRAY, "Caption", format = 1.2, fgcolor = colorDefault,
bkcolor = colorDefault, width = -1, barchart = null )
'barchart' parameter accepts values from 0...100 represening percentage width
of bar chart displayed in a cell
the in-cell bar chart is drawn with bkcolor (background color).
AddColumn( Close, "Close" );
rank = PercentRank( Close, 100 );
Color = ColorHSB( rank * 64/100, 255, 255 );
AddColumn( rank, "100-day percent rank", 1.2, colorDefault, Color,
-1, rank );
Note that although this example uses same value for numeric display and chart
bar width, it does NOT need
to be the same, i.e. numerical value of the cell is independent from bar chart.
- Totally rewritten listview with very efficient owner draw code speeds up
list view scrolling/resizing/repainting more than 10 times. Native system
ListView control is terribly slow on Windows XP/Vista/7 (surprisingly it
times faster in Win9x!)
- AFL: Percentile()
does a param check for range > 0 now
- Mini-chart in RT Quote window - Mini chart shows where LAST price is within
- Errors and
warnings are now displayed in red color in the indicator pane
- During actual
GDI chart rendering AmiBroker measures time and if it exceeds 500ms timeout
it stops rendering with Warning 901.
This check is required because GDI rendering occurs in GUI thread and if GUI
thread does not process messages for half second Windows will think that application
is "not responding".
This prevents making application stuck with some overly complex, possibly incorrect
formulas that call hundreds of Plot()s
- Warning 502: Calling Plot()/PlotOHLC
over 500 times is displayed in indicator in runtime to prevent abuse
- All list
views, pressing Ctrl and NumPad'+' automatically adjusts column widths to
- if data are missing in the in-memory cache, Foreign()
calls from non-GUI threads use synchronous retrieval method for reliability.
This provides reliable results in AA but may slow down the multi-threaded operations
if cache size is too small and user uses more Foreign() calls than in-memory
For optimum performance in-memory cache setting (Tools->Preferences->Data)
should be GREATER than number of Foreign() calls in any single formula used.
Values lower than that cause lots of disk activity and serialization of all
Foreign calls that means that additional threads must wait for data retrieval
and new Analysis window: outputting millions of rows to listview is much
- All list views - Ctrl+A (Select All) made much faster
If you experience any problem with this beta version please send detailed
description of the problem (especially the steps needed to reproduce it) to
support at amibroker.com