Most people who build a multi-timeframe momentum composite start by adding up the same indicator across a handful of timeframes and dividing by the count. Six timeframes, six readings, average them, done. It feels honest. Nobody gets a vote weighted more than anyone else. And it quietly ruins the signal, because the timeframes are not equally trustworthy and the fast ones flip constantly.
Here is the thing I keep coming back to. A 1-hour momentum reading and a daily momentum reading are not two opinions about the same question. They are answers to different questions. The 1-hour is telling you about the last few sessions of positioning. The daily is telling you where the trend actually lives. When you equal-weight them, the daily trend and a burst of intraday chop count the same, and since the fast timeframe changes sign far more often, the composite ends up doing what the fastest timeframe does. You built six inputs and functionally you are trading one.
Why equal weighting hands the wheel to the noise
Think about how often each timeframe changes its mind. A 1-hour momentum reading might flip from positive to negative several times in a day on a market that, on the daily, has not budged from its uptrend. A weekly reading might hold the same sign for a month. If all six get the same coefficient, the composite inherits the variance of the loudest, twitchiest member. The high timeframes are sitting there being right and slow, and their steady contribution gets swamped every time the 1-hour throws a tantrum.
There is a second problem that is easy to miss. Timeframes are correlated, and they are not correlated evenly. Your 1-hour, 2-hour, and 4-hour readings are often saying nearly the same thing with a lag, because they are all built from overlapping recent data. If you have three fast timeframes and three slow ones and you equal-weight all six, you have not given the fast and slow views a 50/50 split. You have given the fast, redundant cluster a structural majority. Three near-duplicate votes beat two or three genuinely independent ones.
Taper toward the higher timeframes
The fix is to weight so that trust rises as you go up in timeframe, and to do it deliberately rather than by feel. I like a geometric-style taper, where each higher timeframe gets a coefficient meaningfully larger than the one below it. Roughly, the daily and weekly together should carry the majority of the composite, and the 1-hour should be more of a tiebreaker than a driver.
Here is a concrete scheme for six timeframes, 1-hour through weekly, with the reasoning attached to each number. Treat the exact values as a starting point, not gospel.
- 1-hour, weight 0.05. This is your fastest, noisiest input. It flips constantly and it is highly correlated with the 2-hour, so it deserves a small slice. It is useful for timing the last bit of an entry, not for deciding whether the entry is valid at all.
- 2-hour, weight 0.08. Slightly steadier than the 1-hour and slightly less redundant with the daily. Still fast enough that I do not want it steering.
- 4-hour, weight 0.12. This is where an intraday reading starts to mean something for a swing trade. It smooths a lot of the 1-hour chop while still reacting inside a session.
- 8-hour, weight 0.18. A useful bridge between the intraday cluster and the daily. It catches a real shift in the balance of a day without waiting for the daily close.
- Daily, weight 0.27. The workhorse. For most swing systems the daily trend is the thing you are actually trying to be on the right side of, so it earns the single largest coefficient.
- Weekly, weight 0.30. The slow anchor. It changes sign rarely, and when it does, it matters. Giving it the top weight keeps the composite from fighting the dominant trend on the strength of a two-day wobble.
Those add up to 1.0, which keeps the composite on the same scale as any single reading and makes it easy to compare across assets. The point is not these exact six numbers. The point is the shape. The slow, independent, rarely-wrong timeframes carry the load, and the fast, redundant, frequently-wrong ones get a whisper.
How to tune it without fooling yourself
A few rules of thumb that have kept me out of trouble.
- Count how often each timeframe flips sign over a long window. If your 1-hour changes sign ten times as often as your daily, it should not have anywhere near ten percent of the total weight. Sign-flip frequency is a decent proxy for how much noise a timeframe injects, and it is trivial to measure.
- Watch for redundancy, not just speed. If two adjacent timeframes almost always agree, they are one vote wearing two coats. Either drop one or split the weight you would have given a single member between them. Do not let a redundant cluster quietly become a majority.
- Change one coefficient at a time and look at the composite's own turnover. If nudging the 1-hour weight up barely moves your equity curve but doubles your trade count and your fees, that timeframe was adding cost, not edge. Turnover is the tell.
- Resist the urge to overfit the taper to last quarter. A weighting scheme that needs three decimal places to work is a scheme that found a pattern in noise. If a small, sensible change to the weights blows up the results, you do not have a robust composite, you have a curve fit. I would rather run slightly wrong-but-stable weights than perfectly-tuned-but-fragile ones.
One honest caveat. The right taper depends on what you trade and how long you hold. A scalper who closes inside the day should flatten the curve and give the fast timeframes real weight, because for them the weekly is almost irrelevant. A position trader should tilt even harder toward the top than the scheme above. There is no universal set of coefficients, only a defensible reason for each one relative to your holding period.
When we build market scorecards and momentum reads inside Blockcircle, this is the part that gets the most attention, because it is the part everyone else skips. Getting the inputs right is easy. Deciding how loudly each one gets to speak is the actual work, and it is worth doing on purpose rather than defaulting to a flat average and hoping the noise cancels out. It does not cancel out. It just quietly takes over.