It work If you Change to
return Hlow;
}
Start = SelectedValue(BarIndex());
Price=ValueWhen(BarIndex()==start,L,1);
Test=HigherLow(Start,Price);
Plot(IIf(start,Test,Null),"StopLoss",colorRed,4);

But it cannot work If you write as
return HlowArr;
}
Start = SelectedValue(BarIndex());
Price=ValueWhen(BarIndex()==start,L,1);
Test=HigherLow(Start,Price);Plot(IIfPlot(IIf
(start,Test,Null),"StopLoss",colorRed,4);

I doubt that Do Loop can not initial from the middle of the data 
range



--- In [email protected], "gp_sydney" <[EMAIL PROTECTED]> 
wrote:
>
> No, it won't. That statement doesn't turn an array back into a 
single
> number.
> 
> I think what you want is to take a single price value from the
> ValueWhen array and pass that to the function. In fact, it looks 
to me
> like all you need is:
> 
> Price = Low[start];
> 
> GP
> 
> 
> --- In [email protected], "wongloktim" <wlt@> wrote:
> >
> > Even I define Hlow=0, Do Loop also can'nt work
> > 
> > 
> > --- In [email protected], "gp_sydney" <gp.investment@> 
> > wrote:
> > >
> > > The problem is that the Price parameter passed to the function 
is 
> > an
> > > array, since ValueWhen returns an array, and that makes HLow 
an 
> > array
> > > and you can't test arrays in an "if" statement.
> > > 
> > > GP
> > > 
> > > 
> > > --- In [email protected], "wongloktim" <wlt@> wrote:
> > > >
> > > > Please Help
> > > > 
> > > > I found this cause Do Loop problem:{for(i=bars+1; 
> > i<BarCount;i++)}
> > > > 
> > > 
> > 
> ///////////////////////////////////////////////////////////////////
> > /
> > > > SetChartOptions(0,chartShowArrows|chartShowDates);
> > > > _N(Title = FullName()+StrFormat("  {{NAME}} - {{INTERVAL}} 
> > {{DATE}} 
> > > > Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, 
L, 
> > C, 
> > > > SelectedValue( ROC( C, 1 ) ) ));
> > > > Plot( C,"Price",colorBlack,64 );
> > > > 
> > > > function HigherLow(Bars,Price)
> > > > {
> > > > HLow=Price;
> > > > HLowArr=Null;
> > > > if(Bars>0)
> > > >         {  
> > > >                 for(i=bars+1; i<BarCount;i++)
> > > >                 {
> > > >                 if(Low[i] >= HLow)
> > > >                         {
> > > >                         HLow=Low[i];
> > > >                         HLowArr[i]=HLow;
> > > >                         }
> > > >                 else
> > > >                         HlowArr[i]=HLow;                
> > > >                 }
> > > >         }
> > > > return HlowArr;
> > > > }
> > > > Start = SelectedValue(BarIndex());
> > > > Price=ValueWhen(BarIndex()==start,L,1);
> > > > Test=HigherLow(Start,Price);
> > > > Plot(IIf(start,Test,Null),"StopLoss",colorRed,4);
> > > > 
> > > > ///////////////////////////////////////////////////////////
> > > >
> > >
> >
>


Reply via email to