PureBytes Links
Trading Reference Links
|
I am sorry, but I don't understand anything about what you're saying about .abs, COM, or stuff like that. All I want to do is use the custom backtest to change my positionsize and for some reason it does not work.
Is there a step-by-step way to be sure I do it right?
Thanks,
Louis
2008/3/22, dingo <dingo@xxxxxxxxxxx>:
Yes, the answer is "No".
BTW - you might want to check out "Batman" in one of the
forum's file sections. It might save you from having to write your own
scripts.
d
Thanks Dingo. Yes that's what I have done now.
I've made two small programs in
Visual Fox with following code :
AASettingsFile = "C:\\Program
Files\\AmiBroker\\Settings\\MySettings2.abs" AB
= CreateObject("Broker.Application") AA
=
AB.Analysis AA.LoadSettings(AASettingsFile)
First program with MySettings1.abs and second
with MySettings2.abs. When looking
what happens in AB when I run these programs
in VFP, I can see them switch the settings from MySettings1 to MySettings2.
So this works fine.
But this also means that if I want to do things
like this in AB, I am forced to work in a kind of batch environment. Correct ?
Or is there a way to do this in AFL by calling these programs ? After
what I have seen on the Forum the answer is no ...
Regards, Ton.
----- Original Message -----
Sent: Saturday, March 22, 2008 4:43
PM
Subject: RE: [amibroker] What's wrong
with my formula (trouble with custombacktest)
The COM stuff is also useable by external scripts and
that is when these particular functions are very useful. If you use an
external script to control AB then you CAN load the settings file and then
load the formula and then run the formula. But the way AB is written
this procedure does NOT work when you try to do the COM work inside an AFL
formula.
d
Thanks Graham. Yes I thought I knew the 'AB
Bible'. But it's telling me something else
than what AB is doing. And I just do not
understand why. In the 'AmiBroker Object Model'
document LoadSettings is a method. Even the
example in mentioned document says that
LoadSettings should set the Backtest
environment to the loaded 'abs' file. So in
my humble opinion this should do what it says
:
// Create AB object
AB =
CreateObject("Broker.Application");
// Retrieve AA object
AA = AB.Analysis; // Load Mysettings1
AA.LoadSettings("C:\Program
Files\AmiBroker\Settings\MySettings1.abs");
... setting the backtester environment to
'MySettings1.abs'. Unfortunately it's not doing that and I
do not understand why not. If the manual
tells me different things than what I am seeing something is wrong. It's me of course. But why
?
I know the discussion about this
topic on the Forum. Running Loadsettings in an AFL is too late
for the rest of the AFL code. So I should
run it before the rest of the AFL. Let's say I am creating a separate AFL with just the above code and run the rest
in another AFL after that. But even this
seems to do nothing. The only thing I am getting the AA Window.
That's all. I don't get it ...
Regards, Ton.
----- Original Message -----
Sent: Saturday, March 22, 2008
10:26 AM
Subject: Re: [amibroker] What's
wrong with my formula (trouble with custombacktest)
The advanced backtest code is explained in the help files, see
Amibroker Formula Language - Advanced Porfolio Backtester
Interface. Advanced code is for changing the backtest
trades, or producing your own metrics after the main first pass (normal)
backtest is completed. (note: custom backtest and advanced backtest
refer to the same thing)
You have not shown any of this in the
information provided. All you have shown are the front end settings
which are used during the standard backtest, and are to be included in
the main part of the AFL code, not in the custom backtest
part.
-- Cheers Graham Kav AFL Writing
Service http://www.aflwriting.com
On 22/03/2008, Ton Sieverding <ton.sieverding@xxxxxxxxxx>
wrote:
I don't follow Graham and of course would
like to be corrected. Are you telling me
that when starting my AFL with following
instruction, the Backtester is not accepting
these settings when running the AFL
?
AA.LoadSettings("MySettings.abs");
If the Backtester is not following this
instruction what than is the purpose of the
SAVE and LOAD feature in AA ? I have the
feeling that I can save more setting
details by using the AA Settings screen
than by loading the underneath mentioned
Settings.AFL. In other words, I my
opinion there are more settings in de AA Settings
than I will find in the Setoption instruction ... And it's a hell of a lot
easier to make an
ABS file than and Settings.AFL
...
Regards, Ton.
----- Original Message -----
Sent:
Friday, March 21, 2008 9:57 PM
Subject:
Re: [amibroker] What's wrong with my formula (trouble with
custombacktest)
These are not custom (advanced) backtest codes, just the options
for backtesting, and do not belong in the advanced file. They will
not be read until after the backtest has been completed and is ready
for changing in the cbt. If you want these standard for all
backtesting, then just use #Include function, not #include
"C:\Program
Files\Amibroker1\Formulas\Custom\custom_backtest.afl"; --
Cheers Graham Kav AFL Writing Service http://www.aflwriting.com
On 22/03/2008, Ton Sieverding <ton.sieverding@xxxxxxxxxx> wrote:
Louis please go to the 'Automatic
Analysis' Tool and open the Settings. Modify all values
according to want you want to see. Then SAVE everything in an
ABS file that you can open in the beginning of your AFL. That's
all ...
Regards, Ton.
-----
Original Message -----
Sent:
Friday, March 21, 2008 2:54 PM
Subject:
Re: [amibroker] What's wrong with my formula (trouble with
custombacktest)
Hi,
Ok let me try to explain again.
I have a
file with
run = Optimize ("run",
1,1,1000,1);
SetOption("UseCustomBacktestProc",
True ); SetCustomBacktestProc(
"C:\\Program
Files\\Amibroker1\\Formulas\\Custom\\custom_backtest.afl"
);
SetOption("MaxOpenPositions",
5 ); SetOption("InitialEquity",
100000 ); SetOption("AllowPositionShrinking",
True ); SetOption
("AllowSameBarExit", False); SetOption
("ActivateStopsImmediately", False); SetOption ("MinShares",
100); SetOption ("MinPosValue",
5000); SetOption
("PriceBoundChecking", True); SetOption ("CommissionMode",
2); SetOption
("CommissionAmount", 25); SetOption ("AccountMargin",
100); SetOption
("ReverseSignalForcesExit", True); SetOption
("UsePrevBarEquityForPosSizing", True); SetOption
("PortfolioReportMode",0 );
ShortTrades =
ParamToggle("Short Trades?","Oui|Non",1); Longtrades =
ParamToggle("Long Trades?","Oui|Non",1);
PositionScore =
Random();
buy=....; sell=.....; short=....
etc.
Then, in
c:\\Program
Files\\Amibroker1\\Formulas\\Custom\\custom_backtest.afl
I have another file with
SetOption("MaxOpenPositions",
5 ); SetOption("InitialEquity",
100000 ); SetOption("AllowPositionShrinking",
True ); SetOption
("AllowSameBarExit", False); SetOption
("ActivateStopsImmediately", False); SetOption ("MinShares",
100); SetOption ("MinPosValue",
5000); SetOption
("PriceBoundChecking", True); SetOption ("CommissionMode",
2); SetOption
("CommissionAmount", 25); SetOption ("AccountMargin",
100); SetOption
("ReverseSignalForcesExit", True); SetOption
("UsePrevBarEquityForPosSizing", True); SetOption
("PortfolioReportMode",0 );
and when I click "backtest" nothing
happens if
SetOption("UseCustomBacktestProc",
True );
but
it works well if
SetOption("UseCustomBacktestProc",
False);
but
of course I'd prefer to use the custom
backtest.
Also, if I click the "use custom
backtest" in the AB interface and choose the first file or the
second, still nothing happens if custombacktestproc is
true. It has to be false for results to show.
Can
you
help?
Thanks,
Louis
2008/3/21, Graham <kavemanperth@xxxxxxxxx>:
I do not understand what you mean by parameters. The custom
file is for the advanced backtest coding that is read after
the portfolio backtest run is complete to either change the
backtest or report special custom metrics. If all you want
is input information for the afl, then use
#include
-- Cheers Graham Kav AFL
Writing Service http://www.aflwriting.com
On 21/03/2008, Louis Préfontaine <rockprog80@xxxxxxxxx> wrote:
Hi Graham, Yes I have the file setted as you
said, but what exactly should I put in that file? If I
put only the parameters and no rule, is it ok? Ton: I
am not sure what is AA or ABS... Louis
2008/3/19, Ton Sieverding
<ton.sieverding@xxxxxxxxxx>:
Louis, why are you using all
these SetOptions when AA has the ABS facility ? Create an
ABS, load the ABS in your AFL with
LoadSettings method and you've got what you want.
What's wrong with that ?
Regards, Ton.
-----
Original Message -----
Sent:
Wednesday, March 19, 2008 3:54 AM
Subject:
Re: [amibroker] What's wrong with my formula (trouble
with custombacktest)
Hi,
I don't have 4.90, so setbacktestmode does
not work...
I edited a new file with this
inside:
run = Optimize ("run",
1,1,1000,1);
SetOption("UseCustomBacktestProc",
True );
SetOption("MaxOpenPositions",
5 ); SetOption("InitialEquity",
100000 ); SetOption("AllowPositionShrinking",
True ); SetOption
("AllowSameBarExit", False); SetOption
("ActivateStopsImmediately", False); SetOption
("MinShares", 100); SetOption
("MinPosValue", 5000); SetOption
("PriceBoundChecking", True); SetOption
("CommissionMode", 2); SetOption
("CommissionAmount", 25); SetOption
("AccountMargin", 100); SetOption
("ReverseSignalForcesExit", True); SetOption
("UsePrevBarEquityForPosSizing",
True); SetOption
("PortfolioReportMode",0 );
ShortTrades =
ParamToggle("Short
Trades?","Oui|Non",1); Longtrades =
ParamToggle("Long
Trades?","Oui|Non",1);
PositionScore =
Random();
and saved it as
custom_backtest.afl at the right place.
Then I added this at the beginning of the file
with my formula:
SetOption("UseCustomBacktestProc",
True ); SetCustomBacktestProc(
"C:\\Program
Files\\Amibroker\\Formulas\\Custom\\custom_backtest.afl"
);
I don't understand why it is not
working...
Louis
2008/3/18, Graham <kavemanperth@xxxxxxxxx>:
If you set custombacktestproc as true ,
you must have a custom backtest code to
read.
you could try the function
SetBacktestMode
--
Cheers Graham Kav AFL Writing Service http://www.aflwriting.com
On 19/03/2008, Louis Préfontaine <rockprog80@xxxxxxxxx>
wrote:
Hi,
My formula starts like
this:
run = Optimize
("run", 1,1,1000,1);
SetOption("UseCustomBacktestProc",
True );
SetOption("MaxOpenPositions",
5 ); SetOption("InitialEquity",
100000 ); SetOption("AllowPositionShrinking",
True ); SetOption
("AllowSameBarExit", False); SetOption
("ActivateStopsImmediately",
False); SetOption
("MinShares", 100); SetOption
("MinPosValue", 5000); SetOption
("PriceBoundChecking", True); SetOption
("CommissionMode", 2); SetOption
("CommissionAmount", 25); SetOption
("AccountMargin", 100); SetOption
("ReverseSignalForcesExit",
True); SetOption
("UsePrevBarEquityForPosSizing",
True); SetOption
("PortfolioReportMode",0 );
ShortTrades =
ParamToggle("Short
Trades?","Oui|Non",1); Longtrades =
ParamToggle("Long
Trades?","Oui|Non",1);
PositionScore =
Random();
buy=................................. sell=..... etc.
Is there
something wrong with this, as when I click
"backtest" I see no results. When I change the
custombacktestproc for "false" everything works
well, but how do I do to get it my own way?
Cause I'd like to be able to be in more than one
trade at a time. And also, I think been
in more than one trade at a time could make my Monte
Carlo backtesting more reliable (am I
right?).
Thanks,
Louis
__._,_.___
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 NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/
For other support material please check also:
http://www.amibroker.com/support.html
__,_._,___
|