Thanks to all who have responded. GP, I believe that you've hit on the required approach.
Will take your code as a starting point. Regards, David --- In [email protected], "gp_sydney" <[EMAIL PROTECTED]> wrote: > > I'd say it's not possible, but I haven't tried it. > > The reason I say that is because the backtester object has to maintain > the state of where you're up to in the signal list, otherwise > GetNextSignal wouldn't know which one to get. Since your inner loop > runs right to the end of the signal list, when the outer loop next > calls GetNextSignal, the backtester object's state would already be at > the end of the list and should return null (ie. end of list). > > The only way I can think of to make it work would be to keep a counter > for where the outer loop is up to and use that to return to the > correct next signal after each pass of the outer loop rather than use > a simple for loop, something like this: > > sig = bo.GetFirstSignal(bar); > sigCnt = 1; > do > { > for (sig_2 = bo.GetFirstSignal(bar); sig_2; sig_2 = > bo.GetNextSignal(bar)) > { > ... logic to compare signal > } > cnt = sigCnt++; > sig = bo.GetFirstSignal(bar); > while (sig && cnt--) > sig = bo.GetNextSignal(bar); > } while (sig); > > Note that I haven't tried this code though, so it may have mistakes in > it or not work. > > GP > > > --- In [email protected], "david.weilmuenster" > <dweilmuenster95125@> wrote: > > > > Hi, > > > > In the Custom Backtester, I need to run a nested loop to examine all > > signals in comparison to a given signal, and have tried the following > > code to implement a nested loop: > > > > for ( sig = bo.getfirstsignal(bar); sig; sig = bo.getnextsignal (bar)) > > > > { > > > > for ( sig_2 = bo.getfirstsignal(bar); sig_2; sig_2 = > > bo.getnextsignal(bar)) > > > > { > > > > ... logic to compare signals > > > > } > > > > } > > > > ------------------------------------------- > > > > But, the code executes only for the first signal in the outer loop. > > I.e., it runs the inner loop perfectly, but only for the first signal > > in the outer loop. > > > > Any clues as to what I'm doing wrong? Maybe this isn't possible? > > Other approaches I should try? > > > > Thanks, > > David Weilmuenster > > >
