[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: AmiBroker 4.31.1 BETA released, was [amibroker] AmiBroker 4.31.0 BETA released



PureBytes Links

Trading Reference Links




Dale,
 
Yes it is possible to perform optimization using for loop 
inside exploration code:
 
Sample code follows, it runs optimization inside for loop and 
reports only THE BEST
result. It should be run usign "EXPLORE". The code in fact 
runs several
backtests inside 'for' loop and notes the best result and best 
parameter range.

bestequity = 0<FONT 
size=1>;bestrange = 0<FONT 
size=1>;
// optimization loop
for( range = 12; 
range < 40; range ++ 
){
  Buy = Cross<FONT 
size=1>( Close, EMA<FONT 
size=1>( Close, range ) );
  Sell = Cross<FONT 
size=1>( EMA( 
Close, range ), Close );
 L<FONT face="Courier New" 
size=1>e = 
LastValue<FONT 
face="Courier New" size=1>( <FONT color=#0000ff 
size=1>Equity() 
);
  if( L<FONT 
face="Courier New" size=1>e > bestequity )  
{    bestequity = 
L<FONT face="Courier New" 
size=1>e;   bestrange = range; }<FONT 
size=1>}
range = bestrange;
Buy = Cross( 
Close, EMA( 
Close, range ) );
Sell = Cross( 
EMA( Close, range 
), Close );
Filter = <FONT 
face="Courier New" color=#0000ff size=1>BarIndex<FONT face="Courier New" 
size=1>() == BarCount - <FONT face="Courier New" color=#ff00ff 
size=1>1;<FONT 
face="Courier New" color=#0000ff size=1>
AddColumn( bestrange, <FONT 
face="Courier New" color=#ff00ff size=1>"Best range"<FONT 
face="Courier New" size=1> );<FONT face="Courier New" color=#0000ff 
size=1>
AddColumn( <FONT 
face="Courier New" color=#0000ff size=1>Equity<FONT face="Courier New" 
size=1>(), "Best 
Equity" );
 
 
 
Best regards,Tomasz Janeczkoamibroker.com
<BLOCKQUOTE 
>
  ----- Original Message ----- 
  <DIV 
  >From: 
  dingo 
  To: <A title=amibroker@xxxxxxxxxxxxxxx 
  href="">amibroker@xxxxxxxxxxxxxxx 
  Sent: Sunday, April 13, 2003 5:20 
PM
  Subject: RE: AmiBroker 4.31.1 BETA 
  released, was [amibroker] AmiBroker 4.31.0 BETA released
  
  <FONT face=Arial color=#0000ff 
  size=2>Bodacious Binary TJ!
  <FONT face=Arial color=#0000ff 
  size=2> 
  <FONT face=Arial color=#0000ff 
  size=2>After seeing how quiet you've been these last few weeks I started 
  getting excited... and I was happily rewared this am when I saw your 
  message!  
  <FONT face=Arial color=#0000ff 
  size=2> 
  In 
  trying to get my thinking together on this: is it now possible to simulate an 
  optimization when running an Exploration by using the FOR construct?  
  What I'm trying to do is get some extra columns that contain calculated data 
  during an Optimization. SInce you can't use the Addcolumn in the Optimizer 
  I've been wondering how I might go about this using the FOR (or even the 
  While).  If you have a few moments could you illustrate how this might be 
  done (if possible) using a simple example?
  <FONT face=Arial color=#0000ff 
  size=2> 
  <FONT face=Arial color=#0000ff 
  size=2>d
  <FONT face=Arial color=#0000ff 
  size=2> 
  
    
    <FONT 
    face=Tahoma size=2>-----Original Message-----From: Tomasz 
    Janeczko [mailto:amibroker@xxxxxx] Sent: Sunday, April 13, 2003 
    10:07 AMTo: amibroker@xxxxxxxxxxxxxxxSubject: 
    AmiBroker 4.31.1 BETA released, was [amibroker] AmiBroker 4.31.0 BETA 
    released
    
    Hello,
     
    A new version 4.31.1 BETA is available now
    for download from:
    <A 
    href="">http://www.amibroker.com/members/bin/ab4311beta.exe
     
    It fixes bug introduced in 4.31.0 that caused no text 
    output
    in commentary/interpretation window.
     
    Best regards,Tomasz Janeczkoamibroker.com
    <BLOCKQUOTE 
    >
      ----- Original Message ----- 
      <DIV 
      >From: 
      Tomasz 
      Janeczko 
      To: <A 
      title=amibroker@xxxxxxxxxxxxxxx 
      href="">amibroker@xxxxxxxxxxxxxxx 
      
      Sent: Sunday, April 13, 2003 11:07 
      AM
      Subject: [amibroker] AmiBroker 4.31.0 
      BETA released
      
      Hello,
       
      A new beta version (4.31.0) of AmiBroker has just been 
      released.
       
      It is available for registered users only from the 
      members area at:
      <A 
      href="">http://www.amibroker.com/members/bin/ab4310beta.exe
       
      If you forgot your user name / password to the members 
      area
      you can use automatic reminder service at: <A 
      href="">http://www.amibroker.com/login.html
       
      This release brings huge improvement to AFL: 
      
      for and while loops 
      and if-else flow control statements.
       
      Native AFL loops run 2..3 times faster than JScript 
      (according to my
      preliminary tests on arrays with 1000-5000 
      bars)
       
      For more details and example code please read the 
      following "READ ME" text.
       
      NOTE: from now on all beta releases will be available to 
      registered
      users only (in member area).
       
      Best regards,Tomasz 
      Janeczkoamibroker.com
       
       
      
      AmiBroker 4.31.0 Beta Read Me
      April 13, 2003 10:38 
      
      THIS IS AN EARLY BETA VERSION OF THE SOFTWARE. EXPECT BUGS 
      !!!
      AGAIN: THIS IS AN EARLY BETA VERSION OF THE SOFTWARE. EXPECT BUGS 
      !!!
      Backup your data files and entire AmiBroker 
      folder first!
      INSTALLATION INSTRUCTIONS
      IMPORTANT: This archive is update-only. You have to install full 
      version 4.30 first. 
      Just run the installer and follow the instructions. 
      Then run AmiBroker. You should see "AmiBroker 4.31.0 beta" written in 
      the About box.
      CHANGES FOR 
      VERSION 4.31.0 (as compared to 4.30.0)
      
        Workspace window uses "icon font" set in the Windows settings 
        instead of hard coded Tahoma 8 
        for better readability and ClearType(tm) compatibility on WinXP, all 
        dialog windows use now 'MS Shell Dlg' face name that maps to standard MS 
        Sans Serif on Win 9x/Me/NT and Tahoma on Win 2K and XP. 
        rewritten AFL parser, now formula is parsed and coverted to syntax 
        tree and then interpreted. This would allow further improvements 
        including compilation. This allowed also to add loops/if-else 
        statements. 
        implemented IF/ELSE statement, WHILE and FOR loops:The same 
        basic 'for' loop in AFL is 2..3 times faster than in JScriptSyntax 
        follows C++/JScript style: 
        while( conditional_expression ) statement;
        for( initializer_part; conditional_expression; iterator_part ) 
        statement;
        if( conditional_expression ) statement;
        if( conditional_expression ) 
        statement;elsestatement;
        
        implemented compound statements: these are blocks of statements 
        enclosedin opening and closing curly brace 
        {statement1;statement2;...statementN;}
        compound statement can appear anywhere when simple statement can.
        For example:
        i = 10;while( i < 20 ){Plot( MA( Close, i ), 
        "MA" + WriteVal( i, 0 ), colorBlack + i );i = i + 1;}
        
        implemented C-style postfix and prefix increment/decrement 
        operators
        i = 10;WriteIf( i++ );WriteIf( ++i );WriteIf( i 
        );
        
        implemented array element access (subscript) operator []:
        WriteVal( Close[ 0 ] ); // prints the first bar of close 
        array
        /* a sample low-level implementation of exponential moving 
        average in AFL */
        myema[ 0 ] = Close[ 0 ];
        for( i = 1; i < BarCount; i++ ){myema[ i ] = 0.1 * 
        Close[ i ] + 0.9 * myema[ i - 1 ];}
        
        added built-in constant 'BarCount' that returns number of bars 
        available in arrays (the number of elements of array)When QuickAFL 
        is turned on it may be less than true number of bars because QuickAFL 
        feature attempts to use only visible bars (and few before). You can 
        control how many bars the formula requires using SetBarsRequired() 
        function
        
        implemented infinite-loop protection. Nice if you forgot to increment 
        counter variable in 'for' loop :-)
        
        tab key now works without need to press ALT/CTRL in AFL editors
        
        added C-like synonyms for logical ADD/OR/NOT: &&, ||, ! 
        /* a sample low-level implementation of Profit-target stop 
        in AFL: */
        Buy = Cross( MACD(), Signal() );
        priceatbuy=0;
        for( i = 0; i < BarCount; i++ 
        ){     if( priceatbuy == 0 && 
        Buy[ i ] )      priceatbuy = BuyPrice[ i 
        ];
             if( priceatbuy > 0 && 
        SellPrice[ i ] > 1.1 * priceatbuy 
        )     {       Sell[ 
        i ] = 1;       SellPrice[ i ] = 
        1.1 * 
        priceatbuy;       priceatbuy = 
        0;     }     else       Sell[ 
        i ] = 0;}
        /* sample EMA rainbow */
        Plot( Close, "Price", colorBlack, styleCandle );for( Range 
        = 15; Range < 100; Range++ )   Plot( EMA( Close, 
        Range ), "MA"+WriteVal(Range,0), colorRose + Range % 8, styleNoLabel 
        );
        
      HOW TO REPORT BUGS
      If you experience any problem with this beta version please send 
      detailed description of the problem (especially the steps needed to 
      reproduce it) to <A 
      href="">bugs@xxxxxxxxxxxxx 
    Send BUG REPORTS to 
    bugs@xxxxxxxxxxxxxSend SUGGESTIONS to 
    suggest@xxxxxxxxxxxxx-----------------------------------------Post 
    AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx (Web page: 
    <A 
    href="">http://groups.yahoo.com/group/amiquote/messages/)--------------------------------------------Check 
    group FAQ at: <A 
    href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
    Your use of Yahoo! Groups is subject to the <A 
    href="">Yahoo! Terms of Service. 
    Send 
  BUG REPORTS to bugs@xxxxxxxxxxxxxSend SUGGESTIONS to 
  suggest@xxxxxxxxxxxxx-----------------------------------------Post 
  AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx (Web page: <A 
  href="">http://groups.yahoo.com/group/amiquote/messages/)--------------------------------------------Check 
  group FAQ at: <A 
  href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
  Your use of Yahoo! Groups is subject to the <A 
  href="">Yahoo! Terms of Service. 







Yahoo! Groups Sponsor












Send BUG REPORTS to bugs@xxxxxxxxxxxxx
Send SUGGESTIONS to suggest@xxxxxxxxxxxxx
-----------------------------------------
Post AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx 
(Web page: http://groups.yahoo.com/group/amiquote/messages/)
--------------------------------------------
Check group FAQ at: http://groups.yahoo.com/group/amibroker/files/groupfaq.html



Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.