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 > > > > > > > > > > > > > > >
