The vote
the voters that vote
as many voters as an opening
both
Equity (net ticks, one micro of GC)
RangeDaysTrades/dayNet ticksTicks/dayWinPFMax DDHold
The voters 19 on, 20 points
PointsVoterParametersWindow (UTC)Regime
EMA stack
trend
fast EMA 9 · mid EMA 26 · slow EMA 50
always
low
mid
high
EMA side
trend
EMA period 50
always
low
mid
high
EMA cross on the slow EMA's side
trend
bar minutes 15 · fast EMA 9 · slow EMA 26 · filter EMA 50
always
low
mid
high
MACD histogram
momentum
bar minutes 5 · fast EMA 12 · slow EMA 26 · signal EMA 9
always
low
mid
high
RSI side
momentum
bar minutes 10 · RSI period 14 · long above 55 · short under 45
always
low
mid
high
Delta-RSI turn with the RSI side
momentum
bar minutes 10 · RSI length 14 · D-RSI window 13 · signal length 9
always
low
mid
high
ADX direction
trend
bar minutes 5 · ADX period 14 · ADX above 20
always
low
mid
high
Session VWAP side
trend
dead band (ticks) 0
always
low
mid
high
Bollinger fade
reversion
period 20 · sigma 2
always
low
mid
high
Cumulative delta
flow
minutes 30 · share of the volume 0.05
always
low
mid
high
Volume climax reversal
reversion
volume multiple 3 · mean over bars 20 · stall (body per contract) 0.5 · rejection wick 0.4 · aggressors with the move 0.1 · vote for minutes 15 · RSI past 70 · RSI under 30 · RSI period 14
always
low
mid
high
Swing structure
trend
bar minutes 5 · lookback bars 20
always
low
mid
high
Supertrend
trend
bar minutes 5 · ATR period 10 · ATR multiple 3
always
low
mid
high
Donchian position
trend
minutes 60 · band (share of the range) 0.2
always
low
mid
high
Half-hour drive
momentum
minutes 30 · share of the range 0.6
always
low
mid
high
Opening-range break
session
London range 1 · New York range 1
always
low
mid
high
New York open's overnight state
session
—
always
low
mid
high
Overnight rule
session
share of the mean range 0.5
always
low
mid
high
Learned voter
learned
—
always
low
mid
high
Book imbalance
flow
minutes 5 · long at or above 0.6 · short at or under 0.4
always
low
mid
high
Order-flow imbalance
flow
minutes 30 · share of the absolute flow 0.1
always
low
mid
high
Big prints
flow
minutes 30 · share of the big-print volume 0.2
always
low
mid
high
Sweeps
flow
minutes 15 · net sweeps 3
always
low
mid
high
Absorption
reversion
volume multiple 2 · range at most (× mean) 0.5 · aggressors one-sided (share) 0.3 · vote for minutes 15 · mean over bars 20
always
low
mid
high
Pace burst
flow
volume multiple 3 · vote for minutes 10 · mean over bars 20
always
low
mid
high
Clock
clock
side (1 long, −1 short) -1
always
low
mid
high
Range break
momentum
minutes 30 · vote for minutes 15
always
low
mid
high
EMA bounce
trend
bar minutes 5 · fast EMA 9 · slow EMA 21 · tolerance (ticks) 10 · break (ticks past the slow EMA) 20 · hold (bars) 6 · with the stack only (1) or any side (0) 1
always
low
mid
high
EMA slope
trend
EMA period 50 · over bars 10 · share of the ATR 0.5
always
low
mid
high
Keltner channel
trend
EMA period 20 · ATR multiple 2 · with (1) or against (−1) 1
always
low
mid
high
Hourly RSI side
momentum
bar minutes 60 · RSI period 14 · long above 55 · short under 45
always
low
mid
high
Volatility break
momentum
range at least (× ATR) 3 · vote for minutes 15
always
low
mid
high
Stochastic
reversion
bar minutes 5 · %K period 14 · %D smoothing 3 · upper 80 · lower 20 · with (1) or against (−1) -1
always
low
mid
high
CCI
momentum
bar minutes 5 · period 20 · level 100 · with (1) or against (−1) 1
always
low
mid
high
Parabolic SAR
trend
bar minutes 5 · step 0.02 · max step 0.2
always
low
mid
high
Ichimoku
trend
bar minutes 5 · Tenkan 9 · Kijun 26 · Senkou B 52
always
low
mid
high
Efficiency ratio
trend
bar minutes 5 · over bars 20 · efficiency at least 0.5
always
low
mid
high
VWAP bands
reversion
σ multiple 2 · with (1) or against (−1) -1
always
low
mid
high
RSI divergence
reversion
bar minutes 5 · RSI period 14 · window (bars) 30 · RSI margin 3 · vote for minutes 30
always
low
mid
high
Previous session's levels
session
break (1), fade (−1), previous close's side (0) 0
always
low
mid
high
Engulfing bar
momentum
bar minutes 5 · body at least (× ATR) 0.5 · vote for minutes 30
always
low
mid
high
Session range position
session
upper share 0.9 · lower share 0.1 · after minutes of the session 120 · with (1) or against (−1) -1
always
low
mid
high
Volume profile value area
session
bin (ticks) 10 · value area share 0.7 · after minutes of the session 120 · with (1) or against (−1) -1
always
low
mid
high
Round level
reversion
level step (dollars) 50 · within ticks 20 · vote for minutes 15 · with (1) or against (−1) -1
always
low
mid
high
Delta divergence
flow
window (minutes) 30 · vote for minutes 30
always
low
mid
high
Opening gap
session
gap at least (ticks) 30 · for minutes 60 · fill (−1) or continuation (1) -1
always
low
mid
high
Session-close EMA side
trend
sessions 5
always
low
mid
high
A window is when the voter may vote (outside it abstains); the regime chips are the volatility regimes it votes in (the 1-minute ATR against the previous five sessions' mean: low under 0.75, high over 1.33). The parameters recompute that voter's votes (a few hundred milliseconds); everything else is instant.
Saved models keep several and compare them; any one can become the Consensus tab's settings
No saved models yet. Name the model in the form and save it; the table keeps its result per range.
Optimizer
idle
Oct–Dec 2025, the first quarter (the rest unseen)
ticks a day over the fitted months
Fitted on Oct 25, Nov 25, Dec 25; 2023 H1, 2023 H2, 2024 H1, 2024 H2, 2025 H1, 2025 H2, Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct 26 and the the final quarters are never seen by the search, so those columns are the honest ones. The fitness is the mean ticks a day over the fitted months. Click a row to load it into the form, then run the overfit check in the Checks tab on it.
Each voter alone fit every voter's parameters and window on the fitted months, judged on the others; then search the combination with "voter parameters" off
Is it overfit? the model in the form, tested two ways
nothing (a model made by hand)

Two tests, per range. Neighbours: every one-step change to the model (a voter's points up or down, its parameters to the next grid value, its window, its regimes, the shares, the holds, the stop) is run; a real edge is a hill, so most neighbours stay positive and the median stays near the model; a fit to noise is a spike, and its neighbours fall off. Placebo: the model is run with its voters' votes taken from other days (the same bar of another session, so the time of day stays and the day does not); the share of these shuffled worlds the model beats says whether its result is distinguishable from luck. The ranges the optimizer fitted on are marked; the unfitted ones are the ones that count.

Trade autopsy every trade of the model in the form: who held it, and what that cost
the worst first
Learned models
A small transformer over the last bars (every voter's vote at several parameter sets, the bar's readings, the clock) predicting whether the close is up or down by the threshold after the horizon. Trained on the train stage, early-stopped on the validate stage, its trading hours chosen there, read once on the test stage; the final stage is computed but hidden until you reveal it. Trained headless: node --max-old-space-size=16384 scripts/research/consensus-learn.ts --name <name> [--horizon 30 --threshold 8 --context 32 --variants 2 --d 48 --layers 2 --epochs 20]; this tab lists what was trained.
no learned model yet