How we test patterns
The same fixed rules for every pattern. Nothing is tuned to make a pattern look better.
| Markets | Bitcoin (BTC/USDT on Binance, 4-hour candles, from August 2017) and a fixed list of 50 big US companies (daily candles, from 2016). |
|---|---|
| Finding patterns | Swings come from a zigzag on log prices: a move of 4% on Bitcoin and 5% on stocks. Smaller parts of a pattern (such as flags, pennants, handles and harmonic point D) use a finer zigzag: 2% on Bitcoin, 2.5% on stocks. Candlestick, gap and other candle-level setups are read straight from the candles. Each pattern has a fixed written definition that does not change to fit the results. |
| No look-ahead | A swing only counts once price has reversed enough to confirm it. The signal is the first candle close beyond the pattern line after that. If that close does not come within a set number of candles, or price breaks the pattern first, there is no trade. |
| The trade | Entry at that close. Each pattern has its own written stop and target, fixed before testing. Chart patterns put the stop beyond the pattern’s last swing and aim for the classic measured move. Candlestick patterns put the stop just past the pattern’s extreme (by a tenth of its range) and aim for twice its range. Harmonics aim for a 61.8% retracement of the A-D leg. The trade ends at the stop, at the target, or after a maximum holding time: 20 candles for most candlestick, gap and other candle-level setups, otherwise twice the pattern’s length (at least 20 candles). If the stop and the target are both inside one candle, the stop counts. |
| Costs | Every trade is the same size. No fees and no slippage, so real trading would do worse. |
| The fair comparison | For every trade we also work out the average return of entering the same stock (or Bitcoin) on any candle and holding for the same number of candles (sign flipped for shorts). In a decade-long bull market almost any long trade makes money, so a pattern only has an edge if it beats this random entry. |
| Verdicts | Use: average trade above +0.3% and better than the random entry in every market judged. Skip: the average trade is zero or negative in every market judged, or the pattern never beats the random entry. Caution: everything in between, such as beating the random entry in one market but not another. A market is only judged with 15 or more trades; smaller ones are shown but do not count. If no market has 15 trades, there is no verdict. |
| Reading the index | “Avg trade” is the average return per trade, averaged over the markets with 15 or more trades. “vs random” is that number minus the random entry. A pattern can lose money and still lose less than a random entry. That is not an edge: if it lost money in every market judged, it gets Skip. |
| Live odds | On the live pages, every setup gets six possible outcomes that add up to 100%. They are counted on that coin’s own 4-hour history: from every past candle, with the setup’s levels scaled to that candle’s close, we check which outcome came first within 14 and 30 days. A breakout needs a candle close beyond the level; stops and targets count when a high or low reaches them; if both are inside one candle, the stop counts. A coin with fewer than 2,000 past candles to start from gets no percentages, only the number of cases. The odds are fixed when the setup is first found and never updated afterwards. |
| Stale data | If a coin’s newest 4-hour candle closed more than 5 hours ago, at least one candle is missing. Its live page then shows a warning and hides the odds until the data catches up. |
| Known bias | The stock list was picked today and is made of companies that are big because they went up (survivorship bias). That flatters long patterns on stocks. The seven patterns tested first (six of them shown in the first two videos) keep their original numbers, so a handful of their trades (at most two each) had a target already behind the entry. Four of them (Head and Shoulders, Inverse Head and Shoulders, Double Top, Rising Wedge) were tested before the random-entry comparison existed; their verdicts use the older rule and the index shows no average or “vs random” for them. |