Ed, 

Unfortunately, I cannot re-create your results here.  I used a very 
simple backtest, and copied your code verbatim, but the outer loop 
still executes only for the first signal.

Thanks, though, for the suggestion,

David


--- In [email protected], "Edward Pottasch" <[EMAIL PROTECTED]> 
wrote:
>
> hi,
> 
> it seems to be possible. I ran this code on top of some backtest. 
The results in the AA window show that both loops are used.  If you 
want to change a trade then you will have to change this setup. Here 
I first run the backtest and then go through the signal object.
> 
> Ed
> 
> 
> 
> 
> SetOption("UseCustomBacktestProc", True ); 
> 
> if( Status("action") == actionPortfolio ) { 
> 
>    bo = GetBacktesterObject(); 
>    //bo.PreProcess(); // Initialize backtester 
>    bo.backtest(); 
>     
>    for(bar=0; bar<BarCount; bar++) { 
>     
>             
>            for ( sig = bo.GetFirstSignal(bar); sig; 
sig=bo.GetNextSignal(bar)) { 
>                        
> 
>               for ( sig2 = bo.GetFirstSignal(bar); sig2; 
sig2=bo.GetNextSignal(bar)) { 
> 
>                  bo.RawTextOutput( "\t" + "Sig: " + sig.Symbol 
+ "   Sig2: " + sig2.Symbol  ); 
> 
> 
>               } 
>             
>            } 
>        
>    } 
>    //bo.PostProcess(); // Finalize backtester 
> 
> } 
> 
> 
> 
> 
>   ----- Original Message ----- 
>   From: david.weilmuenster 
>   To: [email protected] 
>   Sent: Monday, July 02, 2007 5:18 PM
>   Subject: [amibroker] Nested Loops - Custom Backtester
> 
> 
>   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
>


Reply via email to