What do you mean be gradient of the slope?

On Fri, Sep 19, 2008 at 9:36 PM, Louis P. <[EMAIL PROTECTED]> wrote:

>   Hi,
>
> I need the gradient of the slope, and for each bar.  This is where it is
> difficult...
>
> Thanks,
>
> Louis
>
> 2008/9/19 Tony Grimes <[EMAIL PROTECTED]>
>
>>   Louis,
>>
>> If your looking for the slope & difference between HHV of 20 bars & the
>> current close, all you should need is this:
>>
>> Pds=20;
>>
>> LastHighBar = HHVBars(High, Pds);
>> LastHighVal = HHV(High, Pds);
>>
>> Slope = IIf(LastHighBar,(Close - LastHighVal) / LastHighBar,0);
>> CloseDiff = Close - Ref(Close, -LastHighBar);
>>
>>
>> On Fri, Sep 19, 2008 at 4:51 PM, Louis P. <[EMAIL PROTECTED]> wrote:
>>
>>>   Hi Tony,
>>>
>>> Thank you a lot for your response.  I'm still very weak with loops.  Last
>>> time experimented with one, I had to reboot my computer! :)  So do you know
>>> how such a loop could work?  And if I run, let's say 2 minutes bar for one
>>> year, wouldn't that be really really long to deal with?  I have PIV with 1.5
>>> GHz ram.
>>>
>>> I am looking for a line that ends at each bar and that starts from the
>>> HHV of 20 bars, and I want to do things with this bar: e.g. compare the
>>> closes between current bar and the HHV to the bar and establish the gradient
>>> of that linear regression bar for each bar.
>>>
>>> Thanks a lot!
>>>
>>> Louis
>>>
>>> 2008/9/19 Tony Grimes <[EMAIL PROTECTED]>
>>>
>>>>   Hi Louis,
>>>>
>>>> A loop will work, but how slow - it depends (Speed of your computer,
>>>> number of bars loaded, how many loops your using etc...). Without seeing
>>>> what your actually looking for (The end result), I think you could do it
>>>> with one loop, with only one pass through the loop. The speed should be OK.
>>>>
>>>> Good Luck.
>>>>
>>>> Tony
>>>>
>>>> On Fri, Sep 19, 2008 at 2:47 PM, Louis P. <[EMAIL PROTECTED]> wrote:
>>>>
>>>>>   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