Published
I wrote off volume reversal months ago. The idea: when volume spikes hard, price often snaps back, so you buy the spike-reversal and take a small profit on the way home. My bot ran it live and in paper tests. Win rate across every session: 7%. One in fourteen trades. I killed it in version 18 and told readers here it was dead. I meant it.
Then I audited my entire backtest archive β every result file I had on disk, 152,484 individual records across 1,400 pairs β looking for anything that actually survived real scrutiny instead of just looking good on a screenshot. Nine pairs cleared the bar. Two of them were running volume_reversal. The exact family I'd already buried.
The number I didn't expect to see again
BILLUSDT, same volume_reversal entry family, 142 trades: win rate 98.59%, profit factor 4.63. The rescue stats back it up rather than explain it away β dca1_rate 28.87%, meaning under a third of trades needed a DCA leg to close green, nowhere near the 65% DCA-dependency I've written about on other "winning" setups. fi_rate 0.70%: one trade out of 142 ever touched the real hard stop.
The second survivor, LABUSDT, same family again, 200 trades: win rate 86.5%, but profit factor only 1.51. dca1_rate 27.5% β almost identical rescue dependency to BILLUSDT. fi_rate 3.5% β five times more real stop-outs. Still above water. Barely.
Three numbers, one family name
7%. 98.59%. 86.5%. If all I had was the label volume_reversal, I'd have no way to guess which of those three I was looking at. The family name describes the entry logic β trade the snap-back after a volume spike. It says nothing about whether that logic makes money on a given coin, in a given window, with a given set of parameters attached to it. I've made the same point before about a single stop-loss parameter meaning different things on different coins. This is the same problem one level up β it's not just the parameter, it's the whole family's verdict that doesn't transfer.
My "killed" call wasn't wrong about what actually happened. My live config, on whatever pairs it was running at the time, really did lose at a 7% clip β that result is real and I'm not walking it back. But "volume reversal is dead" as a blanket sentence about the entire family was always claiming more than the data behind it supported. BILLUSDT's 98.59% says the entry logic itself isn't inherently broken. Pair selection and the specific parameter set are doing almost all of the work, in either direction.
What I'm not doing with this
I'm not suddenly trading BILLUSDT off this. 142 trades is enough to clear my viability screen, not enough to size real money against a profit factor as high as 4.63 β a handful of different fills could move that number a long way. LABUSDT's 200-trade, 1.51 profit factor is the more honest preview of what this family probably looks like once you average across more pairs: positive, survivable, nothing like BILLUSDT's outlier run.
What I do now
I stopped killing or trusting a strategy family as a single unit. A "dead" or "alive" verdict now only applies to the exact pair-and-parameter combination that produced it, not the family name attached to it. Before I write anything off β or get excited about anything β I run the actual numbers through the profit factor calculator and the win rate calculator myself. If a result can't survive being typed into a plain calculator and stared at for a minute, it wasn't a real edge to begin with β whatever family name it was wearing.