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

RE: [amibroker] Adding Column to Backtester



PureBytes Links

Trading Reference Links

Have you written a small test program and tried it? 

d 

> -----Original Message-----
> From: amibroker@xxxxxxxxxxxxxxx 
> [mailto:amibroker@xxxxxxxxxxxxxxx] On Behalf Of PKJR
> Sent: Sunday, June 18, 2006 11:11 AM
> To: amibroker@xxxxxxxxxxxxxxx
> Subject: Re: [amibroker] Adding Column to Backtester
> 
> tks Graham - I am trying to pass the string so I guess the 
> Foreign might not work, right?
> 
> On 6/18/06, Graham <kavemanperth@xxxxxxxxx> wrote:
> > You have 2 ways to add normal values to the advanced code 
> as far as I 
> > ahve worked out Use staticvarset and staticvarsettext in 
> your normal 
> > code and then the gets in the advanced code The other is to create 
> > composites of the values you want to transfer to the 
> advanced code in 
> > your normal formula. You can then use the foreign to pull this data 
> > into the advanced code. This may also require the use of a function 
> > that tomasz provided for finding equity at a certain date. 
> Here is a 
> > part of the code, this is a astarting point only, youi will need to 
> > deternine how to actually use it
> >
> >
> > from response by Tomasz............................
> > /*Hello,
> >
> > I have been asked how to access portfolio Equity to calculate some 
> > trade statistics in new portfolio backtester interface, so I have 
> > modified the code from example 3, to show you how. the calculations 
> > remain the same, all I did it to add 2 extra columns with per-trade 
> > metrics: "equity at entry" AND "Risk as % of equity at entry".
> >
> > The code follows. Newly added lines are marked with // ADDED LINE 
> > comment.
> > Refer to http://www.amibroker.com/newsletter/01-2005.html 
> for more details.
> >
> > /* First we need to enable custom backtest procedure and
> > ** tell AmiBroker to use current formula */
> >
> > SetCustomBacktestProc("");
> >
> > function FindEquityAtDateTime( eq, dt, Value ) {
> >   found = -1;
> >   for( i = 0; i < BarCount AND found == -1; i++ )
> >   {
> >      if( dt[ i ] == Value ) found = i;
> >   }
> >
> >   return IIf( found != -1, eq[ found  - 1 ], Null ); }
> >
> > /* Now custom-backtest procedure follows */ if( Status("action") == 
> > actionPortfolio ) {
> >    bo = GetBacktesterObject();
> >
> >    bo.Backtest(1); // run default backtest procedure
> >
> >   // ADDED LINE
> >    dt = DateTime();
> >
> >   // ADDED LINE
> >   // at this stage (after Backtest() call) portfolio equity 
> symbol is updated
> >   // so we can use it to obtain current values
> >   eq = Foreign("~~~EQUITY", "C" );
> >
> >   // iterate through closed trades first
> >   for( trade = bo.GetFirstTrade(); trade; trade = 
> bo.GetNextTrade() )
> >   {
> >       // ADDED LINE
> >      EquityAtEntry = FindEquityAtDateTime( eq, dt, 
> trade.EntryDateTime 
> > ); } }
> >
> >
> >
> > --
> > 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
> >
> >
> > On 18/06/06, PKJR <TradingIQ@xxxxxxxxx> wrote:
> > > Hi All - small dilemma here.. I would like to add a column to the 
> > > backtester results..I know I can us a custom metric that 
> is derived 
> > > from backtester results and add a column this way but how about 
> > > adding a column that contains data not derived from backtester 
> > > object but rather from an array in your main AFL code?
> > >
> > > is there a way to pass an outside array to custom 
> backtester object?
> > > BTW my custom backtesting procedure is in a separate AFL file
> > >
> > > Paul
> > >
> > >
> > >
> > > 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
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
> >
> >
> > 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
> >
> >
> >
> >
> >
> >
> >
> >
> 
> 
> ------------------------ Yahoo! Groups Sponsor 
> --------------------~--> Something is new at Yahoo! Groups.  
> Check out the enhanced email design.
> http://us.click.yahoo.com/rlNZQC/gOaOAA/cosFAA/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
> 
> 
> 
>  
> 
> 
>