Crypto trading ideas, tested on real data — and published either way

We found an edge in 4-hour chart patterns. Then we tested it properly.

NexusCore Research · 7 Nov 2026 · 11 min read

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.

Advertisement

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

StrategyRandom entries (control)lines = 95% range
The 10 coins it was built on513 trades · 44% won
Strategy: +0.116R per trade · 95% range −0.01 to +0.25 · 513 trades
Random: +0.049R per trade · 95% range −0.01 to +0.11
20 coins it never saw1090 trades · 41% won
Strategy: +0.040R per trade · 95% range −0.06 to +0.14 · 1090 trades
Random: +0.045R per trade · 95% range 0.00 to +0.09
All 30 coins1603 trades · 42% won
Strategy: +0.065R per trade · 95% range −0.03 to +0.17 · 1603 trades
Random: +0.046R per trade · 95% range +0.01 to +0.08
−0.2R−0.1R0R+0.1R+0.2R+0.3R

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
GroupTradesWonStrategy R95% rangeRandom REdge
The 10 coins it was built on51344%+0.116−0.01 to +0.25+0.049+0.067
20 coins it never saw109041%+0.040−0.06 to +0.14+0.045−0.005
All 30 coins160342%+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

StrategyRandom entries (control)lines = 95% range
2024454 trades · 42% won
Strategy: +0.141R per trade · 95% range −0.03 to +0.31 · 454 trades
Random: +0.034R per trade · 95% range −0.05 to +0.11
2025600 trades · 42% won
Strategy: +0.041R per trade · 95% range −0.11 to +0.20 · 600 trades
Random: +0.043R per trade · 95% range −0.01 to +0.10
2026 (to Nov)549 trades · 41% won
Strategy: +0.027R per trade · 95% range −0.15 to +0.20 · 549 trades
Random: +0.060R per trade · 95% range 0.00 to +0.12
−0.2R−0.1R0R+0.1R+0.2R+0.3R

The pattern trades beat random clearly in 2024, matched it in 2025 and fell slightly behind in 2026.

Show the numbers as a table
YearTradesWonStrategy RRandom REdge
202445442%+0.141+0.034+0.107
202560042%+0.041+0.043−0.002
202654941%+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

