I'm sure I've submitted this primitive idea to the Q-Qroud before... however my Alzheimers is acting up.
Markets are either ranging or running. And it is the timeframe context that tells you which behavior is in place. One of my favorite examples for this is step back and look at the DJIA over the last nearly 100 years. It's been on a pretty good run I'd say. So for the the 100 year timeframe we have a run. But now imagine (as hard as it might be) if for the next 100 years the DJIA headed back to nearly zero. Then for the 200 year time frame we would consider the DJIA to be in a ranging mode. In one periodicity the market is running and in another, it's ranging.
So context for something like momentum is all based on which time frame you're looking at. A market might have momentum on the 5 minute chart, but it's just ranging on the hourly chart.
How to use this information, as rudimentary as it is? Multiple time frames would seem a natural method. If a market is running at the weekly periodicity, running at the daily periodicity and has just now switched to running at the hourly periodicity -- all in the same direction -- then that three periodicity confirmation would seem to indicate it's time to get into that market.
And so to complete this thought, using only the simple mindedness of which I'm capable, here's a momentum measurement trick: count the crossovers of a pair of moving averages.
If you had say, a 5 and a 7 period set of moving averages, applied to weekly data, and over the a 52 week period that sinuous pair crossed over 20 times you say to yourself "ranging". Up and down went that market. Then, for the next 52 weeks, the same pair of moving averages crossover only 10 times... and the last time they crossed was 15 weeks ago, you'd say to yourself "running" -- it went directional.
Use this technique then on three timeframes, measure the rolling count of moving average crosses, each timeframe window rolling independently, when all the counts were relatively low -- momentum. When all the counts were relatively high -- no momentum.
The method is neolithic, but I've built systems that used it and seen success using it.
And because I love dirt simple solutions, here's a way to interpret this technique.
Image you're measuring this MACrossCount over 100 periods, we'll keep a rolling window looking back 100 periods.
Now let's say our MA pair crossed over at period 20 (80 periods ago), period 30, period 50 and period 60 (40 periods ago) - four separate crossovers, no matter the direction:
[80 + 70 + 50 + 40 / 4] = 60.
60 / 100 periods = 0.6 (the higher number the greater the probability of a run in place)
That's a simple number to use to determine momentum.
How about another set, from 70 periods ago to just 10 periods ago:
[70 + 60 + 40 + 20 + 10] / 5 = 40
40 / 100 periods = 0.4
Maybe a simple interpretation would be a number greater than 0.5 is running and a number less than 0.5 is ranging?
Do this for 3 time scales and you might have a pretty good, easy way to determine range vs run.