Method
Everything on this page is read from the same constant the engine executes. It is not a description of the method — it is the method.
The six conditions
4h trend
EMA21 and EMA50 separated by at least 0.1% of price.
trend_4h
Momento 4h
RSI14 outside the 45–55 band, on the side of the trend read.
momentum_4h
Funding em extremo
Funding above percentile 80 or below 20 of the last 30 days, with at least 30 observations.
funding_extreme
Open interest a divergir
24h open interest change with the opposite sign to the 24h price change. Zero does not count as divergence.
oi_divergence
Regime de volatilidade
ATR14, normalised as % of close, above percentile 60 of the last 90 days.
volatility_regime
Volume de 24h
24h volume above 1.5× the median of the previous 20 windows, excluding the current one.
volume_confirm
The three states
- No reading
- At most 1 condition met.
- Forming
- Between 2 and 3 conditions met.
- Watching
- 4 or more conditions met, data less than 120 seconds old and no degraded source. Only this state opens a ledger row.
Stale data or degraded sources cap the state, regardless of how many conditions are aligned. Six out of six over twenty-minute-old data is still six out of six over twenty-minute-old data.
The role of the AI
The AI signs each asset's official verdict from the deterministic evidence, and is subject to automatic verification before any text is published.
- — The AI receives the six conditions already evaluated by the deterministic engine. It never receives prices or series — it has no material to invent a target from.
- — The AI cannot assign the "watch" state to stale or degraded data, however many conditions are met. The engine, not the AI, rules on data quality.
- — Every number the AI writes has to exist in the evidence it received. A number with no match causes the entire verdict to be refused.
- — Conviction is ordinal — low, medium or high. Never a percentage.
- — Recommendation language, price targets, stops and movement predictions are refused by automatic verification, not merely requested in the prompt.
- — A refused verdict is replaced by the deterministic text, and the refusal is recorded and counted on this page.
- Model
- none
- Readings published
- 27686
- Signed by the model
- 0
- Refused by safety
- 0(0.0%)
Track record
Every reading in the watching state opens a row with a horizon of 48 hours. The result is written once and the database refuses any change afterwards.
5830 readings recorded, 1654 already resolved, 0 inherited from the previous engine.
See the full track recordLimitations
- This product describes what the data shows. It does not claim, and does not try to claim, any ability to predict prices.
- The engine that preceded this one was measured, out of sample, at a Sharpe of -0.22, a profit factor of 0.87 and a forward hit rate of 46.9% over 2,295 observations. Those observations are in this ledger, marked as legacy.
- No aggregate ledger statistic is presented as conclusive below 100 resolved observations.
- The conditions and thresholds were chosen for being conventional and readable, not for having been optimised over this market. Optimising them over the sample would be the fastest way to produce a pretty, false result.
- Trading costs, slippage and funding are not deducted from the ledger results: the ledger measures the price change over the horizon, not the return of a strategy.
Thresholds in force
Engine 1.0.0 · universe BTC, ETH, SOL, XRP, BNB, DOGE, ADA, AVAX, OP, ATOM, ENA, TAO, APT, ARB, ASTER, LINK, SUI, DOT, LTC, HYPE, ZEC, NEAR, ONDO, INJ, FET, VIRTUAL, PAXG, XAUT, AAPLX, TSLAX, NVDAX, GOOGLX, METAX, AMZNX, COINX, HOODX, MCDX, CRCLX, SPCXX
| Parameter | Value |
|---|---|
| trendSeparationMinPct | 0.1 |
| trendFastEma | 21 |
| trendSlowEma | 50 |
| rsiPeriod | 14 |
| rsiLowerBand | 45 |
| rsiUpperBand | 55 |
| fundingPercentileHigh | 80 |
| fundingPercentileLow | 20 |
| fundingMinimumSample | 30 |
| atrPeriod | 14 |
| atrPercentileMinimum | 60 |
| atrWindowBars | 540 |
| volumeMultiple | 1.5 |
| volumeWindowPeriods | 20 |
| volumeBarsPerDay | 6 |
| maxVenueCountDrift | 1 |