Yes, thanks Tomasz. I had the feeling that only the second example was in 
JScript because it tells me that in the header. But of course I should have 
known better when looking to the first lines in example 1. Sorry ...

Regards, Ton.

  ----- Original Message ----- 
  From: Tomasz Janeczko 
  To: [email protected] 
  Sent: Sunday, May 18, 2008 12:18 PM
  Subject: Re: [amibroker] Can someone fix this OLE code?



  If you think that removing random parts from the script written in different 
language in order to "compile" makes it correct, then you are wrong.

  I repeat: the example 1 from http://www.amibroker.com/guide/objects.html is a 
JSCRIPT code.
  It is JScript. Not AFL. The examples are written in JScript because they are 
intended to be run as external script (in Windows Scripting Host).
  You can not take JScript code copy it to AFL editor and expect it to work. It 
is different language. 

  Although it may "look" as AFL it is not AFL. How to distinguish that? Easy: 
new ActiveXObject statement (first line)
  is a JScript-only construct. That tells you that it is JScript (as all 
examples given in this doc by the way).

  JScript allows setting COM properties with parameters like this:
  AA.Filter( 0, "market" ) = 0; // assigning value to COM OBJECT parametrized 
property here

  If you remove the assignment from such statement, the statement will compile 
but its meaning is completely CHANGED.
  Without assignment the statement actually does NOTHING (it reads the property 
value and does not make any use of it).

  AFL does not allow setting COM parametrized properties, AFL only allows 
setting parameter-less COM properties, that's why you are getting syntax errors.

  Best regards,
  Tomasz Janeczko
  amibroker.com
    ----- Original Message ----- 
    From: Ton Sieverding 
    To: [email protected] 
    Sent: Sunday, May 18, 2008 10:33 AM
    Subject: Re: [amibroker] Can someone fix this OLE code?


    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