A friend asked me to build him something practical.
He follows a paid trading group. Private Discord, trade alerts, green screenshots, people post...
For further actions, you may consider blocking this person and/or reporting abuse
I ran the same audit from a different angle and hit the same wall.
Two Telegram signal channels, 300 signals, Nov 2025 - May 2026. Reported win rates: 78.9% and 76.3%. Numbers that look like edge.
When I tracked actual outcomes rather than the channel's receipts: profit factor on real signals collapsed to 1.57x. The same strategy on synthetic signals scored 10.79x. Average loss on real signals: -3.95%. On synthetic: -0.82%. Four and a half times worse, not reported anywhere in the channel.
2026 YTD on 288 signals: a baseline policy that trades every signal went to zero. Full wipe. The win rate the channel posts is real in the same way your green screenshots are real. It is the record of the moments the channel chose to report. Quiet is exactly where the losses live.
The only policy that survived 2026 was aggressive filtering: 10 trades taken out of 288 signals available. The filter was regime and confidence based, not channel trust based.
Your "receipts are not outcomes" ladder is the right frame. The channels are publishing receipt after receipt and calling the collection a track record. The outcome is what happens after the last update, and that is the part nobody posts.
I wrote up the full analysis, post will be later :)
The short version: 9,312 messages, 7 channels, 17 months, zero executed signals.
The funnel tells the story. Of 9,312 raw messages, 14.2% contained a parseable trade idea. Of those, 97.4% of all messages were stale by the time the pipeline tried to act. Of the signals that survived staleness, 82% turned out to be either post-trade result announcements ("TP1 hit") or locked teasers — subscription ads dressed as signals.
The result announcements are the exact mechanism you described. Channels flood the feed with win screenshots after the trade closes. That is not a track record. That is curation after the fact.
The actual measured win rate for the strongest channel was 46.6%, not the 78%+ they advertise. The gap between claimed and measured is partly survivorship bias and partly that the channel's "whale pump" framing pointed toward longs, while the actual edge in the data was in shorts: 54.7% win rate in 2025, 68.0% in 2026. The free tier was showing you the wrong direction.
Regime context was the only variable that made the data legible. Without tagging BTC regime at signal time, the 2026 long collapse looked like channel quality dropping. It was a regime shift. Any long-biased source would have suffered the same.
the 97.4 percent stale number is brutal and it's the part nobody models. people score signals as right or wrong, but the real third bucket is already gone, and it's most of them. by the time the pipeline can act, the moment that made it true is over.
the 82 percent being result announcements is the survivorship mechanism caught in the act. "TP1 hit" is the channel curating its own record in real time and the feed makes it read like live flow. you measured the exact thing i was only describing.
the one that gets me is the free tier pointing at longs while the edge was in shorts. that doesn't just leave the loss out, it points the wrong way for the person who can't see the regime. send the post when it's up, i want the full funnel breakdown.
It is up: dev.to/jugeni/a-published-win-rate...
You called the three things before I published them. The stale third bucket is most of the volume, the result-announcement flood is the curation caught in the act, and the free tier pointing at longs while the edge sat in shorts is the one I did not expect to find. That last one is the part I think generalizes past trading: a source can hold a real signal and still broadcast the wrong direction, because it never measures itself against anything it does not author. Full funnel and the per-direction breakdown are in the post.
read the whole thing. the wrong direction finding is the one that stays with me too, because it kills the last excuse. people assume a bad source is a lying source. yours held a real signal and still aimed the free tier the wrong way the entire time, and nothing in the channel could ever catch it because the channel never measured itself against anything it didnt author. your own line says it cleaner than i did, a footprint is a consequence the actor cant author, a screenshot is a record it authors completely. the 28 percent long against 68 percent short in 2026 is the part id frame loudest, because it proves the source wasnt random, it was confidently pointed at the losing side.
That 28/68 split is the one that surprised me too, because it's the cleanest way to see the channel wasn't underperforming, it was confidently wrong. A random oracle floats around 50/50 with noise. This one held a stable directional bias against the move the entire year. Whatever the signal actually measured, it was a real measurement of something that pointed the wrong way. That's a different kind of failure than "no edge" and it's the one a published win rate can never catch, because the win rate is computed on the side of the trade the channel chose.
Glad you read the whole thing. The footprint vs screenshot line was the one I wrote three times and only got right when I gave up trying to make it sound neutral.
This is basically the 97.2% coverage thing but for trading 😂 Same trap — you're measuring the stuff that survived, not the whole picture. "The visible record was not fake. It was incomplete." Yeah that one got me.
lol yeah it's the same shape, just meaner in trading. survivorship doesn't care what domain you put it in, you only ever see what made it through the filter. and here the filter is somebody's screenshot folder, so it's not even an honest selection effect. glad that line landed, it's the one i kept circling back to while i was pulling the data.
A screenshot folder as a 'selection filter' — that's grim but accurate. Respect for actually pulling the full data instead of just complaining about it 🙌
yeah its grim once you see it that way, the filter isnt even hiding, its just somebody's camera roll deciding what counts as the track record. pulling the data was the only way to stop arguing with myself about it though. opinions are cheap on this stuff, the funnel either survives or it doesnt. appreciate you 🙏