How we grade our own calls
Every rule below makes the published number lower. That is the point.
Search "best AI trading tool" and you get tables of products scoring each other. Almost none of them show the trades. "Scored highest" is a sentence anyone can write about themselves, and most of the sites writing it sell one of the tools in the table.
So here is the other kind of claim. TradeRead's bot publishes crypto analyses on a fixed schedule over a fixed rotation of tickers. An automated job re-reads every one of them against exchange candles every hour and records what happened. Below is exactly how that grading works — chosen, in every case where there was a choice, in the direction that costs the record rather than flatters it.
Five rules that cost us
1. A setup triggers on a candle CLOSE, not a touch
An analysis says "confirmation above 0.9350". Price wicking through that level does not count. A candle has to close beyond it.
The cheaper choice would be to count the touch: far more setups activate, and the ones that spike and reverse can be quietly dropped as noise. Closing confirmation means fewer trades and no such escape hatch.
2. Entry is recorded at that close — which is worse than the level
A candle that closes beyond the level closes some distance past it. The record uses that close as the entry price, not the level the analysis published. Every trade therefore starts slightly worse than the text implies, and the record carries that cost instead of hiding it.
Sometimes that close has already happened when the analysis goes out: the setup is live the moment it is published. Waiting for the next close would let price run toward the target first and then count the target. So the entry is the price at the minute of publication, and the call is checked from that minute on.
The other way round: one candle sometimes runs through the confirmation and Target 1 at once. The entry at its close is then already past Target 1, which can no longer be reached after it — so Target 1 does not count, and the call is judged on Target 2 and the stop.
3. Targets and stops count on a touch — and a tie is a loss
Once a setup is live, a target counts when price trades at it, and so does the stop: a wick through the invalidation is a loss, even where the analysis wrote "a close below". That is how real orders fill — a take-profit when price gets there, a stop-loss the moment it is touched — and for the stop it is the stricter reading.
When one candle reaches both, nobody can prove from the candle which came first. Resolving that ambiguity in our own favour would be free and undetectable. It resolves as a loss.
4. Setups that never trigger expire — and stay visible
Of 135 analyses published under the current methodology, 22 expired without ever triggering. They are excluded from the hit rate, because no position was ever opened — but they are not deleted. They sit in the ledger, and the gap between "published" and "decided" is on the page.
5. Neutral reads are shelved separately
Some analyses publish both directions. One side triggers by construction, which makes them look far better than a directional call. There are 77 of those, and they are kept on their own shelf at 71.1% — never blended into the headline.
The method we abandoned is still on the site
Until 9 July 2026 the analyses used a different output format, with limit-entry setups. It was discontinued because it did not work well enough.
Its score was 34.2% across 83 published calls, and it is still published, labelled, on the track record page.
Deleting it would take one line of code. It stays because a record that only contains the method that worked is not a record.
The current numbers, in full
Published, wins, losses and the hit rate are read live from the record. The remaining rows are a snapshot taken on 21 September 2026 — the bot keeps publishing, so treat them as of that date and take the ledger as authoritative.
| Published since 9 July 2026 | 180 |
| Triggered | 118 |
| Decided (win or loss) | 109 |
| Reached target 1 | 104 |
| …of which ran to target 2 | 44 (56%) |
| Stopped out | 43 |
| Expired without triggering | 22 |
| Hit rate | 70.7% |
The hit rate is wins divided by decided calls — 79 of 109. It is not 79 of 135: the 22 that never triggered were never trades, and saying otherwise in either direction would be wrong.
Check it yourself
The track record carries the full timestamped ledger: every published read in order, the levels the verifier parsed and what happened. Open calls and expired ones are in it too.
The same data is served as JSON at
/api/track-record, and the
methodology page lists the data sources. The
candles come from public exchange APIs, so any disagreement is settleable.
If you find something wrong in there, we would rather hear it than not. The changelog below exists because it has happened.
Verifier changelog
When the way the verifier reads published calls changes — a parser fix, a rule that applies to every read — each call whose result moved is listed here with the old reading, the new one and the reason. Nothing is applied silently, and the analysis text itself is never edited.
- Loading…
What the number does not mean
A hit rate is how often a call reached its first target before its invalidation. It is not a return: targets sit at different distances, position sizing is the reader's, and fees are not in it. A high hit rate with tight targets and wide stops can still lose money.
These are published analyses, not investment advice, and they do not account for anyone's circumstances. See the disclaimer.
Published by TradeRead AI — what this is · the investor read · the record