Every internal check said yes. Fresh data said no.
A classic candlestick setup, tested on a synthetic index: everything you can check on the data where it was found says it works. On 374 days we had never looked at, it loses.
The setup
- Instrument: TrendX 1200, a synthetic index from the broker Weltrade, on one-hour candles (H1).
- Signal: a hammer or a doji, then an engulfing candle that goes against the trend of the previous 6 candles.
- Trade: follow the engulfing candle's direction for one candle, then exit.
- Costs: a 0.74-point spread deducted from every trade. Slippage is not counted.
It is the kind of rule taught everywhere: a sign of indecision, then a strong candle that turns the trend. We spotted it by looking at the charts, and that is exactly the problem.
What we saw first
On the period where the pattern was spotted, from January 10, 2026 to August 1, 2026, the setup fired 69 times. Mean gain: +11.30 points per trade, 58.0% winning trades, t = +2.42. We then ran every check that is usually recommended:
| Check | Result | Verdict |
|---|---|---|
| 95% confidence interval (bootstrap) | [+2.33 ; +20.40] | above zero |
| Median versus mean | +18.23 vs +11.30 | not driven by a few big wins |
| Without the 3 best trades | +8.57 | still positive |
| Against the engulfing candle alone (no hammer or doji) | +13.63 (t = +2.68) | the pattern adds something |
| 69 random entries, 20,000 draws | p = 0.012 | chance rarely does as well |
| Trend measured on 12 or 24 candles instead of 6 | t = +2.26 ; +2.40 | not a tuning artefact |
| Sister indices TrendX 600 and TrendX 1800 | +18.24 (t = +1.71) ; +3.96 (t = +1.29) | same sign |
| First out-of-sample check, 30 locked days | +15.72, 70.0% winners, n = 10 | positive |
The last three rows were computed at the time on the original working set (broker quotes from January 10 to July 12, 2026, grouped into H1 candles); the others on H1 candles from the MT5 terminal. Gains are in price points, spread deducted.
Everything said yes. Even the first out-of-sample check, but on 10 trades, which proves nothing. We needed far more data that nobody had seen.
The test that decides
The broker's MT5 terminal goes back further than our working set: to January 1, 2025. The slice from January 1, 2025 to January 9, 2026, that is 374 days, had never been opened: no exploration, no tuning, not a glance. The rules were frozen before reading it, exactly as above.
Cumulative gain of the setup, trade after trade
Price points, spread deducted · shaded: the explored period · hover the line
See the numbers, month by month
| Month | Trades | Month gain | Cumulative |
|---|---|---|---|
| Jan 2025 | 15 | +16.8 | +16.8 |
| Feb 2025 | 12 | −237.6 | −220.9 |
| Mar 2025 | 14 | −344.7 | −565.6 |
| Apr 2025 | 14 | −9.3 | −574.9 |
| May 2025 | 5 | +59.9 | −515.0 |
| Jun 2025 | 14 | −191.0 | −706.0 |
| Jul 2025 | 18 | −59.7 | −765.7 |
| Aug 2025 | 13 | +148.8 | −616.8 |
| Sep 2025 | 9 | +99.5 | −517.3 |
| Oct 2025 | 19 | +128.2 | −389.2 |
| Nov 2025 | 9 | −160.2 | −549.4 |
| Dec 2025 | 14 | −195.5 | −744.9 |
| Jan 2026 | 9 | +38.8 | −706.1 |
| Feb 2026 | 12 | +235.8 | −470.3 |
| Mar 2026 | 12 | +203.0 | −267.2 |
| Apr 2026 | 6 | −113.3 | −380.5 |
| May 2026 | 13 | +239.2 | −141.4 |
| Jun 2026 | 5 | +151.1 | +9.7 |
| Jul 2026 | 15 | −7.0 | +2.7 |
Mean gain per trade with 95% confidence interval
The dot is the mean; the line covers 95% of bootstrap resamples · hover a row
See the table
| Window | Period | Trades | Mean gain | 95% CI | Win rate | t |
|---|---|---|---|---|---|---|
| Explored period | January 10, 2026 → August 1, 2026 | 69 | +11.30 | [+2.33 ; +20.40] | 58.0 % | +2.42 |
| Never-seen data | January 1, 2025 → January 9, 2026 | 159 | −4.89 | [−11.79 ; +2.06] | 50.3 % | −1.35 |
| Whole history | January 1, 2025 → August 1, 2026 | 228 | +0.01 | [−5.71 ; +5.74] | 52.6 % | 0.00 |
Why every check was wrong
Almost all of them ran on the window where the pattern was found; the only one that did not covered 10 trades. A pattern spotted by eye is, by construction, spotted where it works. Bootstrap, permutation, the median, dropping the best trades: they all measure luck inside that sample. None measures the luck of having picked that sample, and that pattern, among all the ones we looked at before.
The sister indices do not rescue anything either: they come from the same generator, over the same period. They are three looks at the same weeks.
The only check that counts is the simplest one: data you have never seen, with rules written in advance. That is what our name means.
Limits
- One synthetic instrument, on H1, with a one-candle exit. Exits after 3 and 5 candles are also negative on the
never-seen data (full output in
sortie_oos.txt). - On H4, the setup does not beat the engulfing candle alone; on D1, too few signals to conclude.
- Our fresh data is older than the explored period, not newer: a change in the index's behaviour in 2026 cannot be ruled out.
- Fixed 0.74-point spread; slippage and financing costs are not counted, which could only make the result worse.
- A different definition of the hammer or the engulfing candle would give different numbers, and would need its own never-seen data.
What would change our mind
The same setup, with the same frozen rules, on data after August 1, 2026, with a confidence interval entirely above zero. We will run that test and publish the result, whatever it is.
Redo the computation
- Data: TrendX 1200 on H1 from the broker's MT5 terminal, January 1, 2025 to August 1, 2026 (13,845 candles); the boundary between the two periods is January 10, 2026.
- Method: 20,000 draws for the random-entry test and 4,000 bootstrap resamples for the intervals; seeds fixed and published with the results.
- Files:
construire.pyrecomputes everything from the data;resultats.jsonholds every number on this page;sortie_oos.txtis the raw output of the original test, re-run unchanged. The code will be published with the Norvane Research studies repository.