Thanks, Mike. The "Allow position size shrinking" trick basically 
does what I need. Although, I don't understand the 2nd part about the 
custom backtester code. Is there any documentation about the advanced 
backtest code?

There is one issue I cannot solve. I would like to have in the Buy 
condition the following.

MA(C,5)*MA(V,5)*50>Foreign("~~~EQUITY", "C")

i.e. if the equity grows, the non liquid stocks will be ignored.

How is it possible code this? The above example does not work.


--- In [email protected], "Mike" <[EMAIL PROTECTED]> wrote:
>
> Hi,
> 
> If I understand your scenario correctly. You don't have to worry 
> about it, because AmiBroker will not allow you to place an order 
for 
> a value greater than you actually have available in your account. 
> Just select the "Allow position size shrinking" checkbox from the 
AA 
> settings window, then set your position size based on your volume 
> calculations. AmiBroker will scale down as necessary when your 
> calculations exceed your equity.
> 
> Otherwise, as explained by Graham, if you are backtesting over more 
> than a single symbol, then you can access the equity from within 
> custom backtester code.
> 
> e.g.
> 
> SetBacktestMode(backtestRegularRaw);
> SetCustomBacktestProc("");
> 
> if (Status("action") == actionPortfolio) {
>   bo = GetBacktesterObject();
>   bo.PreProcess();
> 
>   for (bar = 0; bar < BarCount; bar++) {
>     for (sig = bo.GetFirstSignal(bar); sig; sig = bo.GetNextSignal
> (bar)) {
>       ... // Make any adjustment to sig.PosSize that you want using 
> bo.Equity in your calculations.
>       ... // If you need access to the symbol for Volume, etc. use 
> Foreign(sig.Symbol, "V").
>     }
> 
>     bo.ProcessTradeSignals(bar);
>   }
> 
>   bo.PostProcess();
> } 
> 
> Mike
> 
> --- In [email protected], "zozuzoza" <zozuka@> wrote:
> >
> > I tried this but doesn't work.
> > PositionSize = Min(Foreign("~~~EQUITY", "C"),MA(C,5)*MA(V,5)/50);
> > It is a portfolio backtest.
> > The question remains. How is it possible for the positionsize to 
> > follow the equity AND also limit the positionsize by the volume?
> > 
> > --- In [email protected], Graham <kavemanperth@> wrote:
> > >
> > > For a portfolio backtest the only place is in the 
positionsizing 
> as
> > > that is only used during the portfolio backtest pass
> > > If it is a single symbol backtest then you can use Equity().
> > > If you need to determine trade entries or exits based on 
portfolio
> > > equity value then you need to use the advanced backtest code to 
> > change
> > > the trade values.
> > > 
> > > -- 
> > > Cheers
> > > Graham Kav
> > > AFL Writing Service
> > > http://www.aflwriting.com
> > > 
> > > 
> > > 
> > > 2008/5/30 zozuzoza <zozuka@>:
> > > > Is there any way to reference the portfolio equity
> > > > Foreign("~~~EQUITY", "C") in the buy formula itself?
> > > >
> > > > I guess that the portfolio equity is available after running 
the
> > > > backtest so it cannot be referenced in the buy formula itself.
> > > >
> > > > I've checked the AddToComposite stuff but it is not clear how 
> it 
> > can
> > > > be done.
> > > >
> > > > Is there a simple solution for this? Thank you.
> > > >
> > > >
> > > > ------------------------------------
> > > >
> > > > 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 NEW RELEASE ANNOUNCEMENTS and other news always check 
> DEVLOG:
> > > > http://www.amibroker.com/devlog/
> > > >
> > > > For other support material please check also:
> > > > http://www.amibroker.com/support.html
> > > > Yahoo! Groups Links
> > > >
> > > >
> > > >
> > > >
> > >
> >
>


Reply via email to