March 25, 2006
A new beta version (4.79.0) of AmiBroker has just been released.
It is available for registered users only from the members area at:
(File size: 1 126 966 bytes, 1 MB)
If you forgot your user name / password to the members area you can use automatic reminder service at: http://www.amibroker.com/login.html
The instructions are available in the “ReadMe” file ( Help->Read Me menu from AmiBroker )
If you are using Firewall you may need to check if it did not block Broker.EXE file after upgrade. (It happened to some users that firewall blocked AmiBroker after upgrade and they could not connect to RT data sources due to that)
CHANGES FOR VERSION 4.79.0 (as compared to 4.78.1)
Added HoldMinBars feature that disables exit during user-specified number of bars even if signals/stops are generated during that period. Please note that IF during HoldMinBars period ANY stop is generated it is ignored. Also this period is ignored when it comes to calculation of trailing stops (new highest highs and drops below trailing stops generated during HoldMinBars are ignored).This setting, similar to EarlyExitFee/EarlyExitBars is available on per-symbol basis (i.e. it can be set to different value for each symbol)
SetOption("HoldMinBars", 127 ); Buy=BarIndex()==0; Sell=1; // even if sell signals are generated each day, //they are ignored until bar 128
additional checks added to ensure proper operation of individual equity chart
AA window generates error if it can not write LastBacktestFormula to the registry AA complains with error message when individual equity formula does not contain #include @LastBacktestFormula statement that is required for proper operation
(it includes the formula used in last backtest so Equity() function can process it)
- AFL formula editor toolbar / menu is now customizable
Asc() function for converting first character of the string to the ASCII code
Asc( string, pos = 0 )
Returns the ANSI character code corresponding to the first letter in a string (if position is not specified) or code of character at specified position. If you don’t specify position (pos argument) then first character is used. Negative values of pos reference characters counting from the end of string.
Useful for creation of exploration that displays single letters for signals instead of numbers.
Buy = Cross(MACD(),Signal()); Sell = Cross(Signal(),MACD()); Filter = Buy OR Sell; AddColumn( IIf( Buy, Asc("B"), Asc("S")), "Signal", formatChar );
- Changed EarlyExitFee functionality so it does NOT affect equity (and stats like drawdowns) if position is not liquidated during early bars
- Chart sheet tabs improvements: added drag-drop moving, quick selection menu, home/end buttons
- Fix: double click on Y axis does not turn <> range markers anymore (allocated to: 4.79.0)
- Fix: Param slider, when step =2 and start is odd (for example 3 ) then subsequent values were even (they should be odd 3, 5, 7,…) now it is fixed
- Fixed handling of mixed color encodings in AddColumn (pre-defined color constants did not work together with ColorRGB / ColorHSB, now it is fixed)
Example of code that did not work correctly in 4.78.1 and earlier but now works fine.
Filter = 1; AddColumn(Close, "Close", 1.2, colorDefault, ColorRGB(255, 0, 0) ); // this works AddColumn(Close, "Close", 1.2, ColorRGB(0, 0, 255), ColorRGB(255, 0, 0)); // this works AddColumn(Close, "Close", 1.2, colorBlue, ColorRGB(255, 0, 0)); // this works in 4.79, but didn't in previous versions AddTextColumn(" ", " "); AddColumn(Close, "Close", 1.2, ColorRGB(255, 0, 0), colorDefault); // this works AddColumn(Close, "Close", 1.2, ColorRGB(255, 0, 0), ColorRGB(0, 0, 255) ); // this works AddColumn(Close, "Close", 1.2, ColorRGB(255, 0, 0), colorBlue); // this works in 4.79, but didn't in previous versions
- Fractional increments on Y axis: added 1/320 increment (to use for example with ZT contract) and changed display method so integer part is separated from fractional part by ^ character
Implemented easy real-time alerts (allocated to: 4.79.0)
“easy alerts” are available from RTquote window context menu.
(Click on Real Time Quote window with RIGHT mouse button and select “Easy Alerts” option
– then define alerts you want to generate using real time streaming quotes).
If you add any alerts, please note that symbols used in alerts add up to total number of streaming symbols, so if you have 50 symbol limit on your data source and have 40 symbols in your real time quote window you will be able to setup alerts for only 10 extra symbols (if you use the same symbols as in real time quote window then it does not add up to the total count)
- OLE: added ability to control sorting in AA window from OLE level
SortByColumn( iColumn, bAscending, bMultiMode )
where iColumn – is zero-based column index to sort bybAscending – true/false decides the order we wantbMulti – if set to false – it means that we want to sort by single column or we define starting column for multi-column sortif set to true – it means that we are defining additional columns for multiple-column sort.So to sort by many columns you need to call SortByColumn once with bMulti set to false and then call SortByColumn for all remaining sort columns with bMulti set to true.
Example (multiple column sort by column 1 and 2):
AB = new ActiveXObject("Broker.Application");AA = AB.Analysis; // sort by date/time column AA.SortByColumn( 1, False, False ); // add secondary sort column (see last argument = True) AA.SortByColumn( 2, False, True );
- OLE: added Application.Visible property
AB = new ActiveXObject("Broker.Application"); AB.Visible = True; WScript.Sleep(1000); AB.Visible = False; WScript.Sleep(1000); AB.Visible = True; WScript.Sleep(1000); AB.Quit();
- OLE: when AmiBroker is created from OLE, it loads default layout now (previous versions did not
- Scaling in/out fixes: added extra checks not to exceed available cash (scaling-in) and not to drop below zero shares (scaling out)
- Time&sales now allows the user to disable display of bid/ask and/or trades
By default both trades and bidl/ask quotes are shown, but now you can decide to turn off either one or both by clicking with RIGHT mouse button over Time&Sales window and checking/unchecking “Show Trades” and “Show Bid / Ask Quotes”
- Tools: Preferences: Misc, renamed “Save on exit” to “Auto-save” and changed auto-save logic, so layouts are saved on each change
When Auto-save: Layouts is turned ON, currently loaded layout is saved on change (i.e. when another layout is loaded, previously selected layout changes are saved first), the same with database load – if you load different database then recently used layout is stored automatically. IMPORTANT: changes are saved now to most recently loaded layout (not to ‘default’ one as it was before). So default layout is NOT affected by auto-save if you manually loaded different layout.