Hello, Technically it is not read-only (i.e. writing is allowed) but note that equity will be overwritten every bar with calculated value equal to (CASH + MARKET VALUE OF OPEN POSITIONS).
Best regards, Tomasz Janeczko amibroker.com ----- Original Message ----- From: "markhoff" <[EMAIL PROTECTED]> To: <[email protected]> Sent: Thursday, May 01, 2008 5:52 PM Subject: [amibroker] Re: CBI: bo.InitialEquity to set value not working? > > Hi Tomasz, > > I also tried to set the equity by using bo.Equity, but also this did > not work (I tried both before and after bo.PreProcess). The manual > says that Equity property is read-only. > > Best regards, > Markus > > --- In [email protected], "Tomasz Janeczko" <[EMAIL PROTECTED]> wrote: >> >> Hello, >> >> Initial Equity is used to INITIALIZE equity at the start of the > backtest, >> nothing more. So even if you write to it, it has no effect because >> Equity is already initialized when you call GetBacktesterObject. >> >> If you want to affect the equity (including equity at the start of > backtest) >> use Equity property instead. >> >> Best regards, >> Tomasz Janeczko >> amibroker.com >> ----- Original Message ----- >> From: "markhoff" <[EMAIL PROTECTED]> >> To: <[email protected]> >> Sent: Thursday, May 01, 2008 2:36 PM >> Subject: [amibroker] CBI: bo.InitialEquity to set value not working? >> >> >> > Hi, >> > >> > I wonder if the CBI property bo.InitialEquity cannot be used to set >> > the initial equity. At least for me it does not work and I must use >> > the SetOption("InitialEquity", ...) command, although the >> > documentation does not say that the bo.InitialEquity is read-only. >> > >> > Please see the code below: >> > >> > --- cut --- >> > >> > defaultPosSize = 1000; >> > >> > InitialEquity = 123456; >> > >> > Buy = Sell = Short = Cover = 0; >> > >> > SetOption("UseCustomBacktestProc", True); >> > >> > //SetOption("InitialEquity", InitialEquity); >> > >> > SetCustomBacktestProc(""); >> > >> > // the trading rules >> > TwentyBarHHV = Ref(HHV(High, 20), -1); >> > Buy = High > TwentyBarHHV; >> > Sell = Ref(Buy, -10); >> > // cleanup excessive signals >> > Buy = ExRem( Buy, Sell ); >> > Sell = ExRem( Sell, Buy ); >> > >> > if( Status("action") == actionPortfolio ) >> > { >> > bo = GetBacktesterObject(); >> > >> > _TRACE("# bo.InitialEquity (default) = " + bo.InitialEquity); >> > _TRACE("# bo.Equity (default) = " + bo.Equity); >> > >> > bo.InitialEquity = InitialEquity; >> > >> > _TRACE("# bo.InitialEquity (updated) = " + bo.InitialEquity); >> > _TRACE("# bo.Equity (updated) = " + bo.Equity); >> > >> > bo.PreProcess(); >> > >> > _TRACE("# bo.InitialEquity (after bo.PreProcess) = " + > bo.InitialEquity); >> > _TRACE("# bo.Equity (after bo.PreProcess) = " + bo.Equity); >> > >> > for( bar = 0; bar < BarCount; bar++ ) >> > { >> > for( sig = bo.GetFirstSignal( bar ); sig; sig = bo.GetNextSignal( >> > bar ) ) >> > { >> > // cash and equity are only correct if SetOption() is used to set >> > InitialEquity >> > _TRACE("# " + sig.Symbol + " : Cash = " + bo.Cash); >> > _TRACE("# " + sig.Symbol + " : Equity = " + bo.Equity); >> > >> > if(sig.IsEntry()) >> > { >> > sig.PosSize = defaultPosSize ; >> > } >> > } >> > bo.ProcessTradeSignals( bar ); >> > } >> > bo.PostProcess(); >> > } >> > >> > --- cut --- >> > >> > Do you have any idea why bo.InitialEquity cannot be used to write > a value? >> > >> > Thanks in advance and best regards, >> > Markus >> > >> > >> > >> > ------------------------------------ >> > >> > 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 >> > >> > >> > >> > > > > ------------------------------------ > > 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 > > >
