Nope.

See my earlier post 
http://finance.groups.yahoo.com/group/amibroker/message/143523

Your solution will plot zero for the first 2 bars when it should be NULL.

If the original poster wanted to keep your structure (i.e. IIF and no 
pre-assignament of OneHigh, TwoHigh, ThreeHigh), then just change the 
initialization of ResLine to ResLine = NULL.

Mike

--- In [email protected], "Anthony Faragasso" <ajf1...@...> wrote:
>
> Hello,
> 
> This does what you are expecting...
> 
> resline = 0;
> 
> 
> for( i = 2; i < BarCount; i++ )
> 
> {
> 
> prev = resline[ i - 1];
> 
> resline[ i ] = IIf( H[i-2] < H[i-1] AND H[i-1] > H[i], H[i-1], prev );
> 
> }
> 
> Plot(ResLine,"ResLine",colorRed, styleLine|styleThick); 
> 
> 
> 
> Anthony
> 
>   ----- Original Message ----- 
>   From: christianvost 
>   To: [email protected] 
>   Sent: Sunday, November 01, 2009 4:04 PM
>   Subject: [amibroker] Re: Help!! simple looping problem???
> 
> 
>     Hi Thomas,
>   Thanks for the suggestion. I tried this, but the results didn't match the 
> previous code sample. I just got spiking lines where the indicator reset 
> itself to zero, after each iteration? I'm assuming that this code correction 
> goes in at line 7? could you please make the correction to the looping sample 
> and re-post? I'd really appreciate it.
>   Many thanks, Chris.
> 
>   --- In [email protected], "Thomas Z." <tzg@> wrote:
>   >
>   > Hi,
>   > 
>   > you need to change it to: ResLine[i] = H[i-1];
>   > 
>   > Thomas
>   > www.patternexplorer.com
>   > 
>   > 
>   > -----Ursprüngliche Nachricht-----
>   > Von: [email protected] [mailto:[email protected]] Im 
> Auftrag
>   > von christianvost
>   > Gesendet: Sonntag, 1. November 2009 10:37
>   > An: [email protected]
>   > Betreff: [amibroker] Help!! simple looping problem???
>   > 
>   > Hi, This is probably an easy one, but I'm struggling with looping through
>   > arrays in afl. Have a look at the simple code below. 
>   > ( copy+paste into editor then drag into price pane ).
>   > 
>   > //Resline.afl
>   > //
>   > OneHigh = H;
>   > TwoHigh = Ref(H,-1);
>   > ThreeHigh = Ref(H,-2);
>   > ResLine = ValueWhen( ThreeHigh < TwoHigh AND TwoHigh > OneHigh,TwoHigh,1);
>   > Plot(ResLine,"ResLine", ParamColor( "Color", colorCycle ),
>   > ParamStyle("Style") );
>   > 
>   > I tried to write a 'for,if' loop to replace the previous code, but it's 
> not
>   > working. Can anyone correct the following code sample for me please???
>   > Thank-you to all.
>   > 
>   > ResLine[0] = 0;
>   > 
>   > for(i=2; i<BarCount; i++)
>   > {
>   > if(H[i-2] < H[i-1] AND H[i-1] > H[i]) 
>   > {
>   > ResLine = H[i-1];
>   > } 
>   > //Plot(ResLine,"ResLine",colorRed, styleLine|styleThick); //inside loop
>   > plots multiple lines
>   > }
>   > Plot(ResLine,"ResLine",colorRed, styleLine|styleThick); //outside loop 
> plots
>   > single line (most recent value when condition is met)
>   > 
>   > 
>   > 
>   > 
>   > 
>   > ------------------------------------
>   > 
>   > **** IMPORTANT PLEASE READ ****
>   > This group is for the discussion between users only.
>   > This is *NOT* technical support channel.
>   > 
>   > TO GET TECHNICAL SUPPORT send an e-mail directly to 
>   > SUPPORT {at} amibroker.com
>   > 
>   > TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
>   > http://www.amibroker.com/feedback/
>   > (submissions sent via other channels won't be considered)
>   > 
>   > For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
>   > http://www.amibroker.com/devlog/
>   > 
>   > Yahoo! Groups Links
>   >
>


Reply via email to