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

Re: [amibroker] Adding Column to Backtester



PureBytes Links

Trading Reference Links

Dingo - to access Foreign I would need to create the composite index
with AddToComposite and I have to add the result of the O, H, L, C, V,
I - as far as I know none of them will accept string  like
"NG20040302"..

small test - I certainly could write it when I get to this part later
on today but that would be against the info provided in help files but
if you say otherwise I will try it..

>
> On 6/18/06, dingo <dingo@xxxxxxxxxxxx> wrote:
> > 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
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
> >
> >
> >
> > 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
> >
> >
> >
> >
> >
> >
> >
>