Field guide
How to read a signal report
Every EtherSignals report, whether on Telegram, in the live feed or as a desktop alert, is the output of the same AI trend model. This guide explains where each number comes from and, more importantly, how to read it honestly. Five minutes here will save you from the most common misreadings.
1. Anatomy of a report
A report is a full snapshot of the model's view right now, so you never need earlier reports to interpret it. A typical Telegram push looks like this (illustrative values):
1[ETHUSDT] 5m regime update · price 2,440.542▼ Strong Down (score −0.510)32m −0.40 · 5m −0.51 · 30m −0.30 · 2h +0.10 · 1d +0.254Continuation (Win%): 58%5Patterns on close: MACD death cross 52%6R 2,489.7 (+2.0%) · PP 2,402.3 · S 2,405.7620d range 2,405.7 – 2,778.0 · BREAKOUT: inside
- 1Header: market (here ETHUSDT), the timeframe that triggered this report, and the current price.
- 2Signal line: the trend regime on the triggering timeframe, with its composite score. This is the headline.
- 3Five-timeframe board: the regime score on every tracked timeframe (2m, 5m, 30m, 2h, 1d). This is where confluence shows.
- 4Win%: how often this exact state continued historically. It is the most misread number in the report (see §4).
- 5Patterns: events that fired on the candle that just closed, each with its own hit-rate.
- 6Key levels: objective price levels, namely the pivot set and the 20-day Donchian range, plus whether price has broken out.
2. Trend regimes
The model classifies every timeframe into one of five regimes using the composite score (§3) plus a trend-strength gate (ADX):
| Regime | Icon | Condition |
|---|---|---|
| ↑↑ Strong Up | ↑↑ | score ≥ +0.42 and ADX ≥ 20 |
| ↑ Up | ↑ | score ≥ +0.16 |
| → Range | → | score between −0.16 and +0.16 |
| ↓ Down | ↓ | score ≤ −0.16 |
| ↓↓ Strong Down | ↓↓ | score ≤ −0.42 and ADX ≥ 20 |
You will notice that regimes never flip-flicker, and that is by design. Two dampers keep signals calm:
- Hysteresis band. Once a trend is established, it takes a narrower score move (past ±0.08 rather than ±0.16) to drop back to Range, so trends survive minor pullbacks.
- Confirmation candles. On the 2m and 5m charts a new regime must hold for two consecutive closed candles before it is confirmed (30m/2h/1d confirm on one).
Closed candles only
3. The model score
The score is a weighted average of nine indicator "votes", each ranging from −1 (bearish) to +1 (bullish):
score = Σ(weight × vote) / Σ(weight) ∈ [−1, +1]
| Indicator | Weight | What it looks at |
|---|---|---|
| EMA stack | 1.4 | Price vs EMA20/50/200 alignment |
| ADX / DMI | 1.4 | Trend direction × strength (weak trends barely vote) |
| MACD | 1.2 | Histogram momentum, ATR-normalised |
| SuperTrend | 1.2 | SuperTrend(10,3) direction, full vote on fresh flips |
| LinReg drift | 1.1 | 20-bar least-squares slope |
| Volume flow | 0.8 | Buy vs sell volume over the last 10 bars |
| RSI | 0.7 | Momentum position, capped when overbought/oversold |
| Bollinger %B | 0.6 | Position within the bands, discounted outside them |
| KDJ | 0.6 | Stochastic K−D cross |
Read the magnitude, not just the sign: |score| beyond ±0.4 marks conviction; values loitering near zero mean the timeframe genuinely has no edge right now. Weights are not fixed (see §7), and they are clamped so no single indicator can dominate.
4. Win%, read it right
Definition. The model replays roughly the last 300 closed candles. Each time the same regime appeared on this timeframe, it checked: did price actually move more than 0.5×ATR in the regime's direction within the next 3 candles? The decay-weighted share of hits (recent history counts more) is the Win%.
It is not a next-move probability
Three reading habits that keep you honest:
- Below 50% is normal. The denominator includes "no directional move within 3 candles" noise samples (~23%). In ranging markets every regime's Win% sinks together, which is the model honestly reporting that momentum has no edge.
- Compare longitudinally. Strong Down climbing from 25% → 45% tells you recent down-moves are following through more often. The trend of the number matters more than the level.
- Multi-timeframe confluence beats single rows. The 2m chart is close to noise by nature; the model's real value is Strong-tier filtering and alignment across 2m→1d.
Why you sometimes see “n/a”
5. Patterns
Patterns are events that fired on the candle that just closed; they appear and disappear as candles roll. Each carries its own historical hit-rate under the same 3-candle, 0.5×ATR rule.
| Pattern | Trigger | Direction |
|---|---|---|
| EMA bullish alignment | EMA20 > EMA50 > EMA200 | Bullish |
| EMA bearish alignment | EMA20 < EMA50 < EMA200 | Bearish |
| MACD golden cross | Histogram crosses above zero | Bullish |
| MACD death cross | Histogram crosses below zero | Bearish |
| SuperTrend flips bullish | SuperTrend flips to long | Bullish |
| SuperTrend flips bearish | SuperTrend flips to short | Bearish |
| RSI recovery | Previous bar < 30, current ≥ 30 | Bullish |
| RSI fading | Previous bar > 70, current ≤ 70 | Bearish |
| Donchian breakout | Close > highest of prior 20 bars | Bullish |
| Donchian breakdown | Close < lowest of prior 20 bars | Bearish |
| Bollinger squeeze | Bandwidth in lowest 15% of last 120 bars | Neutral (bets on expansion, not direction) |
The squeeze is different
6. Key levels
Levels come from two objective, formula-based methods, and nothing is fitted or hand-picked:
- Classic pivots: computed from the previous completed trading day's High/Low/Close, PP = (H+L+C)/3, with R1 to R3 and S1 to S3 derived from it. Best suited to intraday reference.
- Donchian-20: the highest high and lowest low of the last 20 closed daily candles. This is the key gate for day-level breakouts.
How to read the block:
- Resistance / Support: the nearest merged level above or below the current price. The percentage in parentheses is the distance to it.
- BREAKOUT / BREAKDOWN: price has moved beyond the 20-day high or low (a daily-level breakout in progress). inside means price is still within the range.
Pro tip
7. How the model improves itself
The nine indicator weights are not hand-tuned constants. Every trend call is later graded against what price actually did, and the weights learn from the outcomes at two speeds: a small online update per graded call, and a fuller replay-based adjustment every 15 minutes. It is a multiplicative "expert" scheme: indicators that were right get louder, wrong ones get quieter.
Six guardrails keep the learning scientific rather than lucky:
- Shrinkage prior: after every update, weights are pulled a little back toward their baseline, so they can't drift into over-fitted corners.
- Hard clamps: every weight stays within [0.3, 2.2], so no indicator can monopolise the score.
- Normalisation: average weight returns to 1.0 each round, so scores stay comparable across months.
- Sample thresholds: batch updates need at least 120 decisive samples per indicator, otherwise they are skipped.
- Time decay: statistics weight recent history exponentially more (half-life about 250 candles).
- Version library with rollback: every weight change is archived as a version with its own live track record. If the current version underperforms a historical one decisively, the model rolls itself back automatically.
8. Reading this site's feed
The live feed shows the same snapshot, structured. Field mapping:
| On this site | Report field | Meaning |
|---|---|---|
| Time | ts | When the model published the snapshot (shown in your local time) |
| Market | symbol + marketType | Pair and venue type (Perp or Spot) |
| Price | price | Latest price at push time |
| AI signal | timeframe + regime + score | The triggering timeframe, its regime, and composite score |
| 2m → 1d board | signals[] | All five timeframes' scores; the ring marks the trigger |
| Continuation | prob | Win% from §4, shown as “n/a” when samples are thin |
| Patterns | patterns[] | Events on the last closed candle (§5) |
| Key levels | levels | Resistance / PP / Support / 20-day range / breakout (§6) |
| As published on Telegram | message | The exact channel text, verbatim |
Open any row in the live feed to see the full breakdown for that signal.
9. Honest limitations
We'd rather publish the caveats than hide them:
- Samples correlate. Consecutive candles are highly related, so treat a stated sample of 100 more like 30 when judging confidence.
- Fitted to one market. The model learns on ETHUSDT perpetuals; behaviour on other symbols is not calibrated.
- The 2m chart is noise-limited. Direction on ultra-short timeframes is near-random; the value there is Strong-tier filtering and multi-timeframe confluence.
- Win% is history, not destiny. Markets change distribution, which is exactly why the statistics decay over time.
- And the standing one: EtherSignals is a research and educational project. Nothing here is financial advice, and signals can be plainly wrong. Never trade on them.
Questions about a specific field? The live feed exposes the same data via the public feed API, and the community discusses reports daily on Telegram.