ReadMe<\/a>\u201d file ( Help->Read Me menu from AmiBroker )<\/p>\nIMPORTANT NOTES:<\/p>\n
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)<\/p>\n
CHANGES FOR VERSION 4.79.0 (as compared to 4.78.1)<\/strong><\/p>\n\n- \nAdded 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)<\/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>