A popular strategy claims +257%. We tested it on three coins.
It uses the Ichimoku cloud, an ADX filter, a choppiness filter, and ATR-based pullback entries. The published result was +257% with a −27% drawdown. Run against 500 days of hourly data on ETH, BTC and SOL, it lost money on every market we tried.
The rules, exactly as published
Long when the conversion line is above the base line, and the cloud is green (span A above span B), and ADX is above 50, and the choppiness index is below 50. Short is the mirror. Enter with a limit order one ATR back from price rather than at market — waiting for a pullback. Stop at 2.5 ATR. Risk 3% of capital per trade. Exit when the conversion line flips back. The published version then multiplied position size by four.
How we tested it
500 days of hourly candles per market (plus a 4-hour run), OKX data. Ichimoku spans use the standard 26-period forward shift — the cloud as it actually appears on your chart, not the un-shifted version that would let the test see the future. Every signal is read from a closed bar and acted on the next one. Limit entries only fill if price genuinely traded through the limit while the signal was still valid. Costs of 0.06% per side.
Result: it lost on every market
| Market | Net | Max DD | Trades | Win rate |
|---|---|---|---|---|
| ETH · 1H · full rules | −0.1% | −24.6% | 137 | 40% |
| BTC · 1H · full rules | −30.3% | −31.3% | 148 | 35% |
| SOL · 1H · full rules | −27.8% | −47.1% | 140 | 31% |
| ETH · 4H · full rules | −14.1% | −28.5% | 51 | 37% |
The filters look like edge. They aren't.
Strip the ADX and choppiness filters out and the same strategy performs far worse:
| Market | Net | Max DD | Trades | Win rate |
|---|---|---|---|---|
| ETH · 1H · no filters | −48.7% | −64.4% | 312 | 35% |
| BTC · 1H · no filters | −79.0% | −81.5% | 327 | 31% |
| SOL · 1H · no filters | −39.9% | −53.8% | 312 | 36% |
So the filters help — which is exactly how they get justified. But look at what they actually did: on ETH they cut the trade count from 312 to 137. They didn't make the strategy smarter, they made it trade less of a losing system. Any filter that removes trades will improve a negative-expectancy strategy. That is not an edge; it is arithmetic.
Why the published number was so much better
Nothing here requires anyone to have been dishonest. Three ordinary choices produce this gap on their own:
One period. The result came from a single window on a single asset. We tested a different window on three assets — the first genuinely out-of-sample look the strategy has had.
Best-of-four timeframes. Four timeframes were run and the best was reported. If you test four and keep the winner, you should expect the winner to look good even when nothing works — that is what picking a maximum does.
Filters added until it turned green. The strategy was negative, then ADX was added, then choppiness, until the number went positive. Each addition was reasonable on its own. Together they are a search for a configuration that fits the past.
What is genuinely worth taking from it
The method around the strategy is better than the strategy. Two practices are worth copying by anyone building systems: run a significance test on your entry rules before building out sizing and exits, so you find out early whether there is any signal to work with; and run a Monte Carlo simulation afterwards to see whether your result sits in the middle of the distribution of plausible outcomes or suspiciously at the top. We are adding both to our own testing.
Our own results, for the record
We hold ourselves to the same standard. Seven strategies we ran with real money all lost, and one of our own backtests inflated a result by 11 percentage points before we caught the bug. We publish those the same way we publish this.
We test one strategy people swear by and publish whatever the data says — including when it says the strategy doesn't work. Free, no pitch.