Ed,
tried this last night and, for whatever reason, it didn't work.
it ran
ok, but no "open" metric was added to the
backtester/optimization
report. any ideas? or, any advice on how you
learned to program with
the backtester
interface?
thanks,
Jonathan
--- In amibroker@xxxxxxxxxps.com,
"Edward Pottasch" <empottasch@...>
wrote:
>
> try
this:
>
> SetOption("UseCustomBacktestProc", True );
>
> if(Status("action")== actionPortfolio) {
>
> bo = GetBacktesterObject();
>
bo.PreProcess();
>
> for( bar = 0; bar < BarCount; bar++
) {
>
> bo.processtradesignals(bar);
>
> for(
openpos = bo.GetFirstOpenPos(); openpos; openpos
=
bo.GetNextOpenPos() ) {
>
> price =
openpos.getprice(bar,"O");
>
bo.addcustommetric("O",price);
>
> }
>
>
}
> bo.PostProcess();
>
> }
>
> rgds,
Ed
>
>
> ----- Original Message -----
> From:
Bozwood
> To: amibroker@xxxxxxxxxps.com
> Sent: Sunday, May 06, 2007 4:11 PM
> Subject: [amibroker]
backtester interface
>
>
> I am attempting to gain access
to the price bar in order to make
> calculations using open, close, etc.
This is just a simplified example
> where I am trying to access the open
and add it to the
> backtester/optimizer output. I am likely doing
multiple things wrong
> with the code, but I am sure what. Any help
would be appreciated.
>
> if(Status("action")==
actionPortfolio)
> {
> bo = GetBacktesterObject();
>
bo.preprocess();
> for(bar=0; bar<BarCount; bar++)
>
{
> bo.processtradesignals(bar);
> for(pos=
bo.getfirstopenpos(); pos; pos= bo.getnextopenpos())
>
{
> price= pos.getprice(bar,"o");
>
bo.addcustommetric("O",price);
> }
> }
>
bo.postprocess();
> }
>
> SetTradeDelays( 1, 1, 1, 1
);
> PositionSize = MarginDeposit;
>
> BuyPrice=
Open;
> SellPrice= Open;
>
> Buy= Cross(Signal(),
MACD());
> Sell= Cross(MACD(), Signal());
>