Mike,
This corrected version produces the exact structure...thanks for the Null tip...
resline = Null;
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: Mike
To: [email protected]
Sent: Monday, November 02, 2009 12:40 AM
Subject: [amibroker] Re: Help!! simple looping problem???
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
> >
>