Hi,

Thank you for your help.

@Ara:

If in

barhh1 = HHVBars( High, Periods ) ;
bi1 = BarIndex();
y11 =  LinearReg( C, barhh1 ) ;
y01 =  LinRegIntercept( C, barhh1 ) ;
sl1 = LineArray( bi1-barhh1+0, y01, bi1, y11, 0, True );

I replace

sl1 = LineArray( bi1-barhh1+0, y01, bi1, y11, 0, True );

by

sl1 = LineArray( bi1-barhh1+0, y01, bi1, LastValue(y11), 0, True );

I still have the same error message.  I don't know from where it is coming..
unfortunately!


@gp_sydney:

That was a typo, you are right; I arranged that by adding a 1.  But still,
the problem remains: the last line does not work.

One day, I asked support if I needed a loop to do such LR and they said I
should not need one.

Here is the original code:

barhh = SelectedValue( HHVBars( High, Periods ) );
bi = SelectedValue( BarIndex() );
y1 = SelectedValue( LinearReg( C, barhh ) );
y0 = SelectedValue( LinRegIntercept( C, barhh ) );
sl = LineArray( bi-barhh+0, y0, bi, y1, 0, True );

What I want to do is simply eliminate the "selectedvalue" part and use the
code not only for the selected data but for the whole data.  I want to be
able to draw a line from each HHV to each bar and then work with the result.

If it can't be done without a loop, I feel like I'll be lost in time again;
last time I tried to run a loop on my computer it freezed and after 2
minutes I decided to shut down AB...


Thanks for the help,

Louis







2008/9/16 gp_sydney <[EMAIL PROTECTED]>

>   As Ara said, in the shown code snippet you don't have "barhh" defined,
> only "barhh1".
>
> Beyond that, you have the same issue I mentioned originally, that the
> linear regression functions and LineArray function take scalar values
> (ie. single numbers) as parameters, not arrays.
>
> I gather you're trying to create a line from the most-recent HHV value
> using the subsequent close data for every bar on the chart. As I don't
> think the linear regression functions can take arrays for the period,
> I think you'd need to use a loop and do the linear regression yourself
> at each bar (you could call the array functions within the loop, but
> since they fill a whole array each time, they would do a lot of
> unnecessary work). If you do that yourself inside the loop, then at
> each bar you'd have scalar 'x' and 'y' values to calculate the line
> slope and so on.
>
> For what it's worth, the BarIndex function simply gives you the bar
> number. It provides a way of using the current bar number in array
> formula.
>
> Regards,
> GP
>
>
> --- In [email protected] <amibroker%40yahoogroups.com>, "Louis P."
> <[EMAIL PROTECTED]> wrote:
> >
> > Hi,
> >
> > Sorry, You can replace "periods" by 50 if you wish. I just forgot to
> > include that.
> >
> > barhh1 = HHVBars( High, *50* ) ;
> > bi1 = BarIndex() ;
> > y11 = LinearReg( C, barhh ) ;
> > y01 = LinRegIntercept( C, barhh ) ;
> > sl1 = LineArray( bi1-barhh1+0, y01, bi1, y11, 0, True );
> >
> > Still, it is not working, even if barhh1 is defined...
> >
> > Louis
> >
> > 2008/9/16 Ara Kaloustian <[EMAIL PROTECTED]>
> >
> > > y11 and y01 use "barhh" which is not defined.
> > >
> > > You have defined "barhh1"
> > >
> > >
> > >
> > > ----- Original Message -----
> > > *From:* Louis P. <[EMAIL PROTECTED]>
> > > *To:* [email protected] <amibroker%40yahoogroups.com>
> > > *Sent:* Tuesday, September 16, 2008 2:46 PM
> > > *Subject:* [amibroker] What is wrong?
> > >
> > > Hi,
> > >
> > > What is wrong in the following formula?
> > >
> > > barhh1 = HHVBars( High, Periods ) ;
> > > bi1 = BarIndex() ;
> > > y11 = LinearReg( C, barhh ) ;
> > > y01 = LinRegIntercept( C, barhh ) ;
> > > sl1 = LineArray( bi1-barhh1+0, y01, bi1, y11, 0, True );
> > >
> > >
> > > Thanks,
> > >
> > > Louis
> > >
> > > p.s. There was "Selectedvalue" in the first four lines but I don't
> want to
> > > plot it on the chart based on where I am on that chart, but simply
> set the
> > > variable so I can use the stuff later.
> > >
> > >
> > >
> >
>
>  
>

Reply via email to