PureBytes Links
Trading Reference Links
|
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 amibroker@xxxxxxxxxxxxxxx, "gp_sydney" <gp.investment@xxx>
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 amibroker@xxxxxxxxxxxxxxx, "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
> >
>
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
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/amibroker/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/amibroker/join
(Yahoo! ID required)
<*> To change settings via email:
mailto:amibroker-digest@xxxxxxxxxxxxxxx
mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx
<*> To unsubscribe from this group, send an email to:
amibroker-unsubscribe@xxxxxxxxxxxxxxx
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|