Pattern Analysis
Every hour the scanner walks all 44 markets on the daily and 4-hour chart, finds chart and candlestick formations, and publishes a card for each one with the level that would trigger it, the measured target, the invalidation level — and how often that exact formation has actually worked before.
How often does each formation actually work?
Every detection the history above can produce was replayed forward. A setup counts as a win only if price reached the target before the invalidation level; if it did neither within 60 bars it is a timeout and is counted against the win rate.
| Formation | Rate | Outcome mix | Found | Triggered | Reached target | Stopped | Timed out | Avg R | Avg bars held |
|---|---|---|---|---|---|---|---|---|---|
Double Bottomchart | 70.2% | 31132 | 19882 | 13962 | 3549 | 2371 | +0.17 | 9 | |
Double Topchart | 66.8% | 31678 | 19047 | 12726 | 3874 | 2447 | +0.12 | 9 | |
Inverse Head & Shoulderschart | 69.8% | 6882 | 5147 | 3592 | 879 | 676 | +0.18 | 11 | |
Head & Shoulderschart | 66.1% | 6975 | 4951 | 3275 | 987 | 689 | +0.09 | 12 | |
Ascending Trianglechart | 64.4% | 9533 | 7180 | 4621 | 1106 | 1453 | +0.15 | 16 | |
Descending Trianglechart | 62.3% | 8715 | 6313 | 3930 | 1057 | 1326 | +0.12 | 16 | |
Bullish Engulfingcandle | 82.1% | 14623 | 11801 | 9693 | 2007 | 101 | +0.24 | 1 | |
Bearish Engulfingcandle | 82.5% | 14867 | 11598 | 9572 | 1979 | 47 | +0.24 | 1 | |
Hammercandle | 80.6% | 11848 | 8370 | 6749 | 1552 | 69 | +0.21 | 1 | |
Shooting Starcandle | 78.7% | 12432 | 8331 | 6560 | 1716 | 55 | +0.19 | 1 |
Sample too small to quote a rate (n < 20) · Prices: Yahoo Finance OHLC. Median coverage per market — daily bars 22.8 years, 1-hour bars 2 years. Two years is the intraday history Yahoo stores, so the hourly and 4-hour samples are the shallowest.
How these win rates were set
Two settings decide the number, and both are stated here rather than buried. Configuration was chosen on the older 60% of history and then re-measured on the newer 40% that the choice never saw — a setting that had been curve-fitted collapses on that second half.
Counting an entry only when the bar CLOSES through the trigger, not when a wick pokes through and closes back. This removes most false breakouts and is where nearly all of the improvement comes from.
The textbook measured move asks for 1.5–3x the risk and is not reachable that often. Halving the risk distance lifts the hit rate into the 70s. It is a trade, not free money: winners pay 0.5R, so R:R is 0.5 and the payoff per trade is smaller.
| Daily | in-sample | out-of-sample | avg R | sample |
|---|---|---|---|---|
| Daily | 75.5% | 75.4% | +0.188 | 13895 |
| 4-Hour | 75.0% | 75.5% | +0.189 | 8480 |
| Hourly | 73.7% | 74.3% | +0.187 | 39430 |
Even at 75%, roughly one in four still fails. These are historical hit rates on past prices with no costs or slippage, and the target being nearer is exactly why the rate is high.
What would this scanner have published?
The track record below can only start from the day this page went live. Until it fills up, here is the honest substitute: we walked the scanner forward bar by bar and let it publish only what it could actually see at that moment, then scored every card it produced. Nothing in this replay saw the future at the moment it published.
Replay window: 180 bars · Updates hourly
The hit rate counts only setups that actually triggered. "Never triggered" means price hit the invalidation level before it ever reached the entry, so no position would have been taken — those are excluded rather than counted as losses. Total R: 129.9 · avg R 0.16
| Market | Formation | Entry | Target | Result | R | Published |
|---|---|---|---|---|---|---|
| CopperD | Hammer | 6.4315 | 6.5345 | Target hit | +0.50 | 2026-09-16 |
| CardanoD | Hammer | 0.19608 | 0.20473 | Target hit | +0.50 | 2026-09-16 |
| DogecoinD | Hammer | 0.08087 | 0.08430 | Target hit | +0.50 | 2026-09-16 |
| BitcoinD | Bullish Engulfing | 78,163 | 80,138 | Target hit | +0.50 | 2026-09-14 |
| EthereumD | Shooting Star | 2514.41 | 2418.68 | Target hit | +0.50 | 2026-09-14 |
| GBP/USDD | Double Top | 1.3475 | 1.3348 | Target hit | +0.50 | 2026-09-13 |
| EUR/USDD | Double Top | 1.1567 | 1.1474 | Target hit | +0.50 | 2026-09-13 |
| NZD/USDD | Hammer | 0.58120 | 0.58643 | Invalidated | — | 2026-09-13 |
| AUD/NZDD | Shooting Star | 1.2306 | 1.2236 | Invalidated | — | 2026-09-13 |
| CAC 40D | Double Top | 8237.92 | 8068.57 | Target hit | +0.50 | 2026-09-11 |
| Nikkei 225D | Hammer | 64,011 | 65,051 | Target hit | +0.50 | 2026-09-11 |
| DogecoinD | Shooting Star | 0.08428 | 0.08039 | Target hit | +0.50 | 2026-09-11 |
| Natural GasD | Hammer | 2.8340 | 2.9294 | Target hit | +0.50 | 2026-09-10 |
| Nifty 50D | Hammer | 23,478 | 23,614 | Invalidated | — | 2026-09-10 |
| Nifty 50D | Head & Shoulders | 23,816 | 23,263 | Target hit | +0.50 | 2026-09-09 |
| EUR/AUDD | Bullish Engulfing | 1.6103 | 1.6151 | Target hit | +0.50 | 2026-09-08 |
| USD/MXND | Double Bottom | 17.0435 | 17.1829 | Target hit | +0.50 | 2026-09-08 |
| Euro Stoxx 50D | Double Bottom | 6498.45 | 6608.42 | Invalidated | — | 2026-09-07 |
| Hang SengD | Bearish Engulfing | 25,413 | 25,116 | Target hit | +0.50 | 2026-09-07 |
| ASX 200D | Double Bottom | 9220.60 | 9398.82 | Invalidated | — | 2026-09-07 |
| XRPD | Bearish Engulfing | 1.3978 | 1.3492 | Target hit | +0.50 | 2026-09-07 |
| USD/JPYD | Double Top | 158.05 | 156.46 | Target hit | +0.50 | 2026-09-06 |
| USD/CHFD | Double Top | 0.79480 | 0.78126 | Invalidated | — | 2026-09-06 |
| GBP/USDD | Double Bottom | 1.3675 | 1.3808 | Invalidated | — | 2026-09-06 |
A replay of a fixed rule set on past prices, not a live account. It excludes costs and slippage, and it reflects exactly the publication rules above — including the three-bar pivot lag.
What happened to setups we published
Cards are not deleted when they stop being live. Each one is scored on the outcome and kept here, so you can check the scanner against reality rather than taking its word for it.
| Market | Formation | Result | R | Held | Published |
|---|---|---|---|---|---|
| Ethereum Classic1H | Double Bottom | Target hit | +0.50 | 1 | 13m away |
| XRP1H | Double Bottom | Target hit | +0.50 | 2 | 2h away |
How the scanner works
The rules are fixed and mechanical. Nothing on this page is a human opinion, and nothing is tuned after the fact to look better.
- 1Formations are found from swing pivots (a high or low with three lower highs or higher lows on each side) and from candlestick shape. A pivot is only confirmed three bars after the extreme, so every card is published with that lag, never before.
- 2The target is the measured move: the height of the formation projected from the breakout level. The invalidation level sits one ATR beyond the opposite side of the formation.
- 3A setup is scored only from the first bar a trader could have acted on it — the bar after the formation became visible, which for pivot-based shapes is three bars after the extreme. Breakouts that happened in that gap are not credited, because nobody could have known the pattern existed yet. It wins if the target is touched before the invalidation level, loses if the invalidation level is touched first, and times out if neither happens within 60 bars. Timed-out setups are counted as not-wins.
- 4Success rates are measured market by market. A market with too few past occurrences falls back to the 44-market pool, and the card says so. Setups still open at the time of the scan are excluded, so the number is not flattered by unresolved trades.
- 5Rates are descriptive, not predictive. They are computed on the rules above, on past bars, with no costs, no slippage and no guarantee that the future resembles the past.
Prices: Yahoo Finance OHLC. Median coverage per market — daily bars 22.8 years, 1-hour bars 2 years. Two years is the intraday history Yahoo stores, so the hourly and 4-hour samples are the shallowest.
This is pattern recognition, not a recommendation. A formation with a 55% historical hit rate still fails almost half the time. Size positions and place stops yourself; nothing here is investment advice.