Thanks Mike

Just what I was after.

I look forward to the day when I can be a contributor to this forum, 
and not just a user.  Peer group forums are absolutely invaluable in 
IT!

Thanks again

Graham

--- In [email protected], "Mike" <[EMAIL PROTECTED]> wrote:
>
> Hi,
> 
> Sorry, I missed the charting side of the question. Building on the 
> replies so far, perhaps the following is what you're after.
> 
> This will include a custom metric in your backtesting report (Max 
> Count) giving the highest number of open positions at any single 
bar. 
> It will also produce a composite ticker (named ~MaxCount) which you 
> can chart to see the number of open positions on a bar by bar basis.
> 
> The Buy/Sell/Short/Cover is just for proof of concept.
> 
> SetOption("MaxOpenPositions", 6);
> SetBacktestMode(backtestRegularRaw);
> SetCustomBacktestProc("");
> 
> counts = Cum(0);
> largestCount = 0;
> 
> if (Status("action") == actionPortfolio) {
>       bo = GetBacktesterObject();
>       bo.PreProcess();
> 
>       for (bar = 0; bar < BarCount; bar++) {
>               bo.ProcessTradeSignals(bar);
>               count = 0;
> 
>               for (pos = bo.getFirstOpenPos(); pos; pos = 
> bo.getNextOpenPos()) {
>                       count++;
>                       _TRACE("Count: " + count);
>               }
> 
>               counts[bar] = count;
> 
>               if (count > largestCount) {
>                       largestCount = count;
>               }
>       }
> 
>       bo.PostProcess();
>       bo.addCustomMetric("Max Count", largestCount);
> 
>       AddToComposite(counts, "~MaxCount", "X", atcFlagDefaults | 
> atcFlagEnableInBacktest | atcFlagEnableInPortfolio);
> }
> 
> Buy = Cross(MA(Close, 30), MA(Close, 100));
> Sell = Cross(MA(Close, 100), MA(Close, 30));
> 
> Short = Sell;
> Cover = Buy;
> 
> 
> Mike
> 
> --- In [email protected], "Graham Johnson" <grahamj@> 
> wrote:
> >
> > Thanks
> > 
> > I've implemented example #3 and at first glance everything looked 
> > great - this is the first time I have used AddToComposite so it 
is 
> > good education.
> > 
> > Perusal of the charts revealed that the # of open trades was in 
> some 
> > instances far greater than the maximum of 6 set in the AFL.
> > 
> > Examination of the Detailed Log, as suggested by Mike, revealed 
> that 
> > there were never more than 6 trades open at one time.
> > 
> > Obviously (I think), the ATC is implemented before 
> > 'SetOption("MaxOpenPositions", 6);' 
> > comes into play.
> > 
> > Is there a way to achieve correct numbers in the chart?
> > 
> > Particularly during development phase, it would be really helpful 
> to 
> > have a custom metric for Max Open Positions in the backtest 
report, 
> > without having to scan 10 years of entries in the Detailed Log.
> > 
> > Graham
> > 
> > --- In [email protected], "droskill" <droskill@> wrote:
> > >
> > > I think I know what you're getting at - take a look at example 
#3 
> on
> > > this page:
> > > 
> > > http://www.amibroker.com/guide/a_addtocomposite.html
> > > 
> > > "In the third example I will show you how to use the same 
> technique 
> > to
> > > count the number of open positions of your trading system. This 
is
> > > useful if you want to know how big account would you need to 
trade
> > > your system following all the trades. Our formula will be very 
> > similar
> > > to the one before."
> > > 
> > > That might help you out - but in general, I, like you, would 
love 
> to
> > > see these added to the application's base reports.
> > > 
> > > /d/
> > > 
> > > 
> > > --- In [email protected], "Mike" <sfclimbers@> wrote:
> > > >
> > > > Hi,
> > > > 
> > > > Before running your backtest, click on the Settings button, 
> look 
> > under 
> > > > the Report tab and selected Detailed log.
> > > > 
> > > > Then, when you run your backtest, you will see all positions 
> held 
> > on a 
> > > > day by day basis. This is also useful when trying to 
understand 
> > how 
> > > > your PositionScore logic works, as it will indicate which 
> tickers 
> > are 
> > > > under consideration and list which were entered/exited at 
each 
> > bar.
> > > > 
> > > > You can find more information about the backtest settings in 
> the 
> > > > online help via:
> > > > 
> > > > Help menu
> > > > -Contents tab
> > > > --Reference Guide
> > > > ---Analysis Tools
> > > > ----System test settings window
> > > > 
> > > > Or from the web here:
> > > > http://www.amibroker.com/guide/w_settings.html
> > > > 
> > > > Mike
> > > > 
> > > > --- In [email protected], "Graham Johnson" <grahamj@> 
> > wrote:
> > > > >
> > > > > There are 2 things that I would like to achieve
> > > > > 
> > > > > 1. Backtest Report - maximum no. of open positions for the 
> > backtest.
> > > > > 
> > > > > 2. Equity Chart - number of open positions for each bar.
> > > > > 
> > > > > I've searched the docs and this forum but didn't locate 
> > anything.
> > > > > 
> > > > > Thanks
> > > > > 
> > > > > Graham
> > > > >
> > > >
> > >
> >
>


Reply via email to