AmiBroker 6.18.0 BETA released

Stability: Rank 3 – Regular BETA, pretty stable, should work fine in most environments

This is a BETA version. Make a backup first

A new beta version (6.18.0) of AmiBroker has just been released.

32-bit version:
(2 254 208 bytes)

64-bit version:
(10 458 784 bytes)

If you can not log in into members’ area please get your new password by filling the form at:

IMPORTANT: Unauthorized copying and/or distribution of materials found on members’ only page is STRICTLY PROHIBITED and will result in IMMEDIATE termination of license.

This version is a free upgrade only for users who registered AmiBroker after October 17, 2014. Users who registered earlier, would need to purchase license upgrade. To find out the version you currently have use Account Information page at

NOTE: This version works both as fresh first-time install and as in-place upgrade. Previous installation (if any) is detected and setup switches into ‘upgrade’ mode. Don’t worry, your charts, formulas, etc won’t be affected by the upgrade.

Note that this version can only be installed onto previous full installation of version 6.10 or higher from

CHANGES FOR VERSION 6.18.0 (as compared to 6.17.0)

  1. AFL: GetFnData/GetFnDataForeign added support for “PointValue” and “FullName” fields
  2. Batch processor: In 6.17.0 Export to file command was executed properly but never marked as completed. Fixed.
  3. Batch window checks if there is any other batch running and refuses to start when the other batch has not finished.
  4. Batch: Added command line parameter to exit AmiBroker after running batch file (/exit)
  5. Batch: Added command line parameter to run batch files: /runbatch “full path to batch file
  6. Batch: Load Database “path to workspace/database” – warning this function may be RISKY because it may interfere with other running operations !!
  7. Batch: new command: Save Database
  8. Batch: new command: Set log filename “filename”
  9. Batch: new command: Write text to log “text”
  10. OLE: added new method to AnalysisDoc object: Abort() – will abort any running Analysis scan/exploration/backtest
  11. UI: File->Database Setings displayed underestimated memory usage per symbol (32 bytes per quote instead of 40). Corrected.

CHANGES FOR VERSION 6.17.0 (as compared to 6.16.0)

  1. New Batch processor – allows to define sequences of scans/explorations/backtests/optimizations using different project files that are then run automatically. Detailed instructions on how to use Batch window are here
  2. AFL: Changed default number formatting string from “%g” to “%.7g” (so 7 significant digits are now displayed instead of 6)
  3. AFL: new function GetFnDataForeign( “field”, “symbol” ) – the same as GetFnData but retrieves non-current symbol’s data
  4. AFL: new function InternetClose( handle )
  5. AFL: new function InternetOpenURL( “url” )
  6. AFL: new function InternetReadString( handle ) – read a string (line) from internet resource
  7. AFL: printf/StrFormat/TRACEF support now “%s” (string specifier) and accept string arguments passed and made faster too
  8. Data: Gics.txt classification updated (thanks to PremiumData)
  9. OLE Automation: individual backtest is now supported via OLE automation
  10. OLE: Interval property of Document object is now writable so you can set chart interval from OLE
  11. Startup is made faster
  12. UI: AFL Editor MDI UI did not get immediate refresh after file name change when main window was in modal state due to the way how MFC works. Fixed.
  13. UI: File->Database Settings, default maximum “number of bars” increased to 1 million
  14. UI: New Analysis Settings submenu is now duplicated in main window Analysis->Options menu for easier access for beginners
  15. Watch window: added support for modulo (%) operator in watches

