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