I can't test this out at the moment. But, try either of Foreign or 
SetForeign. Generally, when making multiple references to a foreign 
symbol, you would use SetForeign for better efficiency compared to 
multiple calls to Foreign.

SetForeign(sig.Symbol);
sig.PosSize = CurrentEquity * Ref(C, -1) / Ref(ATR(10), -1);
RestorePriceArrays();

Mike

--- In [email protected], "ezbentley" <ezbent...@...> wrote:
>
> This should be a very simple question but I am new to the custom 
backtester.
> 
> I would like to use the price, current portfolio equity, and other 
indicator values to 
> calculate the position size with the following code. 
> 
> if (Status("action") == actionPortfolio) {
>       bo = GetBacktesterObject();
>       bo.PreProcess();
>       for (bar = 0; bar < BarCount; bar++) {
>               CurrentEquity = bo.Equity;
>               for (sig = bo.GetFirstSignal(bar); sig; sig = 
bo.GetNextSignal(bar)) {
>                       sig.PosSize = /* What should I put here? */
>               }
>               bo.ProcessTradeSignals(bar);
>       }
>       bo.ListTrades();
> }
> 
> For example, if I want to set position size to CurrentEquity * Ref
(C, -1) / Ref(ATR(10), -1), 
> apparently that syntax will give me an error because I cannot 
access C and ATR(10) in the 
> usual manner. 
> 
> Can anyone help me with implementing CurrentEquity * Ref(C, -1) / 
Ref(ATR(10), -1) 
> inside the custom backtester?
> 
> Thanks in advance,
>


Reply via email to