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
<gp.investment@xxxxxxxxx>
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
amibroker@xxxxxxxxxxxxxxx, "Louis P." <rockprog80@xxx> 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 <ara1@xxx>
>
> > y11 and y01 use "barhh" which is not defined.
> >
> > You have defined "barhh1"
> >
> >
> >
> > ----- Original Message -----
> > *From:* Louis P. <rockprog80@xxx>
> > *To:*
amibroker@xxxxxxxxxxxxxxx
> > *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.
> >
> >
> >
>
__._,_.___
Please note that this group is for discussion between users only.
To get support from AmiBroker please send an e-mail directly to
SUPPORT {at} amibroker.com
For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/
For other support material please check also:
http://www.amibroker.com/support.html
__,_._,___