Joe,
Zip file is attached. This is basically the
BatchTest.js file TJ setup from AB help. I only made slight
modifications to the file path and added a few comments for
myself.
It really works slick. The only problem I have is
that it will not run through all of the .afl files in the directory. It
stops after about 10-15 files/systems, in different spots, randomly.
I believe it may be a memory constraint I have on this older machine I
have. Otherwise, this is a great tool.
Best of luck,
Perry Lentine
Perry - Would you resend the complete script zipped or
with an extension other than
JS? My OE mail client strips anything that it
thinks is executable..dot exe, js, vbs, etc.
Thanks
JOE
----- Original Message -----
Sent: Tuesday, November 15, 2005 7:53
AM
Subject: RE: [amibroker] #Include
d,
I have also attached my version of the complete
script. Thanks for commenting.
Perry
Lentine
//Snip
if( AA.LoadFormula( filename ) )
{
AA.Backtest(); AA.Export("D:\\temp\\testAFLScript.csv");
reportname = filename.substr( 0, filename.length - 3 ) + "HTML" ;
AA.Report(
reportname ); // generate report
file //AA.Report(""); // generate
report
}
//Snip
post the part of the code that does the .backtest and if
I remember correctly there is a .Report in there - yes? If so post it
too. We need to lose that one and check the
.Backtest
d
Is there any way to have the results (output) of
BatchTest.js directed to AmiBroker's Report Explorer rather than an .HTML
format?
I am trying to compare the output of the various
AFL systems that run through the batch. It would be easier to do if
the output of BatchTest.js could be added to the Report Explorer or some
other tabular format.
I even attempted to put an Export statement into
the script. I ended up with the details, not a summary, of only the
last .AFL file that is run through the batch.
Any comments or suggestions would be
appreciated.
Perry Lentine
Hello,
#include is not regular function. It is
pre-processor command that is executed ONCE before any execution takes
place.
This is so for speed because including at
execution stage over and over again will slow down the execution
significantly.
It works the same way as C language
pre-processor.
Instead I suggest using OLE automation to
backtest all variants. Batch backtesting is described in the User's
Guide:
There is a BatchTest.js script file that will
automatically run backtest ON EACH file stored in selected
directory.
So simply put all files you want to test in one
separate directory, adjust this line in the script
AFLFolder = "C:\\Program Files\\AmiBroker\\AFL"; // MODIFY TO FIT
YOUR SETUP
and double click BatchTest.js (the file with
the script) - that way you will launch Windows Scripting host
that will run the script that executes all
backtests.
Best regards, Tomasz Janeczko amibroker.com
----- Original Message -----
Sent: Monday, November 14, 2005 10:37
AM
Subject: [amibroker] #Include
Hello,
I posted this question in boards, but did not
get an answer. Could someone give any ideas,
please:
------------------------------- I am trying to user
Optimizer to test 100.000 formations stored in separate .afl files. I want
to use #include in something like this:
i = Optimize ("i", 1,
1, 10000, 1); FileName = "MyFile" + i + ".afl"; #include
Filename;
However, this does not work, as apparantely you cannot
pas a string as a file name to #include
preproccessor.
------------------------------- I am trying to
overcome this by hardcoding #Includes:
inc = Optimize ("include
file", 1, 1, 100, 1);
if (inc == 1) {#include "file1.afl"} if
(inc == 2) {#include "file2.afl"} if (inc == 3) {#include
"file3.afl"} ... if (inc == 100) {#include
"file100.afl"}
However, here is another problem I discovered.
#Include cashes ALL FILES on EACH optimization. That means, no matter what
#include it will use, it still cashes all files. In my case it takes 10
seconds, to put all files into cache, when I need only one, and then onlyu
0.2 seconds to execute! This 10 seconds is a huge loss in
performance, and it is not
neccesary.
--------------------------------- Finally, I found a
very clumsy workaround, but it is very unreliable and slow (uses hard disc
reads/writes):
1. I use fgets and fputs to write "include.afl"
file. 2. The file is included using #include "include.afl" 3. The
include.afl file is overwritten by the new formations from other files
using fgets/fputs.
I would like to ask, if anyone had the same
issues? What would you suggest to overcome this?
Many thanks in
advance, B.
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
|