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

[amibroker] Re: batch testing Please Help!



PureBytes Links

Trading Reference Links

Ok I've changed it and here's what I have.  


/*****************************
*
* BatchTest.js
*
* Batch testing sample script
* Shows how to use JScript and new AmiBroker 4.23
* 'Analysis' object to perform batch backtesting
* and generate reports
*
* Created: Dec 21, 2002 TJ
* Last modification: Dec 22, 2002 TJ
* 
* Copyright (C)2002 Amibroker.com
*
* Status: Freeware
* You can use/modify/adopt this code freely
*
*/ 
/* The directory where AFL files are stored
** Also reports generated by the bactest
** will be saved here
*/ 

AFLFolder = "C:\\Program Files\\AmiBroker\\formulas\\systems"; // 
MODIFY TO FIT YOUR SETUP 
WScript.Echo("Batch testing of all AFL files stored in " + 
AFLFolder ); 
var AB, AA;
var fso, f, f1, fc, s;
var filename; 
/* Create AmiBroker object and get Analysis object */ 
AB = new ActiveXObject("Broker.Application");
AA = AB.Analysis; 
/* backtest over symbols and all quotes*/
AA.ClearFilters(); 
AA.ApplyTo = 0; 
AA.RangeMode = 3;  
AA.rangefromdate=1020321;
AA.rangetodate=1040310;
/* to use filters you should uncomment lines below 
 AA.ApplyTo = 2;
 AA.Filter(0,"watchlist") = 3 ;
 
   

/* Create FileSystemObject */
fso = new ActiveXObject("Scripting.FileSystemObject"); 
/* Iterate through all files in the folder */
f = fso.GetFolder(AFLFolder);
fc = new Enumerator(f.files);
for (; !fc.atEnd(); fc.moveNext())
{
// we need to add empty string to make sure that filename is a string 
object
filename = "" + fc.item(); 
/* check the AFL extension */
if( filename.substr( filename.length - 4 ).toUpperCase() == ".AFL" )
{ 
if( AA.LoadFormula( filename ) )
{
AA.Backtest(); 
reportname = filename.substr( 0, filename.length - 3 ) + "HTML" ; 

AA.Report( reportname ); // generate report
}
}
} 
WScript.Echo("Batch backtest finished"); 


When I try to run it, I still get the error message, "missing 
buy/sell variable assignaments."

Any other suggestions?  This seems like a complicated problem but 
would be easy for someone who understands java and AFL.

Thanks,
Jeff





































--- In amibroker@xxxxxxxxxxxxxxx, Graham <kavemanperth@xxxx> wrote:
>
> Have not used it but these lines are what would provide the 
filtering
> 
> /* backtest over symbols and all quotes*/
> AA.ClearFilters();
> AA.ApplyTo = 0; // use symbols
> AA.RangeMode = 0; // all quotes
> AA.rangefromdate=3/21/01;
> AA.rangetodate=3/10/04;
> /* to use filters you should uncomment lines below
>  AA.ApplyTo = 2; // use filters
>  AA.Filter(0,"watchlist") = 3 /* watch list number */;
> 
> note it says "to use filters you should uncomment lines below" and 
has
> a block comment around the last 3 lines
> 
> 
> On 10/18/05, jeffro861 <jhend746@xxxx> wrote:
> > I'm having problems with batch testing after I've put the 
following
> > script in:
> >
> >
> > /*****************************
> > *
> > * BatchTest.js
> > *
> > * Batch testing sample script
> > * Shows how to use JScript and new AmiBroker 4.23
> > * 'Analysis' object to perform batch backtesting
> > * and generate reports
> > *
> > * Created: Dec 21, 2002 TJ
> > * Last modification: Dec 22, 2002 TJ
> > *
> > * Copyright (C)2002 Amibroker.com
> > *
> > * Status: Freeware
> > * You can use/modify/adopt this code freely
> > *
> > */
> > /* The directory where AFL files are stored
> > ** Also reports generated by the bactest
> > ** will be saved here
> > */
> >
> > AFLFolder = "C:\\Program Files\\AmiBroker\\formulas\\systems"; //
> > MODIFY TO FIT YOUR SETUP
> > WScript.Echo("Batch testing of all AFL files stored in " +
> > AFLFolder );
> > var AB, AA;
> > var fso, f, f1, fc, s;
> > var filename;
> > /* Create AmiBroker object and get Analysis object */
> > AB = new ActiveXObject("Broker.Application");
> > AA = AB.Analysis;
> > /* backtest over symbols and all quotes*/
> > AA.ClearFilters();
> > AA.ApplyTo = 0; // use symbols
> > AA.RangeMode = 0; // all quotes
> > AA.rangefromdate=3/21/01;
> > AA.rangetodate=3/10/04;
> > /* to use filters you should uncomment lines below
> >  AA.ApplyTo = 2; // use filters
> >  AA.Filter(0,"watchlist") = 3 /* watch list number */;
> >
> >
> >
> > /* Create FileSystemObject */
> > fso = new ActiveXObject("Scripting.FileSystemObject");
> > /* Iterate through all files in the folder */
> > f = fso.GetFolder(AFLFolder);
> > fc = new Enumerator(f.files);
> > for (; !fc.atEnd(); fc.moveNext())
> > {
> > // we need to add empty string to make sure that filename is a 
string
> > object
> > filename = "" + fc.item();
> > /* check the AFL extension */
> > if( filename.substr( filename.length - 4 ).toUpperCase() 
== ".AFL" )
> > {
> > if( AA.LoadFormula( filename ) )
> > {
> > AA.Backtest();
> > reportname = filename.substr( 0, filename.length - 3 ) + "HTML" ;
> >
> > AA.Report( reportname ); // generate report
> > }
> > }
> > }
> > WScript.Echo("Batch backtest finished");
> >
> >
> >
> >
> > My problem is that I can't get the script to only include a 
specific
> > watchlist and a specific to and from date.  Please help!  I've 
been
> > battling this for a month.  Also please note that I'm trying to 
batch
> > test one long and one short system and I sometimes I get an error
> > message saying that I don't have "buy" and "sell" statements in 
the
> > forumula which is not true.
> >
> > TIA,
> > Jeff
> >
> >
> >
> >
> >
> >
> > Please note that this group is for discussion between users only.
> >
> > To get support from AmiBroker please send an e-mail directly to
> > SUPPORT {at} amibroker.com
> >
> > For other support material please check also:
> > http://www.amibroker.com/support.html
> >
> >
> > Yahoo! Groups Links
> >
> >
> >
> >
> >
> >
> >
> >
> 
> 
> --
> Cheers
> Graham
> AB-Write >< Professional AFL Writing Service
> Yes, I write AFL code to your requirements
> http://e-wire.net.au/~eb_kavan/ab_write.htm
>






------------------------ Yahoo! Groups Sponsor --------------------~--> 
Try Online Currency Trading with GFT. Free 50K Demo. Trade 
24 Hours. Commission-Free. 
http://us.click.yahoo.com/RvFikB/9M2KAA/U1CZAA/GHeqlB/TM
--------------------------------------------------------------------~-> 

Please note that this group is for discussion between users only.

To get support from AmiBroker please send an e-mail directly to 
SUPPORT {at} amibroker.com

For other support material please check also:
http://www.amibroker.com/support.html

 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/amibroker/

<*> To unsubscribe from this group, send an email to:
    amibroker-unsubscribe@xxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/