amibroker

HomeDevLog

AmiBroker 4.79.0 BETA released

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:
http://www.amibroker.com/members/bin/ab4790beta.exe

(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 )

IMPORTANT NOTES:

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)

  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)

    Example:

    SetOption("HoldMinBars"127 ); 
    
    Buy=BarIndex()==0
    Sell=1
    // even if sell signals are generated each day, 
    //they are ignored until bar 128
  2. 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)
  3. AFL formula editor toolbar / menu is now customizable
  4. 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

    AddColumnIIfBuyAsc("B"), Asc("S")), "Signal"formatChar );
  5. Changed EarlyExitFee functionality so it does NOT affect equity (and stats like drawdowns) if position is not liquidated during early bars
  6. Chart sheet tabs improvements: added drag-drop moving, quick selection menu, home/end buttons
  7. Fix: double click on Y axis does not turn range markers anymore (allocated to: 4.79.0)
  8. 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
  9. 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.2colorDefaultColorRGB(25500) );   //   this works 
    AddColumn(Close"Close"1.2ColorRGB(00255), ColorRGB(25500));   //   this works 
    AddColumn(Close"Close"1.2colorBlueColorRGB(25500)); // this works in 4.79, but didn't in previous versions 

    AddTextColumn(" "" "); 

    AddColumn(Close"Close"1.2ColorRGB(25500), colorDefault); //   this works 
    AddColumn(Close"Close"1.2ColorRGB(25500), ColorRGB(00255) );   //   this works 
    AddColumn(Close"Close"1.2ColorRGB(25500), colorBlue); // this works in 4.79, but didn't in previous versions
  10. 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
  11. 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)
  12. OLE: added ability to control sorting in AA window from OLE level
    Object:
    Analysis

    New method:
    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.SortByColumn1FalseFalse ); 

    // add secondary sort column (see last argument = True) 
    AA.SortByColumn2FalseTrue ); 
  13. 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();
  14. OLE: when AmiBroker is created from OLE, it loads default layout now (previous versions did not
  15. Scaling in/out fixes: added extra checks not to exceed available cash (scaling-in) and not to drop below zero shares (scaling out)
  16. 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"
    menu items.
  17. 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.

AmiBroker 4.78.1 BETA released

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

It is available for registered users only from the members area at:
http://www.amibroker.com/members/bin/ab4781beta.exe

(File size: 1 099 218 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 )

IMPORTANT NOTES:

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.78.1 (as compared to 4.78.0)

  1. atcFlagEnableInPortfolio now works fine with atcFlagCompositeGroup flag
    Previously using atcFlagCompositeGroup (or atcFlagDefaults) prevented creation of composite in custom backtest procedure (even if atcFlagEnableInPortfolio was specified). atcFlagEnableInPorfolio worked only without it. Now it is fixed (works fine with or without atcFlagCompositeGroup)
  2. AFLEditor: Edit->Replace fixed
  3. HTMLExport: fixed crash occuring sometimes when lots of columns were used
  4. HTMLExport: fix: colorDefault is not BLACK for background (bgcolor in tag is skipped) - this fix also reduces file size
  5. HTMLExport: header row is in separate line (CR at the end)
  6. backward compatiblity fix for ExportImage() function (when width and height are not provided then default - current window size - is used). (NOTE: this also fixes Edit->Image->Export )
  7. AmiBroker 4.78.0 BETA released

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

    It is available for registered users only from the members area at:
    http://www.amibroker.com/members/bin/ab4780beta.exe

    (File size: 1 098 846 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 )

    IMPORTANT NOTES:

    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.78.0 (as compared to 4.77.0)

    1. AA: HTML export added that supports FULL COLOR output
      To export to HTML just click "EXPORT" button in AA window and select "HTML files" from "Files of type" combo box in file dialog.

      You can also use OLE interface Export method - if EXTENSION provided in the file name is .html then AmiBroker will output HTML file, otherwise it will output CSV (text) file. If you want colorful output in Excel, just EXPORT the file to HTML and load it into Excel (or drag-drop to excel).

      Please note that Excel color palette is limited (not all 16 million colors available in AmiBroker can be represented in Excel).
      Example colorful test exploration:

      Filter=1
      for( 
      025616 
        
      AddColumnC"C"+i1.2colorDefault
                   
      ColorHSB( ( BarIndex() + ) % 256255-i255 ) );
    2. List control code reviewed for better 64bit compatibility
    3. List selection is maintained after sorting
    4. Multiple column sort implemented in AA result list (and other list controls as well)

      To sort by more than one column:
      a) click the FIRST column then
      b) SHIFT-click second, third, fourth column ... and so on (upto 40 columns can be sorted at once)
      (to SHIFT-click means to click with left mouse button while having SHIFT key pressed down)
      c) to change the Asc/Desc order click on the same column again

      To restart sorting, release SHIFT key and click on column (it will become first).

      Subsequent columns (in the order you have clicked on them) are marked with 1, 2, 3, 4, 5, 6, 7, 8, 9 numbers
      (if you select more than 10 columns, then all columns above 10th will be marked with '...')

    5. Backtester: added EarlyExitBars/EarlyExitFee functionality (not supported by old (v.4.4) backtester)

      Early exit (redemption) fee is charged when trade is exited during first N bars since entry.
      The fee is added to exit commission and you will see it in the commissions reported for example in detailed log. It is also reflected in the portfolio equity (so for first N bars since entry portfolio equity is lower by early exit fee).

      // these two new options can be set on per-symbol basis 
      
      // how many bars (trading days) 
      // an early exit (redemption) fee is applied 
      SetOption("EarlyExitBars"128 ); 
      // early redemption fee (in percent) 
      SetOption("EarlyExitFee");

      (note 180 calendar days is 128 or 129 trading days)

      // how to set it up on per-symbol basis? 
      
      // it is simple - use 'if' statement 
      if( Name() == "SYMBOL1" 

       
      SetOption("EarlyExitBars"128 ); 
       
      SetOption("EarlyExitFee"); 


      if( 
      Name() == "SYMBOL2" 

       
      SetOption("EarlyExitBars"25 ); 
       
      SetOption("EarlyExitFee"); 
      }
    6. AA: "Scan every" feature has been renamed to "Run every" and allows automatic repeat of scan or exploration (new feaeture) it allows also shorter intervals

      Run every intervals can now be defined in MINUTES (default) or SECONDS.
      To enter run-every interval in seconds simply add "s" or "sec" at the end of interval value, for example:

      10 sec - for run every 10 seconds
      5 s - for run every 5 seconds
      13 min - for run every 13 minutes
      35 m - for run every 35 minutes
      7 - for run every 7 minutes (if time unit is not specified then by default minutes are used)

    7. OLE: ExportImage() now supports Width and Height parameters

      ExportImage function that now allows to specify width and height. So to export say 640x480 gif image you need to write:

      AB = new ActiveXObject("Broker.Application");
      
      Win AB.ActiveWindow;
      Win.ExportImage"test.gif"640480 );

      and you will get perfect image with no jagginess or any scaling artifacts.
      And it works independently of your current window size and it does NOT affect your current window size.

    8. fix: customColor1 can be selected again using color picker
    « Previous Page