New Members: Be sure to confirm your email address by clicking on the link that was sent to your email inbox. You will not be able to post messages until you click that link.

Ranking scan results by strength

I am looking to scan for ROC (and a couple of other indicators that do not use averages). For example, I can start with scan for stocks whose ROC(12) crosses above 0.
I want to sort/rank the results by strength of move. To normalize across different stocks with different absolute price increases, I would need to use a % change.
I think ROC uses price rise over time (not %price rise over time)
SCTR might be a normalized way when used with ROC.
The best I can come up with is ROC of SCTR, i.e. ROC(12, SCTR). Would that work?

Is there a better way?
I think PPO might be another way (i.e. scan for PPO change but it too is based on averages which I am trying to avoid).

Fyi, just found out about this site and joined today.

Thanks in advance for any help



  • You can use ROC - the formula is here:

    So, the last line of your scan would be

    rank by ROC(12)

    The % change will be displayed on the results page in the last column. Remember when you save the results to a list to check off "preserve sort order". Otherwise the symbols will be saved in default alpha order.
  • I wouldn't rank by SCTR until you are comfortable with how they are calculated. With SCTR, there is a grouping that it uses so the SCTR for a security is where it ranks, based a several criteria, against other members of its group.

    I suggest reading up on the SCTR as it is a composite scoring mechanism that gives greater weights to different things and less to others. You may want to design your own "SCTR" using the criteria as filters and modified to meet your needs.

    You can use a Rank By statement as the last line of the scan that will allow you to sort the results, and also acquire an additional column of information in the results.

    Rank by [ROC(?)] will list your results in descending ROC(?) order.

    You could also use the PctRelative function as your rank by to show your results against a consistent denominator.

    Rank by [PctRelative(20,$spx)] would be the default but you can change the period and the comparison symbol to be whatever you'd like.
  • If Ranking by PPO, I like to use the Absolute Value of the PPO. This groups the most "oversold" and "overbought" together and the ones nearest the cross point together.

    I'm of the opinion that a +3 or -3 on the PPO are worthy of equal consideration in review. Using the ABS function puts them in the 3 group. The extended ones, -20 and +20, for example, are in the 20 group.
  • @lmkwin - which PPO value do you use - Line, Signal or Hist? I'm guessing Line, but just to be sure. There's probably an argument for any of them.
  • I use the Line. I like to look at the Rank By as an opportunity to play around with things and provide valuable information so I experiment.

    AbsVal(weekly PPO Line(13,45,0)) ascending would be an example.

    I'm more of a base building base breakout type of investor. I use, what I call, a Dynamic CSS Pattern on a Point and Figure Chart. It is looking for things that were showing significant distribution, now turning to significant accumulation.

    I like PPO over MACD because you can use it comparatively across charts, like in CandleGlance view.
  • markdmarkd mod
    edited March 2021
    @lmkwin - here's a scan that might interest you for watchlist purposes. It fits your long-term approach, but takes a volume-based (Force Index) approach to detecting accumulation that may not be apparent in price.

    If you run this for July 6, 2020, it will give you an idea of the stocks it selects and their behaviors.

    Mainly, when Force is mostly positive and more or less growing while price remains depressed or declining, it's worth watching. You get some duds of course, but also some good winners if you are willing to wait (sometimes months) for the right moment to enter (which seems to fit your approach). The best ones (as you probably know) seem to bounce along just off the bottom before starting up.

    It looks at health, because that's where the big growth jumpers tends to be, but the principle should apply to other sectors as well, especially tech, but also energy and materials that have big cyclical ups and downs.

    // 20 01 11 v3 accumulation scan - Force MA 251 rising K251 < 20

    // looking for health stocks that have sold off but getting re-accumulated

    [[exchange is NYSE] or [exchange is NASD]]

    and [group is HealthCareSector]

    and [market cap > 100]

    //Force is above its rising MA - showing accumulation

    and [Force(251) > sma(251, Force(251))]
    and [ sma(251, FORCE(251)) > 21 days ago sma(251, FORCE(251)) ]

    // price is in the lowest 20% of its annual range
    and [ Fast Stoch %K(251, 1) < 20]

    // price has not been above 50% of its annual range in 3 months
    and [max(63, Fast Stoch %K(251,1)) < 50]
  • Thanks @markd I think you've shared this one before, but perhaps in a Price Channel format. I have a few saved markd scans. Always appreciative.

    The stocks that I end up with are usually not working off a 52 week low, but I get your gist. The thing that I use for "significant distribution" is the appearance of 3 or more Consecutive Sell Signals on the PnF chart. There is currently no ability to filter for this on StockCharts, but I can filter for it on a different website.

    I reality, I focus more on the trigger for "significant accumulation" and then look at the chart. That you can scan for on StockCharts. I use a column of X's that is at least 7X's in length. I also can sub 2 columns of 6xx as long as the 2nd column of 6xx has a higher bottom than the 1st column of 6xx.

    If the bottom X is under $10 then I sub 6xx instead of 7xx, and knock down the 2x6xx to a 2x5xx.

  • It occurred to me afterwards that I might have shared something like this before. Getting to be like the old guys down at the coffee shop - telling the same stories over again. Wait - I'm one of the old guys myself now...
  • Thank u all for your feedback. I am now using Rank by ROC. markd, i will dig into the Force Index scan further. Sounds interesting and may be just what i want.
  • After looking into definitions and calculations, Force Index (I had never used it before) looks very similar to OBV. Seems to be an EMA of 1-day OBV values. Clearly OBV preserves history since it is totalsum whereas Force Index only has data over period of averaging. Can anyone educate me on preference of one over another for different investment/trading objectives?
  • markdmarkd mod
    edited March 2021
    Force differs from OBV in that it use the price change as a multiplier for volume, whereas OBV simply adds volume if the price change is up and subtracts if the price change is down.

    The effect of the multiplier is to more closely approximate the true strength of buyers and sellers. It moves more when volume and price move together - big price change on big volume - than when they are mismatched - big price change on small volume, or small volume on big price change. OBV can't do that because it adds or subtract all the volume in the direction of the price change, regardless how much price changed. So, Force tends to confirm or contradict the trend better than OBV. If you see price continuing to rise or fall and Force doesn't generally follow, it tells you the trend is advancing less strongly. It may not mean the trend is reversing, but only that it is more vulnerable to reversal.

    Another difference between OBV and Force is that OBV has no parameters. Force allows you to choose parameters to fit your trading or investing time frame, although it takes some experimenting to find what works best.

    Force has several potential signals with shorter term parameters, although they are not always precise and don't always mean the same thing. So it's worth it to observe for a while to learn its quirks.

    One signal is crossing the zero line. If there is a clear trend in place, a return across zero is a likely opportunity to get in in the direction of the trend.

    Another signal is Force crossing a previous Force extreme - a high or low. If Force crosses a previous low (below zero) and prices are higher than at the crossed low, it's a likely buy. Conversely, if Force crosses a previous high (above zero) and prices are lower, it's a likely sell.

    Finally, there are divergences between Force and price within the same leg. If price makes a new low close after one or more up bars, and Force does not make a new low with it, a reversal is due. Likewise, a new high close in the same leg after some down bars is probably setting up a sell.

    When selecting parameters, you are close to the right ones when you see these "rules" working more often than not.

    For the longer term, you can try using Force with a moving average to evaluate whether distribution or accumulation is occurring. When Force is generally trending down above a rising MA, there is probably some distribution going on, even if prices are still rising. When Force is generally trending up below a falling MA, there is probably some accumulation going on, even if prices are still falling. Keep in mind, the so-called "smart money" makes mistakes, too - getting out too early or getting in too early - so there is no sure thing. Also, not every stock gets distributed before it falls, or accumulated before it rises. Like most indicators, long term Force seems to work best on institutional quality stocks. I use Force 251 with a simple MA 251 for the long term picture.
  • lmkwinlmkwin ✭✭
    edited March 2021
    Excellent piece there @markd. I don't use the Force but do use the NVI, for pretty much the same thinking as you presented on the "longer term". Look at periods below the MA for signs of possible "smart money" activity. Smart money will usually take a month or three to get where they are happy so I use 1 to 3 month MA or price channels. You converted my thinking on Price Channels. They are very useful, in my opinion.

    You can put a parameter in for the OBV and the NVI and the A/D. The parameter will put a MA line on the indicator. On the OBV and A/D it will put a SMA for the parameter. On the NVI it puts a EMA on the indicator. Of course, you can add Overlays on them as well.
  • markdmarkd mod
    edited March 2021
    Thanks, @lmkwin . NVI is new to me. I'll check it out.

    On price channels, I've found parameters corresponding to calendar periods (in trading days) are useful - e.g., 251 is a year, so crossing that channel is a new annual high. 63 is a quarter, 21 is a month. I also use 10, which is two weeks - not a calendar interval but 10 day extremes in a strong trend can useful entry set ups.

    Fast Stochastics is a good pairing with channels (using 1 for the second parameter) - it tells you at a glance where price is within the corresponding time frame. It's redundant information, but I find overlaid Stochastics easier to read at a glance than the chart itself. Also, Fast Stochastics is useful for scanning - e.g. find stocks where price is in the upper half of its annual range, but the lower half of its 3 months range - or whatever per cent of range you want, e.g. bottom 20 percent.

    Pretty sure I've talked about this before, but mention it again for the many newcomers.
  • The only "issue" I feel with multiple Price Channels on a chart is that the center lines can sometimes get a little messy. It would be nice to be able to not show the center line, or just have it not displayed by default. I tend to "Area" them which obscures the center line a little bit, and helps display the current trend to me. So the "shadow" of the longer term Price Channel showing reflects the trend. Shadow on the bottom, is uptrend. Shadow on top is downtrend. Shadow above and below is no trend.

  • I like it.

    I agree about the mid channel line. Should be optional. However, it can be a reasonable trend resumption set up signal, akin to price hitting the 50 or 200 ma. Both are a version of middle values. Works better with the longer term channels.
  • That screen shot also displays the Horizontal Lines that I put on my SharpCharts. The Horizontal Lines are placed at the "Magic Numbers" that Gerald Appel identified from his observations. Gerald Appel created several technical analysis indicators including the MACD.

    The "Magic Numbers" are areas where support and resistance are often found based on his observations over the years. I must say, it is quite remarkable how they tend to show just that. I expanded the range to put the horizontal lines at lower and higher levels than existed back when he wrote this.



    Magic numbers? As we said, “could be”. Could also be just our imagination. But, we have observed over the years that certain areas, time and time again, serve as resistance points for stocks moving up and as support levels for stock moving down -- acting, so to speak, almost as magnets for price moves. Doesn’t work all the time, of course. But often enough to pay attention.


    I have observed empirically over the years that stocks tend to find support, at least temporarily in certain price zones, and to stop advancing at those same price zones, at least temporarily. In fact, I frequently use these zones as selling and buying targets as a result of my observations.

    These zones tend to be spaced roughly 15-20% apart from each other. Once a stock has passed through the zone, it generally moves rather rapidly, after perhaps a retracement to the top of the zone just passed, onto the next zone. Trading ranges tend to form between zones. Occasionally, false breakouts above these magic numbers do occur, but if the breakout is false, retracements back beneath the magic number are rapid, churning taking place near the top of the zone prior to a decline.

    Breakout buyers might purchase issues as soon as they cross through a magic number, or upon the normal retracement back to the top of the zone. Very frequently, a quick 15% or so ride develops. It can, however, be very dangerous to purchase a stock immediately upon its attaining a magic number, unless and until a consolidation period has taken place. Better to await a reaction to the top of the previous magic zone.


    Give or take a fraction, perhaps 1 or 2 points on either side, the higher the price stock the greater the variation, these are the magic zones I have observed.

    8 , 20 ¼ , 44 , 88

    10 , 24 ½ , 49 ½ , 99

    12 ¼ , 28 ¾ , 55 , 110

    14 , 33 , 65 , 130

    16 , 38 ½ , 77 , 154

    In other words, if a stock crosses 28 ¾, you can be fairly certain of its attaining a price objective of 32-33, particularly if the break above 28 ¾ seems at all decisive. Should the stock reach say 29 ¾, it may retrace back to the 28-29 area, but could be purchased then for the move to 33, given no other contraindications. The numbers, 24 ½ through 65 seem particularly significant -- many declines halting at the tops of those zones and advances halting likewise, but just beneath the tops.

    By Gerald Appel
    as written in Systems and Forecasts
  • Interesting that the second number of each series is about double the first number of the next series. The idea reminds me Gann number series. In Appel's version, there are approximate ratios for each series from the first number - 1, 2.5, 5, and 10. Or, each number in a series is approximately double the preceding number.
  • If you want to put them on your charts, below is my parameter for the Horizontal Line Overlay. I added to the series above and below his numbers. My additions are just spaced between 10-20% and not based on years of observation. I find them useful though.

  • Thanks! Looks interesting.
  • Thank u all for the useful differentiation in OBV vs Force, especially how u use Force Index.
Sign In or Register to comment.