AmiBroker 6.38.0 BETA Read Me
October 15, 2020 13:42
THIS IS A BETA VERSION OF THE SOFTWARE. EXPECT
BUGS !!!
Backup your data files and entire AmiBroker folder
first!
INSTALLATION INSTRUCTIONS
Run the BETA installer and follow the instructions.
Then run AmiBroker. You should see "AmiBroker 6.38.0" written
in the About box.
See CHANGE LOG below for detailed list of changes. Note that only changes
that affect end-user directly are listed here. Internal code changes/refactoring
is usually not mentioned.
UPGRADE POLICY: This version is a free upgrade for users
who purchased AmiBroker license after October 15, 2018.
6.38 FEATURE HIGHLIGHT:
6.38 provides improvements and new functions in all areas. Details in the
change log.
CHANGE LOG
CHANGES FOR VERSION 6.38.0 (as compared to 6.35.1)
- 64-bit version could produce "Invalid parameter" exception from
CRT after backtesting when symbols under test had forbidden characters in
them like "%". Fixed
- 64-bit version: address space layout randomization
disabled by /DYNAMICBASE:NO linker option to facilite easier crash location
finding
- AFL: assignment new matrix value to a variable already holding matrix
value did not immediately free memory (at the time of assignment). This memory
was only freed at the end of the formula. Now it is freed earlier (at assignment)
to lower memory usage.
- AFL: GetFnData("lastsplitdate") returns empty
val instead of zero if last split date is not set
- AFL: GfxDrawImage with PNG
file could fail if very same file was accessed simultaneously from multiple
threads due to "no-sharing" mode that
3rd party XTP lib used. Fixed by using shareDenyWrite
- AFL: new function Chr(
code ) returns string representing single character of given ascii code
- AFL:
new function GetObject( path, class ) providing functionality equivalent
to JScript GetObject and VBScript GetObject
- AFL: new function GuiSendKeyEvents("ED")
- register given characters to be sent as Gui event when keyboard key is
pressed. GuiGetEvent will return
code == notifyKeyDown and id of given character, for example id == 'D' for
D letter
- AFL: StaticVarAdd when scalar value was added to already existing
static var array sometimes random value would appear. Fixed.
- AFL: when file
creation or modication date was exact midnight fgetstatus() returned datetime
indicating "eod mark" (date without time), now
it gives 00:00:00
- Analysis: Maximum number of threads per single Analysis
window has been increased to 64 (from 32)
- Backtester: generation of Buy&Hold
stats was not working when "Allow
position shrinking" was turned OFF by the user and commission > 0.
Fixed
- Chart: Data window can now display upto 40 values per single chart pane
- Chart:
Horizontal line snap to open price (keypress O) or close price (keypress
C) was snapping to H-L instead. Fixed
- Charts: Snap to price - the meaning
of threshold is changed - instead of % of price it now means % of chart height.
So 5% will snap within +/-5 of
chart
height. This allows it to work universally across different securities (stocks/forex)
and different zo
- IQFeed: improved IQFeed plugin (better support for long EOD
histories in mixed mode)
- New Analysis: the name of column "contracts/shares" changes
each time you change futures mode to prevent confusion among newbies
- Plugins:
when AFL plugin crashes (throws structured exception) the editor and indicator
windows will display call stack for easier debugging of 3rd
party
plugins
- UI: Dialog boxes are moved back main display screen if multi-monitor
configuration was changed and multi-monitor setup is not rectangular (for
example monitors
of different sizes)
- UI: Listview sorting by (single) date column is now
10+ times faster
- UI: Listview uses non optimized parsing for str to date
conversion for date formats that include names of the months instead of
numbers (avoids
problems
with different names of months in different languages)
- UI: Main window
and AFL Editor frame is moved back to (0,0) if multi-monitor configuration
was changed and multi-monitor setup is not rectangular
(for example monitors of different sizes), so saved position falls
outside currently
available
working area
- UI: MDI Close/Minimize/Restore buttons are now HighDPI
aware
- UI: MDI Tab client window buttons are now HighDPI aware
- UI: Minimized flicker
during docking panes resize by disabling Windows copy bits
- UI: Toolbar split-popup
buttons are now HighDPI aware
- x64 eSignal: reverted to more compatible version
compiled with VC2005
CHANGES FOR VERSION 6.35.1 (as compared to 6.35.0)
- When .abb file was saved in older version and was missing Param2 then Param
was incorrectly used as default value. Fixed.
- Changed threshold year for two
digit year data files to 25 (previously it was 20). So YY is now interpreted
as 19YY when YY < 25, otherwise it is
interpreted as 20YY
CHANGES FOR VERSION 6.35.0 (as compared to 6.31.0)
- AFL: new function inverf(x) - inverse of erf function
- AFL Editor: added function
navigation combo box in the toolbar - detects user defined functions and
allows to quicky navigate to function definition
- AFL: GetOption("PadAndAlignToReference")
allows to query Pad and align setting status (note that this is read-only
field, so it will
not work
with SetOption)
- AFL: new function erf(x) - computes Error function https://en.wikipedia.org/wiki/Error_function
- AFL: parser warns if
empty body is used in 'for' statement, like this: for( i = 0; i < 10;
i++) ; // extra semicolon at the end - empty body Warning 510
- AFL: parser
warns if empty body is used in 'while' statement, like this: while( condition
) ; // extra semicolon at the end - empty body Warning 510
- AFL: SafeDivide(
x, y, valueifzerodiv )- safe division that handles division by zero using
special handling (replace result with user-defined value)
- Batch: added optional
parameter to Data Import ASCII command to allow specify format definition
file
- Batch: added optional parameter to Execute and Wait command to specify
current working directory for command
- Batch: added optional parameter to Export
to File / Export walk-forward to file to specify column separator in CSV
files
-optional parameter defines the column SEPARATOR used for export. Only single
character is used. When it is not supplied, comma is used.
- Batch: Clipboard Cut/Copy/Paste implemented in batch editor
- Batch: Edit->Delete
(from main menu) and Edit-Delete All implemented for completeness
- Batch: list
view uses virtual mode now (owner data)
- UI: All owner-draw list views (NOT
in dialogs) now feature customizable theme (currently available "system
(light) theme" and "black theme")
- go to Tools->Customize, "Appearance" tab, "Dark mode
for listviews" checkbox
- UI: Analysis and RT quote window use now exactly
the same RGB values for up/down (green/red) colors for consistency
- UI: Custom
virtual listview (owner data) supports per-item data now (SetItemData/GetItemData
work with LVS_OWNERDATA)
- UI: Found workaround to avoid terrible flicker
and bad rendering of list view controls during fast page up/down and side
scrolls (even though
they are double
buffered by Windows and in theory should be smooth).
- UI: Identified
even more bottlenecks in Windows OS that caused even owner data and owner
draw Listview performance to suffer with large
number
of columns. OS code circumvented. Listview redraw speeds increased
more than
5x compared
to previous speedy implementation
- UI: Implemented resizing of Listview
column customization dialog
CHANGES FOR VERSION 6.31.0 (as compared to 6.30.0)
- AFL: Access violation in PercentRank when period is wrong (Null/unitialized).
Now error 52 is displayed instead.
- AFL: InternetPostRequest now silently (or with warning
507 under debugger) returns NULL handle instead of error when remote server
responds with HTTP
Status 50x
- Analysis: manual column re-sorting could be bit off if scientific
output format (xxxEyyy) was used with different exponents. Fixed.
- ASCII importer
now handles LastSplitRatio of X:Y where X and Y are 1...32767 (previously
only 1..127)
- Batch: add "add results to watchlist" action / WatchlistAddResults
- Batch:
add "clear watchlist" action / WatchlistClear
- Batch: add "comment" action
- Core/DB: fixed access violation when
all data were removed while QuickData was turned on
- DebugView: eliminated
some internal messages from DebugView output (from release version)
- InternetPostRequest
- even if URL started with https, previous version wanted to connect to port
80, instead of 443. Fixed.
- UI/Listview: since 6.28 exception could occur if
single cell text length exceeded 1024 characters. Fixed.
- When database is
empty, ticker box displays <No symbol> grayed text
instead of blank or reminiscent of previous database symbol
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