StrategyRandom entries (control)
-250+25+50+75+100+125202420252026 Strategy +103RRandom +74R Mar 2024 · strategy +8.0R · random −7.3R (cumulative) Apr 2024 · strategy +7.9R · random −6.9R (cumulative) May 2024 · strategy +6.5R · random −10.1R (cumulative) Jun 2024 · strategy +23.8R · random −3.8R (cumulative) Jul 2024 · strategy +34.1R · random −6.2R (cumulative) Aug 2024 · strategy +37.0R · random +5.9R (cumulative) Sept 2024 · strategy +42.0R · random +8.5R (cumulative) Oct 2024 · strategy +35.5R · random +14.0R (cumulative) Nov 2024 · strategy +60.7R · random +11.3R (cumulative) Dec 2024 · strategy +64.2R · random +15.2R (cumulative) Jan 2025 · strategy +67.6R · random +15.3R (cumulative) Feb 2025 · strategy +75.2R · random +16.2R (cumulative) Mar 2025 · strategy +64.1R · random +16.5R (cumulative) Apr 2025 · strategy +54.0R · random +23.8R (cumulative) May 2025 · strategy +65.3R · random +23.0R (cumulative) Jun 2025 · strategy +61.3R · random +20.7R (cumulative) Jul 2025 · strategy +96.5R · random +25.3R (cumulative) Aug 2025 · strategy +87.5R · random +20.1R (cumulative) Sept 2025 · strategy +88.7R · random +21.1R (cumulative) Oct 2025 · strategy +103.2R · random +30.6R (cumulative) Nov 2025 · strategy +103.1R · random +36.8R (cumulative) Dec 2025 · strategy +88.9R · random +40.8R (cumulative) Jan 2026 · strategy +107.7R · random +39.3R (cumulative) Feb 2026 · strategy +101.0R · random +44.2R (cumulative) Mar 2026 · strategy +79.7R · random +44.3R (cumulative) Apr 2026 · strategy +55.0R · random +52.1R (cumulative) May 2026 · strategy +96.0R · random +58.5R (cumulative) Jun 2026 · strategy +94.3R · random +56.7R (cumulative) Jul 2026 · strategy +98.3R · random +62.1R (cumulative) Aug 2026 · strategy +98.6R · random +72.6R (cumulative) Sept 2026 · strategy +113.9R · random +71.3R (cumulative) Oct 2026 · strategy +104.1R · random +73.1R (cumulative) Nov 2026 · strategy +103.5R · random +73.6R (cumulative)

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
MonthStrategy (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

StrategyRandom entries (control)lines = 95% range
Double top426 trades · 47% won
Strategy: +0.097R per trade · 95% range −0.06 to +0.25 · 426 trades
Random: +0.138R per trade · 95% range +0.07 to +0.20
Double bottom375 trades · 36% won
Strategy: −0.068R per trade · 95% range −0.27 to +0.14 · 375 trades
Random: −0.027R per trade · 95% range −0.10 to +0.05
Head & shoulders145 trades · 52% won
Strategy: +0.080R per trade · 95% range −0.10 to +0.27 · 145 trades
Random: +0.071R per trade · 95% range −0.03 to +0.16
Falling wedge120 trades · 42% won
Strategy: +0.209R per trade · 95% range −0.08 to +0.52 · 120 trades
Random: +0.037R per trade · 95% range −0.12 to +0.19
Inverse head & shoulders117 trades · 47% won
Strategy: +0.171R per trade · 95% range −0.06 to +0.40 · 117 trades
Random: −0.006R per trade · 95% range −0.12 to +0.11
Rising wedge85 trades · 41% won
Strategy: +0.195R per trade · 95% range −0.16 to +0.55 · 85 trades
Random: +0.106R per trade · 95% range −0.09 to +0.32
Descending triangle70 trades · 30% won
Strategy: −0.142R per trade · 95% range −0.47 to +0.25 · 70 trades
Random: −0.094R per trade · 95% range −0.30 to +0.11
Ascending triangle67 trades · 33% won
Strategy: −0.056R per trade · 95% range −0.42 to +0.31 · 67 trades
Random: −0.103R per trade · 95% range −0.31 to +0.12
Symmetrical triangle67 trades · 39% won
Strategy: +0.122R per trade · 95% range −0.25 to +0.55 · 67 trades
Random: +0.129R per trade · 95% range −0.06 to +0.32
Rising channel63 trades · 44% won
Strategy: +0.293R per trade · 95% range −0.10 to +0.68 · 63 trades
Random: +0.069R per trade · 95% range −0.12 to +0.25
Falling channel51 trades · 37% won
Strategy: +0.081R per trade · 95% range −0.35 to +0.50 · 51 trades
Random: +0.103R per trade · 95% range −0.11 to +0.33
−0.4R−0.2R0R+0.2R+0.4R+0.6R

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
PatternTradesWonStrategy R95% rangeRandom R
Double top42647%+0.097−0.06 to +0.25+0.138
Double bottom37536%−0.068−0.27 to +0.14−0.027
Head & shoulders14552%+0.080−0.10 to +0.27+0.071
Falling wedge12042%+0.209−0.08 to +0.52+0.037
Inverse head & shoulders11747%+0.171−0.06 to +0.40−0.006
Rising wedge8541%+0.195−0.16 to +0.55+0.106
Descending triangle7030%−0.142−0.47 to +0.25−0.094
Ascending triangle6733%−0.056−0.42 to +0.31−0.103
Symmetrical triangle6739%+0.122−0.25 to +0.55+0.129
Rising channel6344%+0.293−0.10 to +0.68+0.069
Falling channel5137%+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.

Advertisement

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:

  1. 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.
  2. 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.
  3. 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.

Not financial advice. These are historical backtests. They describe how a rule would have behaved on past data, with the assumptions listed above; future markets can behave differently.