Two screenshots of the same chart indicator can show different event counts or historical percentages without either screenshot being wrong. The difference may be as simple as the bars that were available when each chart was calculated.
That point is easy to miss because a finished matrix looks like a stored report. It is not necessarily a permanent external database. A chart script can reconstruct its event ledger from the closed bars currently available to it. Change the sample boundary, chart, feed, timeframe, or calculation settings, and the reconstructed sample can change with them.
The honest comparison is therefore not “which screenshot has the correct percentage?” It is “did both screenshots measure the same events over the same available history, with the same rules and the same number of resolved records?”
The chart is a bounded reconstruction
A historical matrix begins with the bars the chart has loaded. The script processes those bars in order, confirms eligible structures, records qualifying events, and updates its counters as later bars arrive. What you see at the final bar is the result of that reconstruction.
Structure Participation Matrix follows this model. It waits for strict swing points to complete their full right-side confirmation delay. A break then requires a confirmed close beyond an armed swing plus the selected ATR buffer. At a scored break, four readings are frozen: path efficiency, final-close commitment, relative chart volume, and a close-location-weighted volume balance proxy.
The composite uses fixed weights of 30% PATH, 25% CLOSE, 25% REL VOL, and 20% BALANCE. That formula is not the main source of screenshot differences. The more important question here is which breaks reached the formula at all, which were excluded, and which had enough later bars to become resolved records.
If more historical bars become available, the reconstruction can include earlier pivots, armed levels, breaks, and outcomes that were absent from the shorter sample. The earliest part of the calculation may also have lacked enough preceding bars to form an indicator baseline or a complete measured leg. Adding history can make those early cases eligible without implying that the old screenshot was fabricated.
This does not mean every old record must change whenever the chart loads another bar. Once an event has been formed from the same closed bars under the same inputs, its frozen readings do not drift with later price action. The sample around that record can still grow as new events resolve or as earlier history becomes available.
Five states determine the denominator
Before interpreting a matrix row, separate five different objects that may appear on the chart.
- Eligible structure. A strict pivot must first be confirmed. An equal high or low is rejected, and the level cannot be used before its right-side delay has closed.
- Visible break. A confirmed close must pass the armed level plus the configured buffer. A wick alone does not create the event.
- Scored event. The completed structural leg must provide enough usable price and chart-volume history for all four readings. Only then can the event enter a frozen score bucket.
- Pending record. A newly scored event waits for its disclosed N-bar observation window. It is not yet part of a resolved HELD/FAILED count.
- Resolved record. After exactly N confirmed bars, the endpoint is checked once and fixed as HELD or FAILED. That record can then enter the historical bucket total.
These categories are not interchangeable. A visible break is not automatically a scored event. A scored event is not automatically resolved. A matrix percentage describes the resolved, scored records in its bucket—not every swing, every wick through a level, or every break label visible on the screen.
That distinction also explains why a recent screenshot can show a new break while its bucket count has not moved. The event may still be pending. It would be incorrect to classify it before the required endpoint bar exists.
For the narrower meaning of the later label, see Why a Fixed-Bar Endpoint Is Not a Trade Outcome. HELD and FAILED are neutral endpoint observations, not wins, losses, entries, exits, or strategy results.
UNSCORED is an exclusion, not a zero
Some breaks remain visible but are marked UNSCORED. One reason is an overlong structural leg: the opposite confirmed swing may sit beyond the configured maximum measurement reach. Another is missing or unusable reported/tick volume anywhere in the measured leg. In either case, a required component cannot be formed honestly.
The indicator does not replace the missing reading with zero. It preserves the existence of the break, marks the record UNSCORED, and excludes it from score-bucket statistics. This matters when comparing screenshots because two feeds or history windows may not supply identical usable volume coverage. Their visible breaks can overlap while their scored denominators differ.
REL VOL compares chart-reported or tick volume with a rolling baseline. BALANCE weights that same chart volume by close location as an OHLCV proxy. Neither field is order flow, bid/ask delta, footprint data, participant identity, or proof of institutional activity. The companion explainer Relative Volume Is Not Order Flow covers that data boundary in detail.
The panel also withholds a bucket percentage until the configured minimum number of resolved examples exists. Until then it says collecting. Crossing that display threshold does not turn the result into a forecast. It only means the historical row now contains enough resolved records to show its descriptive fraction under the selected rule.
Why one chart setting can change several stages
The loaded-history boundary is only one part of the sample definition. Other chart choices alter different stages of the reconstruction:
- Symbol and data feed change the actual OHLCV series, including whether usable reported/tick volume exists.
- Timeframe changes how raw activity is grouped into bars, where strict pivots form, when a close confirms a break, and how much clock time an N-bar window represents.
- Strict swing strength changes the pivot test and confirmation delay.
- Break buffer and ATR length change the distance a confirmed close must clear before a break qualifies.
- Maximum measured leg bars changes whether an older opposite swing can support a scored event.
- Close and volume windows change the observations frozen into the component readings.
- Outcome window N changes which later close supplies the endpoint and how long a new event remains pending.
- Minimum sample changes when a historical percentage is displayed, though it does not create or delete resolved events.
A comparison that changes several of these at once cannot isolate the cause of a different count. The responsible approach is to hold the setup constant, change one boundary or input, and describe the resulting matrix as a new sample.
Historical percentages remain descriptive under every setup. They are not probabilities for the next break, signal accuracy, win rates, or evidence of trading performance.
Display retention is not calculation history
Charts need limits on labels, lines, rails, and boxes so the screen remains readable. Structure Participation Matrix therefore has a maximum retained-events input for drawings. When an old label retires, that is a visual cleanup operation.
It does not erase the event’s already-computed contribution to the matrix while the underlying bars remain part of the loaded calculation. Turning a visual layer off also does not stop the event engine, counters, outcomes, or alerts. A chart showing only a handful of recent labels may legitimately report more resolved records in its table.
This is another common screenshot mistake: counting visible markers and expecting that number to equal the matrix denominator. The drawings answer “what is retained on screen?” The matrix answers “what has been calculated from the loaded closed-bar history under these inputs?”
A checklist for comparing two screenshots
Attach the following context before treating two matrices as comparable:
- Symbol and feed. Record the full market identifier, not only the asset nickname.
- Timeframe. Confirm that both charts aggregate bars the same way.
- Timestamp. Note the last confirmed bar shown. A later image may contain newly resolved records.
- Loaded-history boundary. Record the earliest available bar or another reproducible boundary. Do not assume two browser sessions loaded the same depth.
- Event inputs. Match swing strength, ATR settings, and break buffer.
- Measurement inputs. Match maximum leg bars, final-close window, and volume baseline.
- Outcome inputs. Match N and the minimum-sample threshold.
- Sample state. Report resolved counts together with pending and UNSCORED context.
- Display settings. Note retained drawings separately; do not use visible-label count as the denominator.
If those fields match and the numbers still differ, investigate the underlying bar feed and exact chart state before drawing a conclusion. A screenshot without its sample definition is evidence of what was displayed, but not enough evidence that another display is inconsistent.
FAQ
Can two honest screenshots show different percentages?
Yes. They can use different loaded-history boundaries, feeds, timestamps, timeframes, or inputs. Each percentage may correctly summarize its own resolved, scored sample.
Does loading more history rewrite a frozen event?
An event formed from the same closed bars and inputs keeps its frozen readings. More history can add earlier eligible records, supply previously unavailable warm-up context, or expand the surrounding sample.
Why does a new break not immediately increase a bucket count?
It may be UNSCORED, or it may be scored but still pending. Only a scored event with its N-bar endpoint available becomes a resolved bucket record.
Do more resolved events make the percentage predictive?
No. A larger sample changes the historical description and may reduce the influence of a few observations, but it does not establish future probability, signal accuracy, or profitability.
The full Structure Participation Matrix guide explains the confirmed-break ledger, component rail, endpoint record, and sample-aware panel. The free open-source TradingView script makes the calculation rules inspectable.
This is an analytical tool, not financial advice.