No. of Recommendations: 3
zeelottes,
When you say the "2nd bear catcher" are you referring to part that Robbie calls the SMA or the part he call NHNL? I think of the SMA as the first part of the BCC signal, NHNL as the second part and DBE as the third part. Also when you say "9-Day Weighted Moving Average (WMA)" are you referring to the what Flying Circus called the EMA(9)? The appear to be different calculations but both have to do with moving averages (as in the first bear catcher). As far as your use of the Nasdaq, I am certainly early enough in my thinking to is use instead of SPY.
For what it is worth, I am attaching so thinking I have done on Robbies work. Any suggestions you may have will helpful.
Larry
Attached:
Robbie starts with this user defined universe:
https://gtr1.net/2013/?~gSPY:lf-1lp-1h1::pref(sp500.a,sp90.a)et1:rank(class.a,permco.a,step1)et1:MktCapWt:gt0:MktCapWt:product(aprc,ifet(styp.a,30!31,sho.a,cso.a)):wtf:MktCapWt
When run in the screener this URL produces a list of 501 stocks as of 1/22/26
He then uses that universe to create the BCC signal URL:
http://gtr1.net/2013/?lf-1lp-1h1::BCC:gt0:SMADiff:...This URL defines three variables SMAdiff, NHNLdiff, and DBE which are used to calculate the BCC.
Each of the three SMAdiff, NHNLdiff, and DBE can have only values of 0 or 1 and when combined as as a binary number BCC only has values 0 through 7.
SMAdiff is defined by the import: lf-1lp-1h1::SMADiff:gt0:SMADiff:linear(1,sma(1,200),-1,sma(11,200))
My interpretation of this is that if today's SMA(200) (200 day simple moving average) is greater than or equal to the SMA(200) of the one 10 days ago then the SMA signal will be a 1 else it will be a zero.
NHNLdiff is defined by the import: lf-1lp-1h1::iflt(linear(1,ord(1),-1,date2ord(19731217)),0,3,excd.a)et3:styp.a:et10!11!18!48:dspo(1)al252:rank(class.a,permco.a,step3)et1:NHNLDiff:et-999999:StockCount:sum(1,1,step4):PcntNHC252:linear(100,ratio(sum(ifgt(ratio(gprc(1),hgprc(2,251)),1,1,0),1,step4),StockCount)):PcntNLC252:linear(100,ratio(sum(iflt(ratio(gprc(1),lgprc(2,251)),1,1,0),1,step4),StockCount)):PcntNHC252WMA9:ratio(sgwsum(PcntNHC252,0,9,8,7,6,5,4,3,2,1),sgwsum(linear(1,1),0,9,8,7,6,5,4,3,2,1)):PcntNLC252WMA9:ratio(sgwsum(PcntNLC252,0,9,8,7,6,5,4,3,2,1),sgwsum(linear(1,1),0,9,8,7,6,5,4,3,2,1)):NHNLDiff:linear(1,PcntNHC252WMA9,-1,PcntNLC252WMA9)
I don't know how to interpret this. My gut feeling is that NHNL is 1 or 0 depending on whether the number stocks making new highs in this past year is greater (1) or less than the number of stocks making new lows this past year (0). His actual work appears to use ratios and percents however to accomplish some kind of smoothing. Would this seem possible for some simple smoothing - If an existing NH>NL (1) exists, then it does not change to a 0 until a fixed number of NH<NLs have happened and vice versa. (How many days?)
DBE is defined by the import: lf-1lp-1h1::DBE:et1:DBE:sgmax(ifgt(ratio(gprc(1),hgprc(2,98)),1,1,0),0,99)
Here my interpretation is that the DBE does not flip from 1 to 0 as long as within the last 99 days the NHNLdiff has been 0 the whole time.