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