March 12, 2011
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.35.0) of AmiBroker has just been released.
(1 675 368 bytes)
If you forgot your user name / password to the members area you can use automatic reminder service 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.30 or higher
CHANGES FOR VERSION 5.35.0 (as compared to 5.34.5)
- AFL Editor: “firstvisiblebarindex” and “lastvisiblebarindex” are initialized with first and last data bar when using “Verify syntax” to avoid problems. Although these Status fields should only be used in indicators, it is quite common mistake among users to use them unconditionally
- AFL: Sum() function displays Error 52. Invalid argument value when range argument is negative (instead of random crash)
- Account manager: fixed OLE exception in date conversion occuring randomly due to uninitialized exit date when trade has been opened.
- Indicator Maintenance Wizard now creates log (indmaint.log in AmiBroker directory) that reports all layout files read and eventual errors found. It also attempts to read corrupted layouts in a “safe” way so it does not crash
- Parameter window: fixed handling of mixed section and section-less parameters
- Quote Editor: fixed editing when timeshift was not zero plus added ability to turn on/off timeshift (so quotes can be edited in original exchange zone)
- Fix: Click on items in param() window did not set focus ( fix @ line 1505 HotPropCtrl.cpp )
- AFL: Error 10. Subcript out of range message now gives information about exactly which array element was accessed
- AFL: Added new error message “Error 51. Array subscript has Null value”
- /STACK:2097152,16384 (2M/16K) option for x64 compilation ? – to allow deep nesting in AFL, also reduced stack usage by Execute() function
- Removed (evil) IsBadReadPtr function!
- OLE: AB.RefreshAll( [optional] Flags = 1 ) – takes now new optional parameter Flags. Flags = 1 means refresh only charts (fast), Flags = 3 means refresh charts, dialogs, symbol list, chart list, etc (SLOW!)
- OLE: AB.RefreshAll() changed for improved consistency (marks for refresh and it is refreshed every 1 second regardless of number of requests within one second)
- //–Indicator-End– special marker is now obsolete and does nothing (entire formula is executed). For conditional execution of interpretation code use conditional statement if with Status() function
- Fix: switch( str_function_call_here ) did not work properly when expression was a function call returning string such as StrLeft(). Fixed
- Fix: internal time conversion (flocaltime) made thread safe using TLS
- AFL: Equity() now uses thread local storage for keeping stop state variables to prevent interference when multiple threads call Equity()
- AFL: mtRandom(A) now uses thread local storage, so using non-null seed yields reproducible sequence even if multiple threads are calling mtRandom in parallel
- Foreign() uses SendNotifyMessage instead of PostMessage if symbol data are not already cached to trigger loading quicker (solves support #78278)
- Implemented cross-thread bidirectional communication mechanism that allows to call functions across threads in safe way. This allows among other things to make non-threading safe APIs (like Quotes Plus) to operate properly with multi-threading enabled. (Fixes GetExtraData crash with QP2 – FC#2072)
- Prefs/Misc/”Show interpretation in tooltips” checkbox removed as this functionality has been removed in 5.32.0. Use Interpretation window instead (View->Interpretation)
- OLE: AB.Import() – UI is automatically refreshed after import so there is no need to call RefreshAll() anymore. Also the refresh is “smart” it only updates symbol lists if any symbols were added
CHANGES FOR VERSION 5.34.5 (as compared to 5.34.0)
- Worked around Microsoft OS bug #248760 and #209467 – writing to metafiles from multiple threads causes lost object selections. This has caused display unstability for Gfx function-generated output on some XP and Vista machines. The only way to fix that was NOT to use metafiles at all. Gfx code was rewritten not to use Microsoft metafiles. As a result of custom implementation Gfx functions work now 3 times faster and are multi-threading safe.
- GfxDrawText automatically falls back to much (4x) faster ExtTextOut when format is 0 or DT_NOCLIP and string does not contain any new line characters
Hint: If AmiBroker 5.35.0 crashes at start up with “multi-thread charts” option enabled, you can make it work by holding down the SHIFT key while starting AmiBroker – this will turn OFF multi-threading.
For more details and instructions see the 5.35.0 BETA READ ME.
Next planned beta (5.36.0) should arrive next Friday.