A moving average streak measures momentum by tracking how many consecutive trading sessions an asset's closing price finishes on one side of a given moving average.
To calculate the streak, evaluate a single question at the end of each trading session: did the asset close above or below the moving average line? The streak is the number of consecutive days the answer stays the same.
Six closes in a row finish above the 5-day average, then the first close back below it ends that run and starts a new one. Only where the day finished is read.
The close-only rule
Core principle
Intraday price action does not count. A stock can trade below its moving average for hours during the session, but if it rallies and finishes above the line, the run of closes above stays intact.
A single close on the opposite side resets the current streak to zero and immediately starts a new streak in the opposite direction.
Worked example: AAPL
Closing price: $323.88
5-day moving average: $329.04
Reading: because $323.88 is below $329.04, this marked AAPL's third consecutive close below its 5-day moving average.
An asset simultaneously maintains a separate streak count for every moving average timeframe monitored. Because shorter-term averages react faster to price changes than longer-term averages, these counts frequently diverge.
Multi-horizon reading: AAPL
Moving average
Current streak
Market context
5-day
3 closes below
Short-term pullback / consolidation
10-day
15 closes above
Strong medium-term uptrend
AAPL, 22 July 2026.
Analyst takeaway
This setup reflects a short-term pullback inside a broader, intact uptrend. Price slipped beneath the faster 5-day line for three sessions while staying safely above the slower 10-day line.
Interpreting paired streaks
When both counts sit on the same side, the trend is running in both windows. When they split, a change has started in the faster window first.
Both pointing the same direction: strong alignment across both horizons. The shorter count tells you how long the current leg of the move has lasted.
Pointing in opposite directions: a recent shift. Because shorter averages adjust faster, the shorter count always breaks first.
Chapter 3
Streak Fatigue & Historical Probabilities
A common trader intuition is that the longer a streak lasts, the more exhausted, or likely to end, it becomes: the Gambler's Fallacy. However, historical market data indicates that continuation probabilities remain remarkably flat regardless of streak length.
Continuation probability versus streak length
The table below measures the historical probability of a streak extending by one additional day after reaching a specific length, using closes above the 5-day moving average:
Run so far
SPY continues
AAPL continues
1 day
74%
76%
2 days
82%
80%
3 days
81%
81%
5 days
76%
78%
8 days
76%
83%
12 days
81%
84%
Closes above the 5-day average, measured on SPY and AAPL.
Both lines stay near 80% across every run length, so a long run is about as likely to continue as a short one. The sample behind each point, though, shrinks from hundreds to a few dozen.
The sample size reality
Statistical note
A 12-day run is about as likely to reach day 13 (roughly 81 to 84%) as a 2-day run is to reach day 3 (roughly 80 to 82%).
What shrinks as a streak lengthens is the sample size standing behind the number:
SPY 2-day streaks: observed 481 times.
SPY 12-day streaks: observed only 36 times.
On a long streak the odds hold up. What makes the estimate less reliable is the shrinking sample behind them.
Chapter 4
Price Projections
The engine projects across three fixed horizons: the next trading day, one week (5 trading days) and one month (21 trading days). Every card shows the exact future date it refers to, so there is no ambiguity about which session is being measured.
Three measures on each card
Green / red odds: the split between matched days that closed higher and those that closed lower over that horizon.
Avg green return: the average gain of only the matched days that closed higher.
Avg red return: the average loss of only the matched days that closed lower.
AAPL's read from three closes below its 5-day average:
Horizon
Target date
Odds
Avg green
Avg red
Next day
23 July 2026
53% / 47%
+1.59%
−1.63%
One week
29 July 2026
56% / 44%
+3.68%
−3.37%
One month
21 August 2026
62% / 38%
+8.34%
−6.70%
Measured on AAPL, 22 July 2026, from 331 matched days.
Matching is on the streak itself: past days that had reached the same count on the same side of the same average. A short streak is a common condition and pulls a large sample; a long one is rare and pulls a small one.
Always read the averages next to the odds
The two average rows are one-sided: avg green averages only the up outcomes, avg red only the down outcomes. Never read them by themselves.
The month row leans green on both counts: 62% of those months closed higher, and the average gain (+8.34%) was larger than the average loss (−6.70%). When the odds and the averages point the same way the read is clean; it is the rows where they disagree that need the closer look.
Chapter 5
The Three Charts
One Chart View toggle, three ways of looking at the same sample of matched days: the Price Cone, the Bar Graph and the Chart Log.
1. Price Cone
The default. It projects forward 45 sessions from today's price, drawing the percentile bands of what the matched days actually did, converted into prices.
Median line (50th percentile): the central outcome of the sample, not a target.
Cone width (10th to 90th): how much the matched days disagreed. A narrow cone means consistent outcomes; a wide one means high variance.
2. Bar Graph
This asks a different question: how often did price travel a set distance, and how quickly? You choose the move size, and the chart answers in both directions at once. Green bars above the line show the share of matched days that rose that far within a given number of days; red bars below show the share that fell that far.
By Touch vs By Close
Setting
What counts
Use it for
By Touch
Any intraday high or low that reached the level, even if price came back before the close
Path risk: stop-loss triggers or intraday margin
By Close
Only a daily close beyond the level
Settlement risk: holding-period targets or trend sustainability
Touch numbers are always equal to or higher than close numbers. A wide gap between the two flags heavy intraday movement that did not hold into the close.
3. Chart Log and the event register
The Chart Log shows the full price chart with every matched day marked, so you can see the wider context each time the same setup appeared. Below it, the event register lists every matched day with its date, the streak it had reached, and its forward return.
Any column sorts, which makes it easy to find the largest gains and worst drawdowns in the sample. Those extremes often matter more than the average when you are sizing a position.
The front page runs the same analysis across every ticker at once, so you can see which names are on a run without opening them one at a time.
Every ticker has a reading
There is no trigger here. Every stock closes on one side of its averages every day, so every row carries a count. The question is never whether a ticker qualifies, only how long its current run has lasted.
The trend columns
One count against the 5-day average and one against the 10-day, each with its side. Reading them together is the fastest way to separate a move running in both windows from one that has only just turned in the shorter one.
Price Projections
The same price projections from Chapter 4 appear here: avg green, avg red, and the odds, shown for next day, next week and next month.
Each figure is calculated from that ticker's own matched days. The numbers are therefore not comparable side to side in the way they look. Two rows both showing 56% are each describing their own stock.
Every column sorts. Sorting on either count puts the longest runs at the top, which is exactly where the sample behind the numbers is thinnest.