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