In choppy regimes the effective threshold is raised automatically (×1.15 mixed, ×1.3 choppy) — the engine demands more evidence when the tape is noise. Decision support, not advice.
Engine validation
—
Walk-forward check (train 70% → test 30%)
Risk — Monte Carlo (500 reshuffles)
Reshuffling the trade sequence shows the drawdown range these same trades could produce in a different order — luck-adjusted risk.
Pattern analogs — k-NN forecast
—
The engine z-normalizes the last 2 hours of returns and scans every loaded historical window for the 40 most similar shapes, then shows what price did over the following hour in those cases: median path, middle-50% band. This is an empirical base rate, not a prophecy — treat the spread of the band as the honest uncertainty.
Score calibration — does the score mean anything?
Historical forward outcome (next hour) by score bucket, this dataset
Each bar: how often price was higher an hour later when the score was in that bucket. A score that "works" slopes from low on the left to high on the right; a flat line at ~50% means the score carries no edge on this tape.
RSI (14 × 5m)
Momentum, 0–100
MACD (12, 26, 9 × 5m)
Momentum & crossovers
MACDSignal
Recent signals
Engine fires under current rules · simulated outcome (1R target vs ATR stop, 3h max hold) · export all via CSV