01One payload, one model
The Terminal makes exactly one data request per instrument and timeframe: a
series of closed bars. Everything on the panel — the verdict, the states, the
probabilities, the risk frame — is recomputed in your browser from that single
series by one deterministic engine. Nothing is fetched per panel, so no two
modules can ever disagree with each other or with the chart, and the same bars
always produce the same reading, on any machine, at any hour.
Only closed bars enter the model. The bar still forming is shown as the live
quote in the header, but it is excluded from every statistic: a probability
estimated on a bar that can still change is not an estimate, it is a guess
that updates against you.
02Location inside the band
The first question the model asks is where price sits relative to its own
recent behaviour. A rolling basis is taken over the 20-bar window shown in
the panel's model inputs, and the deviation of the close from that basis is
standardised into a z-score:
zt = ( Ct − μ20 ) / σ̂
C = close · μ = rolling basis · σ̂ = robust scale estimate
The scale estimate σ̂ is the part that matters. Ordinary standard deviation is
itself inflated by the very outliers a trader most needs to see, so the model
uses a heavy-tail-resistant estimator: a single violent bar widens an ordinary
band enough to hide the next violent bar, and the robust form does not let it.
The specific estimator and its correction factors are part of the calibrated
core. The ±1σ envelope drawn on the chart is this quantity made visible, and
a band break is simply |z| crossing a calibrated threshold.
03Pressure and trend
Two exponential moving averages — 21 and 55 bars, as shown on the chart legend
— carry the trend question. Each is the standard recursion:
EMAt = α·Pt + (1 − α)·EMAt−1, α = 2/(n+1)
the fast/slow separation, its slope, and price's side of each carry the local trend
Alongside them runs the pulse: a 0–10 oscillator, smoothed with a 3-period
Wilder average, that measures how much force the current move carries relative
to the instrument's own recent norm. Trend answers which way the tape
leans; pulse answers how hard it is leaning — and the model
treats those as separate questions, because a drifting market and a driving
market deserve different confidence even when they point the same way. How the
pulse is constructed from the raw series is proprietary.
04The blended verdict
The headline market score blends four legs: band location (02), the EMA
pressure balance and local trend (03), and the higher-timeframe bias read from
the last closed bar one rung up. The blend is a weighted sum,
S = Σ wi · legi , S ∈ [−1, +1]
the weights wi are the calibrated heart of the model and are not published
A score alone overstates itself, so it is disciplined by a confidence
multiplier: C = |S| × agreement × regime, where agreement measures
how far the internal and external legs point the same way and regime
scores whether the tape is currently tradeable at all. A strong score in a
dead tape therefore still reads as low confidence — by construction, not by
editorial judgement. The six-check setup grade beneath the verdict summarises
tactical alignment the same way; each check's pass condition is calibrated
privately.
05Eighteen market states
Every closed bar is placed into one of eighteen states: three grades of bias ×
three grades of volatility regime × two grades of sentiment. Bias asks whether
drift is real against the robust scale of step 02. Volatility compares the
current dispersion with the instrument's own long-run median — an instrument
is only ever volatile relative to itself. Sentiment asks a subtler
question: whether down-moves currently carry more volatility than up-moves,
sentiment ∝ σ− / σ+
downside semi-volatility against upside — a market can rise and be fearful at once
The three questions are kept separate precisely because they disagree in the
most informative moments. The boundaries that cut each axis into its grades
are calibrated per the model, not published.
06Conditional base rates
For every past bar that landed in the same state cell, the model already knows
how the next five bars resolved — the horizon shown in the model inputs. P(up)
is that historical frequency, treated with two corrections. Old regimes fade:
each observation is weighted by an exponential decay, so last year's market
votes less than last month's. And thin cells are shrunk toward the
instrument's own unconditional base rate:
p̂ = ( Σ wt·yt + κ·p0 ) / ( Σ wt + κ )
wt = decay weight · yt = outcome · p0 = unconditional base rate · κ = shrinkage strength
This is the classical Bayesian shrinkage form; the decay constant and κ are
calibrated privately. The consequence to read off the panel: the edge
— how far p̂ sits from p0 — carries the information, not the
headline percentage. A 55% in a coin-flip instrument is a reading; a 55% in an
instrument whose base rate is 54% is noise.
07Honest sample accounting
Five-bar outcomes measured on every bar overlap: consecutive observations
share four of their five bars, and autocorrelation correlates them further.
Counting them as independent would overstate the evidence several-fold, so
every quality gate in the Terminal runs on the effective sample size instead:
neff = ( Σ wt )² / Σ wt² × overlap haircut
the Kish effective-sample form, further reduced for overlapping horizons
This is why a cell showing hundreds of raw observations can still be flagged
thin, and why Not eligible is the normal reading on the sizing
module. The Terminal would rather tell you it does not know than dress a thin
sample as a statistic.
08Risk frame and the ceiling
Every reading ends with the price at which it would be wrong. Invalidation is
placed 1.25 × ATR(14) beyond the current bar's extreme, and the target at
twice that distance — a fixed 2R geometry that exists to make the read
falsifiable, not to tell you what to do. When, and only when, a state passes
the gates of step 07 — adequate effective sample, a 95% interval that excludes
the base rate, and a minimum count of recorded wins and losses — the panel
also shows a half-Kelly exposure ceiling:
f* = ½ · ( p − (1 − p)/b )
p = P(up) after shrinkage · b = reward-to-risk of the frame · halved for estimation error
Kelly is halved because estimated probabilities are not true probabilities,
and overbetting an estimate is ruin with better marketing. The ceiling is
context — an upper bound implied by the statistics — never a sizing
instruction. Nothing on this panel is financial advice; it is a measurement
system, and a measurement is only as honest as the caveats it keeps visible.