Is that correct Herman ? Does the code really do what it should do ? Every time 
when running the AFL the report shows me the 'Current Symbol' and not my 
selected WatchList as coded in the AFL. Of course after following modifications 
in the code :

if ( ParamTrigger( "Run Com BT", "BT" ) )

{

    WLN = 0; // the watchlist to backtest

    BRS = 100; // Number bars to test

    AB = CreateObject( "Broker.Application" );

    AA = AB.Analysis;

    AA.LoadFormula( "C:\\Program 
Files\\AmiBroker\\Formulas\\Systems\\Example.afl" );

    AA.ClearFilters();

    AA.Filter( WLN, "watchlist" ) ;

    AA.ApplyTo = 1;

    AA.RangeMode = 1;

    AA.RangeN = BRS;                                       

    AA.Backtest();

    AA.Report( "" );

}


Rather weird for me because AA.RangeN is being set correctly where the 
AA.Filter does not do what it should do. I still don't follow ... BTW I know 
that I should not do this from within an AFL. But the reason why this is not 
possible still for me is a open question ...

I am also getting syntax errors when using the code from the help file for 
setting the Watchlist. So "AA.Filter( 0, "market" ) = 0;" produces a syntax 
error and frankly for me the above instruction seems to be rather straight 
forward ... Gives no syntax error but does not do what it should do -)

So yes, it produces a nice BT report. But the question is, if that's the report 
you want to get. I could not make it work in the way I wanted it to work ... At 
least not from within an AFL ... 

Regards, Ton.


  ----- Original Message ----- 
  From: Herman 
  To: Tomasz Janeczko 
  Cc: [email protected] 
  Sent: Saturday, May 17, 2008 2:28 PM
  Subject: Re: [amibroker] Can someone fix this OLE code?



  OK Tomasz, but the code produces a nice BT report each time i click the 
Trigger. Seemingly flawless. Seems only a tweak would be required to make it 
work robust.




  I am going through all this trouble just to be able to access the Backtester 
stats from an indicator (I was going to extract the last value from the report 
on bar-by-bar BTs!). 




  System analysis in the time domain is frustrated/impossible because basic AB 
users (non professional programmer) can't retrieve and plot the Backtester 
stats, like UPI, %Winners, Number of trades, etc. Thus there is a big void wrt 
system analysis - see my suggestion #1335 and support tag [#49377]. 




  I wish that formulas for these functions were made public so that they can be 
used in indicators. This Would open up a whole new world to evaluate, analyze, 
and design trading systems. The single numbers in the AA give very limited 
information. With all respect, please do not mention the CBT... that solution 
is for less than 10% of users and I don't have enough days left to learn all 
that stuff.




  best regards,

  herman










  Saturday, May 17, 2008, 8:10:10 PM, you wrote:




        >
       But... the example in help

        a) works

        b) presents OUTSIDE ***JScript*** code

        http://www.amibroker.com/guide/objects.html

        c) does not contain

        AA.Analysis.RangeN (wrong line)



        Again I want to stress that out that Analysis COM object must not be 
used form 

        AFL level. The functionality is provided to control Automatic Analysis 
from OUTSIDE

        of AmiBroker. 




        Best regards,

        Tomasz Janeczko

        amibroker.com

        ----- Original Message ----- 

        From: Herman 

        To: dingo 

        Sent: Saturday, May 17, 2008 2:02 PM

        Subject: Re: [amibroker] Can someone fix this OLE code?




        won't do. Actually 99% of this code was copied from the AB help.




        h




        For tips on developing Real-Time Auto-Trading systems visit:

        http://www.amibroker.org/userkb/




        Saturday, May 17, 2008, 7:54:44 PM, you wrote:




              >
             ON the clearfilters() take off the () and try it.



              d








------------------------------------------------------------------

              From: [email protected] [mailto:[EMAIL PROTECTED] On 
Behalf Of Herman

              Sent: Saturday, May 17, 2008 7:49 AM

              To: dingo

              Cc: [email protected]

              Subject: Re: [amibroker] Can someone fix this OLE code?




              it runs fine except for the WLN and BRS changes i need.




              h




              For tips on developing Real-Time Auto-Trading systems visit:

              http://www.amibroker.org/userkb/




              Saturday, May 17, 2008, 7:46:35 PM, you wrote:




                    >
                   Maybe AB won't let you run a backtest within an indicator - 
time to ask TJ.



                    d








------------------------------------------------------------

                    From: [email protected] [mailto:[EMAIL PROTECTED] 
On Behalf Of Herman

                    Sent: Saturday, May 17, 2008 7:40 AM

                    To: dingo

                    Cc: [email protected]

                    Subject: Re: [amibroker] Can someone fix this OLE code?




                    Hi d, I tried that initially but No go.




                    thanks,

                    herman




                    For tips on developing Real-Time Auto-Trading systems visit:

                    http://www.amibroker.org/userkb/




                    Saturday, May 17, 2008, 7:35:20 PM, you wrote:




                          >
                         On the lines that give the error substitute a number 
constant for the variable and see if it works. If it does then it looks to me 
like it thinks the variables are arrays.



                          d








------------------------------------------------------

                          From: [email protected] [mailto:[EMAIL 
PROTECTED] On Behalf Of Herman

                          Sent: Saturday, May 17, 2008 7:01 AM

                          To: AmiBroker User Group

                          Subject: [amibroker] Can someone fix this OLE code?




                          Can someone help me fix the code below so that when 
triggered in an Indicator, it: 




                          1) Backtest all tickers in watchlist WLN?

                          2) Use range of BRS bars

                          3) Output ONLY the one line BT Report?




                          Many thanks!!!!

                          herman




                          if ( ParamTrigger( "Run Com BT", "BT" ) )

                          {

                              WLN = 0; // the watchlist to backtest

                              BRS = 100; // Number bars to test

                              AB = CreateObject( "Broker.Application" );

                              AA = AB.Analysis;

                              AA.LoadFormula( "C:\\Program 
Files\\AmiBroker\\Formulas\\Systems\\Example.afl" );

                              AA.ClearFilters();

                              AA.Filter( 0, "watchlist" ) = WLN;         // 
This gives syntax error...

                              AA.ApplyTo = 1;

                              AA.RangeMode = 1;

                              AA.Analysis.RangeN = BRS;                 // This 
gives syntax error...

                              AA.Backtest();

                              AA.Report( "" );

                          }




                          No virus found in this incoming message.

                          Checked by AVG.

                          Version: 8.0.100 / Virus Database: 269.23.16/1448 - 
Release Date: 5/16/2008 7:42 PM


                         

                    No virus found in this incoming message.

                    Checked by AVG.

                    Version: 8.0.100 / Virus Database: 269.23.16/1448 - Release 
Date: 5/16/2008 7:42 PM


                   

              No virus found in this incoming message.

              Checked by AVG.

              Version: 8.0.100 / Virus Database: 269.23.16/1448 - Release Date: 
5/16/2008 7:42 PM


             


       


   

Reply via email to