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." <t...@...> 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