A new beta version (4.79.0) of AmiBroker has just been released.<\/p>\n
It is available for registered users only from the members area at:
\nhttp:\/\/www.amibroker.com\/members\/bin\/ab4790beta.exe<\/a><\/p>\n
(File size: 1 126 966 bytes, 1 MB)<\/p>\n
If you forgot your user name \/ password to the members area you can use automatic reminder service at: http:\/\/www.amibroker.com\/login.html<\/a><\/p>\n
The instructions are available in the \u201cReadMe<\/a>\u201d file ( Help->Read Me menu from AmiBroker )<\/p>\n
CHANGES FOR VERSION 4.79.0 (as compared to 4.78.1)<\/strong><\/p>\n
Example:<\/p>\n
SetOption<\/span>(<\/span>"HoldMinBars"<\/span>, <\/span>127 <\/span>); \r
<\/span>Buy<\/span>=<\/span>BarIndex<\/span>()==<\/span>0<\/span>; \r
<\/span>Sell<\/span>=<\/span>1<\/span>; \r
<\/span>\/\/ even if sell signals are generated each day, \r
\/\/they are ignored until bar 128<\/code><\/pre>\n<\/li>\n- \nadditional checks added to ensure proper operation of individual equity chart
\nAA 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
\n(it includes the formula used in last backtest so Equity() function can process it)\n<\/li>\n - \nAFL formula editor toolbar \/ menu is now customizable\n<\/li>\n
- \nAsc() function for converting first character of the string to the ASCII code<\/p>\n
Asc( string, pos = 0 )<\/p>\n
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.<\/p>\n
Useful for creation of exploration that displays single letters for signals instead of numbers.<\/p>\n
Buy <\/span>= <\/span>Cross<\/span>(<\/span>MACD<\/span>(),<\/span>Signal<\/span>()); \r
<\/span>Sell <\/span>= <\/span>Cross<\/span>(<\/span>Signal<\/span>(),<\/span>MACD<\/span>()); \r
\r
<\/span>Filter <\/span>= <\/span>Buy <\/span>OR <\/span>Sell<\/span>; \r
\r
<\/span>AddColumn<\/span>( <\/span>IIf<\/span>( <\/span>Buy<\/span>, <\/span>Asc<\/span>(<\/span>"B"<\/span>), <\/span>Asc<\/span>(<\/span>"S"<\/span>)), <\/span>"Signal"<\/span>, <\/span>formatChar <\/span>);<\/code><\/pre>\n<\/li>\n- Changed EarlyExitFee functionality so it does NOT affect equity (and stats like drawdowns) if position is not liquidated during early bars<\/li>\n
- Chart sheet tabs improvements: added drag-drop moving, quick selection menu, home\/end buttons\n<\/li>\n
- Fix: double click on Y axis does not turn <> range markers anymore (allocated to: 4.79.0)\n<\/li>\n
- 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\n<\/li>\n
- Fixed handling of mixed color encodings in AddColumn (pre-defined color constants did not work together with ColorRGB \/ ColorHSB, now it is fixed)\n
Example of code that did not work correctly in 4.78.1 and earlier but now works fine.<\/p>\n
Filter <\/span>= <\/span>1<\/span>; \r
\r
<\/span>AddColumn<\/span>(<\/span>Close<\/span>, <\/span>"Close"<\/span>, <\/span>1.2<\/span>, <\/span>colorDefault<\/span>, <\/span>ColorRGB<\/span>(<\/span>255<\/span>, <\/span>0<\/span>, <\/span>0<\/span>) ); <\/span>\/\/ this works \r
<\/span>AddColumn<\/span>(<\/span>Close<\/span>, <\/span>"Close"<\/span>, <\/span>1.2<\/span>, <\/span>ColorRGB<\/span>(<\/span>0<\/span>, <\/span>0<\/span>, <\/span>255<\/span>), <\/span>ColorRGB<\/span>(<\/span>255<\/span>, <\/span>0<\/span>, <\/span>0<\/span>)); <\/span>\/\/ this works \r
<\/span>AddColumn<\/span>(<\/span>Close<\/span>, <\/span>"Close"<\/span>, <\/span>1.2<\/span>, <\/span>colorBlue<\/span>, <\/span>ColorRGB<\/span>(<\/span>255<\/span>, <\/span>0<\/span>, <\/span>0<\/span>)); <\/span>\/\/ this works in 4.79, but didn't in previous versions \r
\r
<\/span>AddTextColumn<\/span>(<\/span>" "<\/span>, <\/span>" "<\/span>); \r
\r
<\/span>AddColumn<\/span>(<\/span>Close<\/span>, <\/span>"Close"<\/span>, <\/span>1.2<\/span>, <\/span>ColorRGB<\/span>(<\/span>255<\/span>, <\/span>0<\/span>, <\/span>0<\/span>), <\/span>colorDefault<\/span>); <\/span>\/\/ this works \r
<\/span>AddColumn<\/span>(<\/span>Close<\/span>, <\/span>"Close"<\/span>, <\/span>1.2<\/span>, <\/span>ColorRGB<\/span>(<\/span>255<\/span>, <\/span>0<\/span>, <\/span>0<\/span>), <\/span>ColorRGB<\/span>(<\/span>0<\/span>, <\/span>0<\/span>, <\/span>255<\/span>) ); <\/span>\/\/ this works \r
<\/span>AddColumn<\/span>(<\/span>Close<\/span>, <\/span>"Close"<\/span>, <\/span>1.2<\/span>, <\/span>ColorRGB<\/span>(<\/span>255<\/span>, <\/span>0<\/span>, <\/span>0<\/span>), <\/span>colorBlue<\/span>); <\/span>\/\/ this works in 4.79, but didn't in previous versions<\/code><\/pre>\n<\/li>\n- 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\n<\/li>\n
- \nImplemented easy real-time alerts (allocated to: 4.79.0)
\n\"easy alerts\" are available from RTquote window context menu.
\n(Click on Real Time Quote window with RIGHT mouse button and select \"Easy Alerts\" option
\n- then define alerts you want to generate using real time streaming quotes).
\nIf 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)\n<\/li>\n - OLE: added ability to control sorting in AA window from OLE level
\nObject:
\nAnalysis<\/p>\nNew method:
\nSortByColumn( iColumn, bAscending, bMultiMode )<\/p>\n
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.<\/p>\n
Example (multiple column sort by column 1 and 2):<\/p>\n
AB <\/span>= new <\/span>ActiveXObject<\/span>(<\/span>"Broker.Application"<\/span>);\r
<\/span>AA <\/span>= <\/span>AB<\/span>.<\/span>Analysis<\/span>; \r
\r
<\/span>\/\/ sort by date\/time column \r
<\/span>AA<\/span>.<\/span>SortByColumn<\/span>( <\/span>1<\/span>, <\/span>False<\/span>, <\/span>False <\/span>); \r
\r
<\/span>\/\/ add secondary sort column (see last argument = True) \r
<\/span>AA<\/span>.<\/span>SortByColumn<\/span>( <\/span>2<\/span>, <\/span>False<\/span>, <\/span>True <\/span>); <\/code><\/pre>\n<\/li>\n- OLE: added Application.Visible property\n
AB <\/span>= new <\/span>ActiveXObject<\/span>(<\/span>"Broker.Application"<\/span>); \r
<\/span>AB<\/span>.<\/span>Visible <\/span>= <\/span>True<\/span>; \r
<\/span>WScript<\/span>.<\/span>Sleep<\/span>