CHANGES FOR VERSION 6.16.0 (as compared to 6.15.0)

  1. New Analysis: implemented entirely new inter-thread communication method that does not strain main thread message queue. This gives tremendous improvement in responsivity of UI when Analysis is running
  2. New Analysis: removed forced message pumping when AFL finished as it was causing issues with proper MDI tab refreshes in Windows 10 while Analysis was running
  3. New Analysis: UI: added an option to keep using existing AFL file on opening APX project instead of asking the user what to do when differences are found between AFL file and content of APX project.
  4. AFL: changed the way how custom-backtest reports “stocknum”. Previously Status(“stocknum”) was equal to zero on custom backtest phase and this may have caused parts that use if(Status(“stocknum”)==0) to be excecuted during custom backtest phase. Now custom backtest reports stocknum equal -1.
  5. AFL: DateTimeConvert supports now more formats, format = 6 – day, 7 – month, 8 – year, 9 – day of week, 10 – day of year, 11 – quarter (1..4)
  6. Charts: as apparently single pixel geometric pens are 8 times slower than DC pen, the optimization has been implemented that uses DC single pixel pen instead of geometric pen when bar width is 1, giving 8x faster 1-pixel bar charts
  7. Since 6.15 when $AUTOADD was set to 0 (zero), then symbols not existing in the database but present in the imported file were not logged into import.log as earlier. Fixed.
  8. UI: when AM/PM (12 hour format) was used in list views 12:00AM was interpreted as 12:00 (noon), instead of 00:00 (midnight). Fixed.
  9. When backtesting Short only strategy and using backtestRegular mode and using HoldMinBars > 1, a disabled stop could trigger if it was enabled in previous backtest run. Fixed.
  10. Support for Windows 98 and Millenium is dropped. If anybody needs that back please let us know (email to support)!

CHANGES FOR VERSION 6.15.0 (as compared to 6.14.0)

  1. AFL: DateTimeFormat( “formatstr”, datetime ) – converts datetime to string according to user-specified format
  2. AFL: new function Kurtosis( ARRAY, range, population = True )
  3. AFL: new function Skewness( ARRAY, range, population = True )
  4. AFL: new modes added to DateTimeToStr() that use ISO regardless of regional settings mode = 3 (iso date and time YYYY-MM-DD HH:MM:SS) HH:MM:SS part is only included for non-EOD records, 4 (iso date only YYYY-MM-DD), 5 (iso time only HH:MM:SS)
  5. AFL: NumToStr could crash if format parameter was greater than 127. Fixed. Now an error message is displayed when format parameter is too large
  6. AFL: NumToStr now supports formatDateTimeISO
  7. AFL: StDev function added 3rd argument “Population = True”, when Population is True it calculates population based stdev, otherwise sample based
  8. ASCII import: from version 6.11 importer always added new symbols even if $AUTOADD 0 was used. Fixed.
  9. UI: Charts window – an attempt to rename a file or directory to something that already exists is now prevented and results in error message box.
  10. UI: in 6.14 when New Analysis was switched to ‘floating’ mode, it could crash on attempt to run analysis. Fixed.
  11. UI: Quote editor – in single-symbol mode “ticker” field sometimes was not updated. Fixed.
  12. UI: Symbol->Quick Find menu command brings focus to Symbol’s window search box. New installations use F3 key assignment for Quick Find. Old installations use old assignment (you can change F3 assignment in Tools->Customize->Keyboard)

CHANGES FOR VERSION 6.14.0 (as compared to 6.13.0)

  1. AFL: ParamDate() added support for format=2 to return datetime instead of datenum/string
  2. AFL: PercentRank function now accepts variable period (range)
  3. AFL: PriceVolDistribution crashed if startbar argument was negative. Fixed by implementing protection against negative bar indexes.
  4. AFL: PriceVolDistribution sometimes produced some random values in 6.13. Fixed.
  5. ASCII importer now supports microsecond resolution timestamps (HH:MM:SS.mmmuuu) where mmm – milliseconds 000..999, uuu – microseconds 000..999
  6. New Analysis: new feature a PAUSE button to temporarily pause/resume any running analysis. Note that already running threads are not interrupted, they are allowed to complete gracefully and then pause state is entered.
  7. UI: A warning message is displayed when user attempts to close AmiBroker while Analysis is in progress
  8. UI: QuoteEditor in some cases did not properly round fractional part of millisecond down to microsecond. Fixed
  9. UI: QuoteEditor: Edit fields for OHLC prices, Volume, OpenInt and Aux now check for proper entry as you type and display red background if entered string is not proper numer. Also those edit fields don’t accept characters other than digits (0..9), decimal
  10. UI: Toolbar icons are set to “Large icons” mode automatically on HighDPI screens
  11. When broker.workspace file was corrupted or truncated, the file remained open which eventually prevented from writing it on close. Fixed.

