[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [EquisMetaStock Group] Problem with LowestSince function



PureBytes Links

Trading Reference Links

Gordon:

Thanks for sending the more detailed information. After I charted all the key items, I realized that your goal was probably not what I had assumed after the first note.

I HAD assumed that you wanted to find the Lowest Low value WHICH OCCURS after the Highest High value, within the past 30 days. 

But it appears you want to know IF, over the last 30 days, the Lowest Low occurs after the Highest high. If this is your goal, then I could not find anything wrong with the analysis.

You said this is the basis of a TA presentation. I assume that you have found that this system is a good way to select stocks. Perhaps after your presentation (so you don't loose any paying customers) you could let us know why you think this system has merit.

Harry

--- In equismetastock@xxxxxxxxxxxxxxx, Gordon Sutherland <gosuth@xxxx> wrote:
> Hi Harry,
>  
> Glad you like the way I structured the Columns, you will appreciate it
> is always a challenge with only 6 Columns to play with in the Explorer.
>  
> I have been through the code again and have done a scan of my database
> (Australasian EOD) and scanned ca 160 stocks and the Explorer came up
> with 36 stocks that met the rules. I have checked each and every one of
> these 36 stocks and in every case they met the criteria in the scan. Now
> we all know that strange things can happen when coding stuff like this
> so if you can post a report where the "Days2High" is less than the
> "Days2Low" Column then I would be grateful. As I said previously, I will
> be using this code as part of a TA Society presentation in a months time
> so I don't need egg on my face or more importantly dish-out bad code!
>  
> For the record and those that are interested, I post below the Rules and
> the Output from my Exploration. You will see that in each case the
> Lowest Low occured after the Highest High within the last 30 days. I
> also eye-balled the results on the charts to make double sure!
>  
> INPUTS:
>  
> Exploration notes:        Finds those tickers that have a Lowest Low
> within the
>                                   last 30 periods where the Highest High
> in the last 30
>                                   periods occured before the Lowest Low.
> It then
>                                   computes the % range from High to Low
> and indicates
>                                   where the Current Close is as a % of
> this range. This
>                                   could be used as a scan for potential
> buy opportunities.
>  
> Col A: LLV30$             LLV(LOW, 30)
> Col B: HHV30$            HHV(HIGH,30)
>  
> Col C: Days2Low         LLVBars(LOW, 30)
>  
> Col D: Days2Hi            HHVBars(HIGH,30)
>  
> Col E: Range %           PREC((((HHV(HIGH, 30) - LLV(LOW, 30))/ LLV(LOW,
> 30))) * 100,1)
>  
> Col F: C%Range          PREC(((CLOSE - LLV(LOW,30)) / (HHV(HIGH,30) -
> LLV(LOW,30))) * 100,1)
>  
> Filter                           LLVBars(LOW, 30) < HHVBars(HIGH,30)
>                                   {Only finds tickers where LLV has
> occurred
>                                   after the HHV in the last 30 days -
> Buy  Opportunities}
>  
> 
> Filter enabled              Yes
> Periodicity                  Daily
> Records required         39
>  
> OUTPUT REPORT:
>  
>   Sec...   LLV30$     HHV30$      Days2Low      Days2Hi     Range %
> C%Range
> CUE         0.0430      0.0500       0.0000     25.0000      16.2000
> 0.0000
> ANM         0.2300      0.4350       3.0000     19.0000      89.1000
> 2.4000
> CTL         1.4700      2.2200       0.0000     25.0000      51.0000
> 3.9000
> CSR         1.5500      6.5200      27.0000     28.0000     320.6000
> 5.0000
> FBU         2.8600      3.1800       6.0000     28.0000      11.1000
> 6.2000
> ERG         0.0920      0.1200       0.0000     14.0000      30.4000
> 7.1000
> CLT         0.6300      0.8400       6.0000     17.0000      33.3000
> 9.5000
> CSL        14.1300     16.5000       1.0000     29.0000      16.7000
> 11.3000
> BRZ         0.6400      1.1700      17.0000     27.0000      82.8000
> 11.3000
> AMP         4.9400      8.8900       1.0000      8.0000      79.9000
> 12.6000
> DVN         0.4000      0.4750      23.0000     24.0000      18.7000
> 13.3000
> CCL         5.2800      5.8700       4.0000     15.0000      11.1000
> 18.6000
> BHP         8.4500      9.6700       2.0000     21.0000      14.4000
> 19.6000
> ARQ         0.5600      0.6600       9.0000     28.0000      17.8000
> 19.9000
> AQP         5.0000      6.2000       7.0000     14.0000      23.9000
> 20.8000
> EQI         0.8400      0.9300       1.0000     11.0000      10.7000
> 22.2000
> CHY         1.4000      1.6200       1.0000     28.0000      15.7000
> 22.7000
> ADX         0.3000      0.5000      14.0000     29.0000      66.6000
> 24.9000
> AUO         0.4500      0.5500       5.0000     17.0000      22.2000
> 29.9000
> CRS         0.5100      0.7300       2.0000     26.0000      43.1000
> 31.8000
> DJS         1.0400      1.1000       2.0000     16.0000       5.7000
> 33.3000
> AAT         0.1500      0.1800       6.0000     19.0000      20.0000
> 33.3000
> GRD         0.9900      1.0700       1.0000      9.0000       8.0000
> 37.4000
> DOT         1.0800      1.1700      19.0000     27.0000       8.3000
> 44.4000
> BEN         7.4000      7.8500      14.0000     22.0000       6.0000
> 48.8000
> AIZ         0.3200      0.4750      10.0000     29.0000      48.4000
> 51.6000
> ALL         1.5300      1.8400      14.0000     22.0000      20.2000
> 54.8000
> AOF         1.1000      1.2200      23.0000     28.0000      10.9000
> 58.3000
> GAP         1.5400      1.9800       2.0000     24.0000      28.5000
> 59.0000
> CSM         0.5600      0.6100       6.0000     12.0000       8.9000
> 59.9000
> CLH         1.2800      2.1500      20.0000     29.0000      67.9000
> 62.0000
> FXJ         2.7900      3.2000      16.0000     22.0000      14.6000
> 65.8000
> AGG         8.9500      9.9300       7.0000     25.0000      10.9000
> 66.3000
> AGI         0.4200      0.5100      24.0000     26.0000      21.4000
> 66.6000
> FFL         1.6100      1.8600      16.0000     29.0000      15.5000
> 67.9000
> BIR         0.6700      0.7800       5.0000     21.0000      16.4000
> 81.8000
>  
> Sorry about the crooked line-up of the columns above!
>  
> Regards,
>  
> Gordon Sutherland
> 
> -----Original Message-----
> From: bex1210 [mailto:hmw3@x...] 
> Sent: Monday, 12 May 2003 5:26 p.m.
> To: equismetastock@xxxxxxxxxxxxxxx
> Subject: Re: [EquisMetaStock Group] Problem with LowestSince function
> 
> 
> Gordon:
> 
> I like the way you structured your columns. I think I will use this
> format when I get to the Explorer stage.
> 
> Unfortunately, you don't get the LLV after the HHV either. If you
> carefully look at some charts, you will see some instances where LLV()
> or LowestSince() do NOT give you the correct LLV. The HHV will have
> changed, but the LLV will NOT have changed to a value that corresponds
> to a date after the HHV. In those conditions, your filter will not pick
> up the correct stock.
> 
> This is a frustrating exercise. With Roy's help, I have gotten very
> close, but not 100% success.
> 
> Harry 
> 
> --- In equismetastock@xxxxxxxxxxxxxxx, Gordon Sutherland <gosuth@xxxx>
> wrote:
> > Harry,
> >  
> > I do not profess to be a whiz at programming but I needed to do
> > something similar to your request some little while ago and I came up
> > with the undermentioned method in the Explorer. You may wish to tidy
> the
> > code up somewhat to meet your requirements in each column.
> >  
> > Column A: Lowest Low in last 30 periods  -  LLVBars(LOW, 30)
> > Column B: Highest High in last 30 periods - HHVBars(HIGH,30)
> > Column C: $ Range in Period - PREC((((HHV(HIGH, 30) - LLV(LOW, 30))/
> > LLV(LOW, 30))) * 100,1)
> > Column D: Current Close as % Range from LLV - PREC(((CLOSE -
> > LLV(LOW,30)) / (HHV(HIGH,30) - LLV(LOW,30))) * 100,1)
> > Filter: LLVBars(LOW, 30) < HHVBars(HIGH,30)
> >     {Only finds tickers where LLV has occurred after the HHV in the
> last
> > 30 days} 
> >  
> > Regards,
> >  
> > Gordon Sutherland
> > 
> > -----Original Message-----
> > From: bex1210 [mailto:hmw3@x...] 
> > Sent: Saturday, 10 May 2003 7:52 a.m.
> > To: equismetastock@xxxxxxxxxxxxxxx
> > Subject: Re: [EquisMetaStock Group] Problem with LowestSince function
> > 
> > 
> > Donald:
> > 
> > I tried your suggestion. Unfortunately, it has many of the same
> problems
> > that my original suggestion, and Roy's have: in a market where the
> stock
> > price is rising and falling (i.e., not trending), the correct LLV does
> > not get picked up after a new HHV (per the period) has been
> established.
> > 
> > To summarize, this is what I am trying to do:
> > 1. find the highest high value over a period
> > 2. then find the lowest low value AFTER the highest high from #1
> > 3. calculate the price change from the lowest low (#2) to today's
> > close (then use Explorer to rank the stocks by their price change)
> > 
> > I can calculate #1 using HHV(). It charts just fine.
> > I think I can calculate #3 using div().
> > But it is #2 that causes the problem.
> > 
> > I modified a suggestion that Roy made, and have come up with this:
> > H1:=HHV(H,30);
> > L1:=LowestSince(1,H1=H,L);
> > L2:=LLV(LowestSince(1,H1<>Ref(H1,-1),L),30);
> > S3:=Max(L1,L2);
> > H1;S3; {i.e., not charting L1 or L2}
> > 
> > This is "almost" correct. I tried it on a few stocks, and some weekly
> > charts also. There were some mistakes, but none looked too serious.
> > 
> > If you plot your suggestion, plus the above, for several stocks, you
> > will see where the problems occur. 
> > 
> > Thanks for your help. I am new to Metastock, and always open to
> > suggestions!
> > 
> > Harry
> > 
> > 
> > --- In equismetastock@xxxxxxxxxxxxxxx, "keara33903" <keara33903@xxxx>
> > wrote:
> > >  Hi:Try
> > > LowestSince(1,cross(H,Ref(HHV(HIGH,40),-1)),LOW) Don't know what
> your 
> > > doing but <> gives a constant 1 and generally doesn't give what you 
> > > want. Cross(above, below) gives a spike which is needed to start 
> > > lowestsince(jk,KJK,JK) Donald 
> > > 
> > > --- In equismetastock@xxxxxxxxxxxxxxx, "bex1210" <hmw3@xxxx> wrote:
> > > > Roy:
> > > > 
> > > > Thanks for the explaination of when true/false is required. I must
> 
> > > admit I have lots of trouble understanding the nuances of the 
> > > Metastock manual.
> > > > 
> > > > Unfortunately, your 
> > > > "LowestSince(1,H>Ref(HHV(HIGH,40),-1),LOW)" 
> > > > doesn't work any better than my
> > > > "H1:=HHV(HIGH,40);
> > > > LowestSince(1,H1=HIGH,LOW)".
> > > > 
> > > > Both get in trouble when the high rises and falls, yet does not 
> > > exceed a previous high over the 40 period. Trying charting any stock
> 
> > > that rises and falls (i.e., is not trending). Then plot an Indicator
> 
> > > of "HHV(HIGH,40)". Then plot a 2nd indicator of either of the two 
> > > LowestSince() formulas above. You will see that there are spots
> where 
> > > the HHV indicator drops over time to pick up a newer (and lower)
> HHV, 
> > > but the LowestSince() doesn't recognize the newer HHV, and therefore
> 
> > > doesn't change the Low as it should. (It make take looking at
> several 
> > > stocks before you find one with the correct relations of relative 
> > > highs.)
> > > > 
> > > > I thought I had a solution by calculating the period back to when 
> > > the HHV occurred, and then substituting that period into llv(); such
> 
> > > as
> > > > "H1:=HHVBars(HIGH,40);
> > > > llv(low,H1)"
> > > > but Metastock will not allow a variable for the period in llv() 
> > > [although it does allow variables for periods in formulas such as
> rsi
> > > ().]
> > > > 
> > > > So I am stuck. With your vast experience in using these Metastock 
> > > formulas, perhaps you have another suggestion.
> > > > 
> > > > And yes, when I can get something to chart correctly, my plan is
> to 
> > > use it in the Explorer, and hopefully also in the System Tester.
> > > > 
> > > > Harry
> > > > 
> > > > 
> > > > 
> > > > --- In equismetastock@xxxxxxxxxxxxxxx, "Roy Larsen" <rlarsen@xxxx>
> 
> > > wrote:
> > > > > Harry
> > > > > 
> > > > > I misunderstood/misread your question. I wrongly assumed it was 
> > > concerning
> > > > > an exploration.
> > > > > 
> > > > > Looking at your example below, you are using a price "HHV
> > > (HIGH,40)" as if it
> > > > > were a binary value (true or false). Any price above $1 will be 
> > > treated as a
> > > > > binary true. You need to set up a true/false condition inside
> the
> > > > > LowestSince() possibly "LowestSince(1,H>Ref(HHV(HIGH,40),-
> > > 1),LOW)". I'm
> > > > > assuming the prices you are working with are nearly always 
> > > greater than $1.
> > > > > 
> > > > > Sorry for the earlier misinformation. Hope this puts you on the 
> > > right track
> > > > > 
> > > > > Roy
> > > > > 
> > > > > ----- Original Message ----- 
> > > > > From: "bex1210" <hmw3@xxxx>
> > > > > To: <equismetastock@xxxxxxxxxxxxxxx>
> > > > > Sent: Saturday, May 03, 2003 5:10 PM
> > > > > Subject: Re: [EquisMetaStock Group] Problem with LowestSince 
> > > function
> > > > > 
> > > > > 
> > > > > > Roy:
> > > > > >
> > > > > > Thanks for the rapid response.
> > > > > >
> > > > > > I think I understand the "periods" suggestion, and will set 
> > > that up as a
> > > > > separate Indicator to call by Explorations.
> > > > > >
> > > > > > But I don't understand your response on LowestSince(), or my 
> > > question was
> > > > > not phrased well, or both!
> > > > > >
> > > > > > I was first trying to use LowestSince () in a chart. It was my
> > > > > understanding, from one of your earlier posts, that Indicators
> in 
> > > charts
> > > > > scan ALL loaded data; so minimum should not be an issue as it is
> 
> > > in the
> > > > > Explorer.
> > > > > >
> > > > > > When I try to chart an Indicator using "LowestSince(1,HHV
> > > (HIGH,40),LOW)",
> > > > > I get a plot line identical to the Low of each day (i.e., I get 
> > > today's low
> > > > > today, yesterday's low for yesterday, etc.)
> > > > > >
> > > > > > I then thought that perhaps there had to be some form of cross
> 
> > > for
> > > > > LowestSince() to function, so I created an Indicator which used:
> > > > > > H1:=HHV(HIGH,40);
> > > > > > LowestSince(1,H1=HIGH,LOW)
> > > > > >
> > > > > > This at least plots a curve, and works correctly part of the 
> > > time, but
> > > > > when the stock price (High) rises and subsequently falls over a 
> > > period of
> > > > > time, AND the resulting High is below my calculated H1, then 
> > > LowestSince()
> > > > > calculates the wrong Low. I also tried H1<HIGH, and even
> H1>HIGH, 
> > > and
> > > > > combinations. None work.
> > > > > >
> > > > > > So there is something which I must not understand about how 
> > > LowestSince()
> > > > > actually functions.
> > > > > >
> > > > > > Any wisdom would be greatly appreciated.
> > > > > >
> > > > > > Harry
> > > > > >
> > > > > > --- In equismetastock@xxxxxxxxxxxxxxx, "Roy Larsen" 
> > > <rlarsen@xxxx> wrote:
> > > > > > > Harry
> > > > > > >
> > > > > > > When using LowestSince() in the Explorer you must force it
> to 
> > > scan at
> > > > > least
> > > > > > > the required number of bars, and preferably more.
> ValueWhen() 
> > > and
> > > > > > > BarsSince() are other function that will not return expected
> 
> > > values when
> > > > > > > used with "minimum" bars.
> > > > > > >
> > > > > > > And don't forget the many functions using any form of 
> > > exponential
> > > > > smoothing
> > > > > > > require at least 5 times more data than the longest
> "periods" 
> > > used by
> > > > > the
> > > > > > > offending functions.
> > > > > > >
> > > > > > > To access a "Periods" value for ALL exploration columns I 
> > > suggest you
> > > > > create
> > > > > > > an indicator specifically for this purpose. You can set up 
> > > any number of
> > > > > > > variable values then use FmlVar() in your exploration
> columns 
> > > to call
> > > > > the
> > > > > > > required value. This could be used for dates as well as 
> > > numbers. Just be
> > > > > > > aware that there is a performances trade-off when the number
> 
> > > of formula
> > > > > > > calls begins to climb.
> > > > > > >
> > > > > > > Roy
> > > > > > >
> > > > > > >
> > > > > > > ----- Original Message ----- 
> > > > > > > From: "bex1210" <hmw3@xxxx>
> > > > > > > To: <equismetastock@xxxxxxxxxxxxxxx>
> > > > > > > Sent: Saturday, May 03, 2003 5:59 AM
> > > > > > > Subject: [EquisMetaStock Group] Problem with LowestSince 
> > > function
> > > > > > >
> > > > > > >
> > > > > > > > I have Metastock 8.01, EOD version. I am trying to 
> > > calculate the
> > > > > lowest
> > > > > > > low since the highest high for use in an Explorer. But I am 
> > > having real
> > > > > > > problems.
> > > > > > > >
> > > > > > > > To visualize what is happening, I have created indicators 
> > > to plot on
> > > > > > > charts. If I create an indicator for the HighestHigh [hhv()]
> 
> > > for a
> > > > > specific
> > > > > > > period, it plots correctly. So does Lowest Low [llv()].
> > > > > > > >
> > > > > > > > But when I try to plot the lowest low since the highest 
> > > high for a
> > > > > period
> > > > > > > using [LowestSince(1,HHV(HIGH,40),LOW)],  all I get is 
> > > today's low. If I
> > > > > > > change the Nth figure to 2, I get yesterday's low. Neither 
> > > are the real
> > > > > low
> > > > > > > since the last high; not anywhere close.
> > > > > > > >
> > > > > > > > Clearly I am doing something wrong. Can someone provide a 
> > > little
> > > > > guidance?
> > > > > > > >
> > > > > > > > Thanks in advance,
> > > > > > > >
> > > > > > > > Harry
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > To unsubscribe from this group, send an email to:
> > > > > > > > equismetastock-unsubscribe@xxxxxxxxxxxxxxx
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > Your use of Yahoo! Groups is subject to
> > > > > http://docs.yahoo.com/info/terms/
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > To unsubscribe from this group, send an email to:
> > > > > > equismetastock-unsubscribe@xxxxxxxxxxxxxxx
> > > > > >
> > > > > >
> > > > > >
> > > > > > Your use of Yahoo! Groups is subject to 
> > > http://docs.yahoo.com/info/terms/
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > 
> > 
> > 
> > Yahoo! Groups Sponsor      
> > 
> > 
> >  
> >
> <http://rd.yahoo.com/M=247865.3269369.4566997.1261774/D=egroupweb/S=1705
> >
> 375617:HM/A=1482387/R=0/*http://ads.x10.com/?bHlhaG9vaG0xLmRhd=105250996
> >
> 2%3eM=247865.3269369.4566997.1261774/D=egroupweb/S=1705375617:HM/A=14823
> >
> 87/R=1=1052509962%3eM=247865.3269369.4566997.1261774/D=egroupweb/S=17053
> > 75617:HM/A=1482387/R=2>       
> >  
> >
> <http://us.adserver.yahoo.com/l?M=247865.3269369.4566997.1261774/D=egrou
> > pmail/S=:HM/A=1482387/rand=750104624>       
> > 
> > To unsubscribe from this group, send an email to:
> > equismetastock-unsubscribe@xxxxxxxxxxxxxxx
> > 
> > 
> > 
> > Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service
> > <http://docs.yahoo.com/info/terms/> .
> 
> 
> 
> Yahoo! Groups Sponsor	
> 
> 
> 
>  
> <http://rd.yahoo.com/M=253836.3292410.4586249.1261774/D=egroupweb/S=1705
> 375617:HM/A=1300107/R=1/*http://local.yahoo.com/> 	
> 
> Enter:	 	
> 
> To unsubscribe from this group, send an email to:
> equismetastock-unsubscribe@xxxxxxxxxxxxxxx
> 
> 
> 
> Your use of Yahoo! Groups is subject to the Yahoo! Terms
> <http://docs.yahoo.com/info/terms/> of Service.


------------------------ Yahoo! Groups Sponsor ---------------------~-->
Rent DVDs Online - Over 14,500 titles.
No Late Fees & Free Shipping.
Try Netflix for FREE!
http://us.click.yahoo.com/YoVfrB/XP.FAA/uetFAA/BefplB/TM
---------------------------------------------------------------------~->

To unsubscribe from this group, send an email to:
equismetastock-unsubscribe@xxxxxxxxxxxxxxx

 

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/