We found an edge in 4-hour chart patterns. Then we tested it properly.
In short
- Our 4-hour chart-pattern rule enters when a double top, head and shoulders, wedge, triangle or channel confirms on a candle close, with a stop beyond the pattern and a 2R target.
- On the 10 coins we built it on, it still beats random entries: +0.12R a trade against +0.05R.
- On 20 coins it had never seen, it makes +0.04R — the same as entering at random times (+0.04R).
- The edge over random was +0.11R in 2024, 0.00R in 2025 and −0.03R in 2026. It has faded.
- The lesson is not "patterns are useless". It is that one good backtest is not evidence, and that a random-entry control is the only honest yardstick.
In October we ran a backtest that looked like the first real edge we had found after months of testing popular trading ideas. Chart patterns on the 4-hour chart — double tops and bottoms, head and shoulders, wedges, triangles and channels — earned +0.24R per trade over 687 trades on data the rule had never been tuned on, with a 95% confidence range of +0.11 to +0.39R. Random entries with the same stops and targets earned about zero. We built a trading bot on it.
This article is the follow-up we owed that result: a wider, stricter test on 30 coins and almost three years of data. It is less exciting than the first one. It is also more useful, because it shows exactly how a convincing edge can fall apart — and how to catch it before your money does.
The rule, exactly
A backtest is only as good as the precision of its rule, so here is the one we tested. It is the same code our live bot runs, copied from the server rather than rewritten.
- Chart: 4-hour candles of Binance USDⓈ-M perpetual futures. The pattern detector looks only at the last 400 closed candles — never at the future.
- Patterns: double top and bottom, head and shoulders and its inverse, rising and falling wedges, ascending, descending and symmetrical triangles, rising and falling channels, and ranges.
- Entry: at market, on the close of the candle that confirms the pattern (for a double top: the first close below the neckline).
- Stop: just beyond the pattern — 0.2 ATR past its extreme, or 1.2 ATR for line-based patterns such as wedges, never closer than 0.25 ATR. The median stop was 7.7% from entry.
- Target: 2R (twice the distance to the stop). If neither is hit within 96 candles (16 days), the trade is closed at market.
- One trade per coin at a time, as the live bot does.
- Costs: Binance's standard fees (0.05% taker on market orders, 0.02% maker on resting targets) plus 0.01% slippage on each market fill. If a single candle touches both the stop and the target, we assume the stop was hit first.
Results are in R, the profit or loss of a trade measured in units of the amount risked. A trade that hits its 2R target returns about +2R minus fees; a full stop-out returns about −1R. Measuring in R means a coin's price or volatility doesn't distort the average.
The yardstick: random entries
For every real trade we also opened three "random twins" on the same coin: same direction, same stop distance measured in ATR, same 2R target and the same fees — but at a random moment in the data. If a rule's trades do no better than its twins, the pattern itself added nothing; whatever the rule earned came from the market's drift, the side it picked or the shape of the exits.
This control matters more than any other number in this article. In a falling market, almost any short makes money. A strategy that "works" only because it shorts during a downtrend will look brilliant in a backtest and fail the moment the trend turns. The twins expose that.
Result: built-on coins versus new coins
We tested the rule on the 10 coins it was originally built and checked on — BTC, ETH, SOL, XRP, BNB, DOGE, ADA, LINK, AVAX and SUI — and on 20 more large coins it had never seen, from March 2024 to November 2026: 1,603 trades in all.
Average result per trade, strategy against random entries
4H chart-pattern rule, 2R target, after fees · March 2024 – November 2026
Dots are the average R per trade; lines are 95% ranges from resampling whole trading days (trades on the same day tend to win or lose together, so resampling single trades would overstate the certainty).
Show the numbers as a table
| Group | Trades | Won | Strategy R | 95% range | Random R | Edge |
|---|---|---|---|---|---|---|
| The 10 coins it was built on | 513 | 44% | +0.116 | −0.01 to +0.25 | +0.049 | +0.067 |
| 20 coins it never saw | 1090 | 41% | +0.040 | −0.06 to +0.14 | +0.045 | −0.005 |
| All 30 coins | 1603 | 42% | +0.065 | −0.03 to +0.17 | +0.046 | +0.019 |
On its home coins, the rule still beats its random twins by about +0.07R per trade. That is a smaller gap than our first test suggested, but it is there.
On the 20 new coins, the gap is gone: +0.040R for the pattern trades against +0.045R for random entries. Twice as many trades, the same rule, the same fees — and no edge. When a result holds only on the data it was developed on, the most likely explanation is that the rule was fitted to that data, not to a real behaviour of the market.
Result: the edge over time
Average result per trade by year
All 30 coins · strategy against random entries
The pattern trades beat random clearly in 2024, matched it in 2025 and fell slightly behind in 2026.
Show the numbers as a table
| Year | Trades | Won | Strategy R | Random R | Edge |
|---|---|---|---|---|---|
| 2024 | 454 | 42% | +0.141 | +0.034 | +0.107 |
| 2025 | 600 | 42% | +0.041 | +0.043 | −0.002 |
| 2026 | 549 | 41% | +0.027 | +0.060 | −0.033 |
Split by year, the picture is the same. In 2024 the patterns beat random by +0.11R per trade. In 2025 the gap was 0.00R; in 2026 so far, −0.03R. Whatever the patterns captured in 2024 is not showing up now.
Cumulative result, all 30 coins
Total R from every pattern trade against the average of its random twins, month by month
Hover a month to see both totals. The strategy built its lead in 2024; since early 2025 the random line has risen as fast or faster.
Show the numbers as a table
| Month | Strategy (cumulative R) | Random (cumulative R) |
|---|---|---|
| 2024-05 | +6.5 | −10.1 |
| 2024-08 | +37.0 | +5.9 |
| 2024-11 | +60.7 | +11.3 |
| 2025-02 | +75.2 | +16.2 |
| 2025-05 | +65.3 | +23.0 |
| 2025-08 | +87.5 | +20.1 |
| 2025-11 | +103.1 | +36.8 |
| 2026-02 | +101.0 | +44.2 |
| 2026-05 | +96.0 | +58.5 |
| 2026-08 | +98.6 | +72.6 |
| 2026-11 | +103.5 | +73.6 |
The cumulative chart shows why a backtest can look good while the edge is small. Both lines rise, because over this period the side the rule picked — often short, in falling markets — tended to make money whether or not a pattern was present. The strategy ends ahead of random, but most of that lead was built in 2024.
Longs, shorts and pattern types
Longs earned −0.011R a trade (random: −0.022R); shorts earned +0.138R (random: +0.112R). Shorts look profitable — but random shorts were nearly as profitable. That is the market falling, not the pattern working.
Average result per trade by pattern type
Pattern types with at least 50 trades · all 30 coins
With a few dozen to a few hundred trades each, every pattern type's 95% range spans zero. None of them is a proven edge on its own.
Show the numbers as a table
| Pattern | Trades | Won | Strategy R | 95% range | Random R |
|---|---|---|---|---|---|
| Double top | 426 | 47% | +0.097 | −0.06 to +0.25 | +0.138 |
| Double bottom | 375 | 36% | −0.068 | −0.27 to +0.14 | −0.027 |
| Head & shoulders | 145 | 52% | +0.080 | −0.10 to +0.27 | +0.071 |
| Falling wedge | 120 | 42% | +0.209 | −0.08 to +0.52 | +0.037 |
| Inverse head & shoulders | 117 | 47% | +0.171 | −0.06 to +0.40 | −0.006 |
| Rising wedge | 85 | 41% | +0.195 | −0.16 to +0.55 | +0.106 |
| Descending triangle | 70 | 30% | −0.142 | −0.47 to +0.25 | −0.094 |
| Ascending triangle | 67 | 33% | −0.056 | −0.42 to +0.31 | −0.103 |
| Symmetrical triangle | 67 | 39% | +0.122 | −0.25 to +0.55 | +0.129 |
| Rising channel | 63 | 44% | +0.293 | −0.10 to +0.68 | +0.069 |
| Falling channel | 51 | 37% | +0.081 | −0.35 to +0.50 | +0.103 |
Some pattern types look better than others — inverse head and shoulders and falling wedges beat their random twins by more than 0.15R — but each has only one or two hundred trades, and every one of their ranges includes zero. Picking the best-looking types after the fact and calling them the strategy is exactly the mistake that produced our first, over-optimistic result. With 12 pattern types, a couple will look good by chance alone.
Why the first test looked so good
Nothing in the first test was fake. It used out-of-sample data — candles from January 2024 to February 2026 that the pattern detector had not been tuned on. But three things made it more optimistic than the truth:
- The same 10 coins. The detector's settings were developed while looking at charts of those coins. Out-of-sample in time is not out-of-sample in market.
- Many comparisons. Before the patterns, we had tested around 90 ideas: supply and demand zones, support and resistance, trendlines, confluence scores, candlesticks and more. If you test 90 ideas, a few will pass a 95% test by luck. The first one to pass deserves suspicion, not a bot.
- Trade overlap. The first test counted every signal. A real bot can hold only one trade per coin at a time, and the signals it is forced to skip are not random. When we replayed the live rule with one position per coin, the 10-coin result already dropped from +0.24R to +0.16R.
What this means if you trade chart patterns
- A pattern alone is not a reason to trade. On these 30 coins, entering on the confirmation close with a stop beyond the pattern did about as well as entering at a random time in the same direction. If you use patterns, use them as one input — location, trend and risk still decide whether the trade is worth taking.
- Direction did more work than shape. Shorts made money in a falling market whether or not a pattern was present. Know which way the higher timeframe is moving before you give a pattern credit for a winning trade.
- Test on coins you did not look at. If you build a rule by studying charts of BTC and ETH, test it on coins you never opened. If it only works where you developed it, it isn't working.
- Always compare to random. A backtest that reports a profit without a random-entry control tells you very little.
Limits of this test
Thirty large-cap coins over 32 months is a lot of trades, but it is one market type in one era. The pattern detector is ours; a different definition of a double top could behave differently. We tested one exit (stop beyond the pattern, 2R target); other exits are a separate question — see our test of exit rules, which found that exits rarely rescue an entry without an edge. Fees are Binance's standard rates; with lower fees every result here improves by about 0.01R.
What happens next
The rule keeps running, and every trade it takes from here is measured against the numbers above. If the next few hundred trades beat their random twins, we will say so here; if they don't, this article already explains why.
Method: 1,603 trades on 30 Binance USDⓈ-M perpetuals, 4H candles, 8 Mar 2024 – 4 Nov 2026. Signals walk forward bar by bar using the live server's pattern function. 3 random twins per trade. Confidence ranges from 2,000 bootstrap resamples of trading days.