CHANGES FOR VERSION 6.13.0 (as compared to 6.12.0)

  1. AFL Editor: calling SetForeign thousands of times followed by RestorePriceArrays() could cause exception during code verify when number of symbols exceeded cache size. Fixed.
  2. AFL Editor: changes made in 6.11 to the way how automatic names for new formulas are assigned have been removed and replaced by new method that is faster and more reliable.
  3. AFL Editor: if clipboard is locked by another application the editor would retry opening clipboard upto 8 times before giving up
  4. AFL Editor: when formula was open cursor was located at the end. Now it is located at the top.
  5. AFL: GfxSetCoordsMode( mode ) accepts now four different modes
  6. AFL: MA function made upto 2 times faster, StDev function made 20% faster, Correlation made 40% faster
  7. AFL: NormDist( x, mean = 0, sigma = 1, cumulative = True ) function. Implements hi-precision algorithm.
  8. AFL: PriceVolDistribution( priceH, priceL, vol, bins, absolute = False, startbar = 0, endbar = -1 )
  9. AFL: 64-bit version AFL Correlation() produced slightly different values (+/-0.00001 typ) than 32-bit version due to compiler differences. Now 64-bit version produces same values as produced by all 32-bit versions.
  10. Charting: new feature – Snap to Tick grid. Snap drawing tool end points to TickSize-spaced grid (if TickSize > 0 for given symbol)
  11. Plugin loading routine displays a message box when plugins with incorrect bitness are found
  12. Plugin loading routine writes detailed error message to the broker.log in case of problem of DLL loading (must enable plugin log to use this feature)
  13. When drawn study is being modified, Y distance shown in the status bar accounts for activated snap-to-price and/or snap-to-tick mode now.

CHANGES FOR VERSION 6.12.0 (as compared to 6.11.0)

  1. AFL: new function GfxDrawImage( “filename”, x, y )
  2. AFL: new function CumProd( factor ) – cumulative product of array elements
  3. AFL: new function Prod( array, range ) – cumulative product of array elements over specified number of bars (range)
  4. AFL: new function ProdSince( condition, array ) – cumulative product of array elements since condition is met
  5. AFL: new function VoiceSelect( num ) – select SAPI (Speech API) voice to be used with Say() function, num is a numerical index of installed voices. By default Windows comes with just one voice, but one can add countless 3rd party voices
  6. AFL: new function VoiceCount( ) – returns number of available SAPI (Speech API) voices – to be used with Say() command
  7. AFL: StaticVarAdd with non-array input produced incorrect results. Fixed.
  8. UI: New Analysis: Alt+Enter shortcut added to bring up settings window
  9. UI: Quote Editor allows now immediate search for matching date – just type digits in format YYYYMMDD and list will automatically scroll and mark to quote that most closely matches entered date
  10. UI: Realtime quote window: a RMB context menu items are grayed when local data is used and an empty message is set to inform the user that he/she needs realtime data source to use this window
  11. UI: Symbol Information – date fields (like last split date, div date or delisting date) can now be cleared (select all and press DELETE) to set Empty/Null date
  12. UI: Symbols with COMMA (,) caused problems with multiple-selection operations. Now it is handled properly.

CHANGES FOR VERSION 6.11.0 (as compared to 6.10.0)

  1. AFL: added formatDateTimeISO for ISO formatting regardless of locale settings
  2. AFL: MxFromString was slow on very large matrices (>100000 cells) due to poor performance of strtod function from Microsoft C runtime. Now MxFromString does not use it and is even 1000 times faster on 100K+ cell matrices (5ms vs 5second)
  3. ASCII importer can now be even 20 times faster when importing NEW (non existing) data that were oddly sorted (like for example in reverse order – descending dates instead of ascending).
  4. ASCII importer is now twice as fast when updating already existing quotes thanks to using in-house code instead of msvcrt functions.
  5. Charting: Fibonacci maximum user-definable level increased to 9000% (from 1000%)
  6. Idle processing is forced now every 125 ms (instead of 250ms) in Analysis window to update UI components more frequently under heavy CPU load
  7. Ruin stop is identified by Short(ruin) / Sell(ruin) instead of Short(6) / Sell(6)
  8. Startup splash screen is displayed a little sooner now and some pre-loading of editor components is done at start to save time to open editor later
  9. When there were thousands of files in “Formulas” folder opening editor for the first time could take some time. Now this time is significantly reduced.


  1. None

For more details, instructions and examples how to use new features see the 6.18.0 BETA READ ME

Comments are closed.