Hi Tony,

Thanks for the tips.  Basically, I'd need a loop and use it on each and
every bar of the array to determine the LR, right?

That will slow down my computer a lot, don't you think?

Thanks,

Louis

2008/9/16 Tony Grimes <[EMAIL PROTECTED]>

>   SelectedValue takes an array ( of numbers) and returns a single number
> based on the bar that is selected in the chart.
>
> The first formula worked because SelectedValue was giving you a number.
>
> Look at it this way: Array --> SelectedValue ---> Number.
>
> Remove SelectedValue: Array---->Array.
>
> You can draw a line with single numbers, but not arrays.
>
> You can always use a loop.
>
> You might want to read: Understanding how AFL works, in the Amibroker users
> guide. Until you really understand AFL & array processing, you are going to
> keep running into these problems, which will just slow you down.
>
>
> On Tue, Sep 16, 2008 at 10:34 PM, Louis P. <[EMAIL PROTECTED]> wrote:
>
>>   Hi Tony,
>>
>> Why was the first formula working (the one with selectedvalue) and not the
>> second one?  Why simply deleting the "selectedvalue" makes it an array that
>> will not be accept in "linearray"?
>>
>> Is there any way to draw a line without using lastvalue or selectedvalue?
>> Do I need to use a loop?
>>
>> Thanks,
>>
>> Louis
>>
>> 2008/9/16 Tony Grimes <[EMAIL PROTECTED]>
>>
>>>    Louis,
>>>
>>> All of the variables you are creating for the LineArray function are
>>> arrays themselves. Although LineArray generates an array, it does not accept
>>> any arrays as inputs. Additionally, your error message was probably
>>> different. It probably went from complaining about argument #4 having the
>>> incorrect type (which you corrected) to argument #3 having the incorrect
>>> type.
>>>
>>> On Tue, Sep 16, 2008 at 9:10 PM, Louis P. <[EMAIL PROTECTED]> wrote:
>>>
>>>>   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