TL;DR: the answer box
- As a group, the patterns did not beat chance on USDJPY. 4 of 260 rules passed. Random patterns passed 3.5 on the median, and 50% of 100 random sets passed 4 or more.
- "It made money" is the wrong test. 78 of 260 USDJPY rules made money after costs. Random patterns made money in 71 on the median.
- Most winners were simply long. 59 of the 78 money-making rules bought USDJPY. The USDJPY candle rose 87% over the window, and buying it on every day the test could trade, holding 4 bars, made 0.041% a trade after costs.
- Adding the Bearish IBS short doubled the long leg's worst drop. Red spinning top long plus Bearish IBS short made $69,588 together, but the worst drawdown was $20,400, against $9,712 for the red spinning top alone. Profit per dollar of worst drop fell from 4.78 to 3.41.
- One pattern did beat its random twin, but on ES, not the yen. Buying a weak close passed 5 rules on ES, and its random twin never reached 5 in 100 sets. On USDJPY it passed none.
What is a candlestick pattern, and how did I test it?
A candlestick shows one day of trading. The thick part, the body, runs from the open to the close. The thin lines, the wicks, reach to the day's high and low. Green means the day closed above its open. Red means it closed below.
A candlestick pattern is a shape with a name. A doji has almost no body. A hammer has a long lower wick. Traders read these shapes as clues about what comes next.
Two of the 13 are less known. IBS, internal bar strength, is where the close sits in the day's range, from 0 at the low to 1 at the high. Bullish IBS is a close in the top fifth of the range. Bearish IBS is a close in the bottom fifth: a weak close. Every pattern has an exact rule, listed in the reference table at the end. A pattern you cannot write as a rule cannot be tested.
The market. I don't hold a spot USDJPY file. I hold CME Japanese yen futures, which are quoted the other way up, in dollars per yen. So every daily bar is flipped into the USDJPY candle a forex trader sees. The trade goes into the futures with the direction mirrored: long USDJPY is short yen futures. One contract is 12,500,000 yen.
The rules. Each pattern was traded long and short. There were two ways in: buy at the next open, or buy only if price breaks past the pattern day's high or low the next day. There were five ways out: sell after 1, 2, 3 or 4 bars, or hold up to 12 bars with a stop and a target. That makes 260 rules on USDJPY. The same 260 ran on ES (S&P 500 futures) and SPY as a second view.
The fills: Execution rule v2. The pattern is read at the close, after the day is done. A market entry fills at the next open, long or short. A breakout entry fills on the next bar at its stop. A time exit closes the trade at a later open, and a stop or target fills at its price. One trade at a time. You can't trade a candle before it has finished, and this test doesn't either.
The pass test. Here is the key idea. For every rule I took the same trade on every eligible day, with no pattern at all. That is the base rate. A rule passes when it has at least 50 trades and beats its own base rate, after costs, by about two standard errors. In plain words: by a margin too big to shrug off as noise in one rule.
The luck test. Then I swapped each real pattern for a random one that fires on just as many days. I ran all 260 rules through the same pass test, and did that 100 times.
Try enough rules and some will pass by luck alone. The luck test counts how many.
Do candlestick patterns work on the USDJPY candlestick chart?
Not as a group. Four rules passed. Random patterns passed about as many.
Real candlestick patterns passed 4 rules. Random patterns passed 3.5 on the median. One random set in two did at least as well as the real thing.
Think of it like a metal detector on a beach. Sweep 260 squares and it will beep a few times, whatever is buried. Four beeps are not a find. A find is one spot that beeps again and again, more often than an empty beach would.
Making money is not the same as passing. 78 of 260 rules made money after costs. That sounds like a lot of edges. But random patterns made money in 71 rules on the median.
One of the 4 passing rules even lost money: -0.031% a trade after costs. It passed because its base rate lost more. A pass means the rule beat the same trade on every eligible day. It does not mean the rule pays.
Did the same test work better on other markets?
Best on ES. Weaker on SPY, and weakest on USDJPY.
The same 260 rules passed 10 times on ES, against a random median of 5. Only 10% of random sets reached 10. On USDJPY, 50% of random sets did as well as the real patterns. So the same test told real from random better on ES than on the yen.
Did any single pattern beat its random twin?
No. Here is every pattern, drawn, next to its result.
Look down the long column. The spinning top, red spinning top, hammer and bullish marubozu each made money in 9 of 10 long rules. Now look at the short column. Mostly dark.
Bearish IBS came closest to a real result. Its random twin matched its 2 passes in 6% of sets. That is still above 5%. And it is the best of 13 patterns, picked after the results were in. So 6% is the most flattering number on the page, not a fresh test.
Is the red spinning top an edge on USDJPY?
On this test, no. It made money only on the side of the trend, and 1 of 20 rules beat its base rate by two standard errors.
A red spinning top is a small red body with wicks on both sides. The day went up, went down, and closed a little below where it opened. Here is one trade, close to the typical trade for the rule "buy at the next open, sell 4 bars later".
The red spinning top closed on 2026-07-07. Its body was 18% of the day's range, with an upper wick of 33% and a lower wick of 50%. The trade bought USDJPY at the next open, 161.23, and sold at the open four bars after entry, 161.62. $188 on one contract. The median trade over all 277 was $156.
Nine of its ten long rules made money. That looks strong, until you check the base rate.
Over this window the USDJPY candle rose 87%. Buying at the next open on every day the test could trade, and holding 4 bars, made 0.041% a trade after costs. Selling the same way lost 0.066%. So a long rule could make money with no help from the pattern at all.
Across all patterns, 59 of 130 long rules made money. Only 19 of 130 short rules did. The red spinning top's one passing rule, the breakout entry held one bar, beat its base rate on 144 trades. Its random twin passed one or more rules in 28% of sets.
Does combining a long and a short pattern reduce drawdowns?
Not against the better leg. It added profit and doubled the red spinning top's worst drawdown.
A drawdown is the biggest drop from a high point. Traders often pair a long pattern with a short one, so each covers the other's bad spells. I tested the red spinning top long with Bearish IBS short. Both used one setting, fixed before I saw the results: enter at the next open (buy for the spinning top, sell for Bearish IBS), hold 4 bars. Not each leg's best cell.
The two legs barely moved together: the correlation of their monthly profit was -0.15. That is the reason to pair them. Here it did not cut the long leg's worst drop.
The short leg was weak on its own. It won 49.4% of its trades, with a profit factor of 1.08 and a worst drop of $22,225. (Profit factor is dollars won for each dollar lost.) Bolted onto the long leg, it lifted profit to $69,588 and cut profit per dollar of worst drop from 4.78 to 3.41.
Neither leg beat its base rate by two standard errors at this setting either. So neither half of the pair has a tested edge behind it. I did not run the pass test on the pair as one book.
Do direction and volatility filters improve the patterns?
Not here. No filter beat the plain rule's profit per dollar of worst drop on either leg.
A filter is one extra condition before a trade. I used the engine's two standard ones, read at the signal close. Direction: is the 100-day average higher than it was 10 bars ago? Volatility: is the average daily range, ATR(20), higher than it was 5 bars ago? ATR, or average true range, is a standard gauge of recent daily movement. That gives nine settings per leg, the plain rule included.
For the red spinning top, 0 of 8 filtered versions beat the plain rule's 4.23. For Bearish IBS, 0 of 8 beat its 1.02. Some filters lifted the profit factor, on fewer trades. But the "volatility rising" filter turned Bearish IBS short into a loser: -$15,419 on 340 trades. The filters sorted the trades into smaller piles. They did not find an edge.
Where does a candlestick pattern actually show up?
In this test, on ES and not on the yen. Buying a weak close passed 5 rules on ES and none on USDJPY.
Buy ES after it closes in the bottom fifth of its range. Five rules passed, all long, and the random twin never reached five in 100 sets. On SPY the same pattern passed 3 rules, and its twin matched that in 1% of sets. On USDJPY, the same trade passed 0 rules.
Same shape, three markets, three different answers. In stocks, buying a weak close passed rules on both ES and SPY. In the yen it passed none.
The verdict, and the honest limits
On daily USDJPY candles from 2002 to 2026, after costs, the 13 candlestick patterns did not beat chance. Four rules passed. Random patterns pass 3.5.
Where the belief is right: candlestick rules can make money on USDJPY. 78 of 260 did after costs. And one shape did beat its random twin: a weak close, bought on ES.
Where it is wrong: making money is not an edge. Random patterns made money in 71 rules on the median. Most winners were long, in a window where buying USDJPY on every day the test could trade, holding 4 bars, made money too. Pairing two patterns doubled the long leg's worst drop. No filter lifted profit per dollar of worst drop.
I know this trap from the inside. I lost roughly $270,000 early in my trading to overfitting and leverage. A few hundred untested combinations, with the winners picked out, is exactly how that starts.
The limits, in plain words:
- Yen futures, not spot. The USDJPY candle here is built from CME futures. A spot broker's daily candles differ a little, so your chart will not match every bar.
- Adjusted old prices. The futures history is stitched across contract rolls. Percent moves are exact, but early price levels and dollar amounts are scaled.
- No limit-order entry. Buying below the pattern day with a limit order was not tested. The engine has no limit-entry order yet.
- Daily, single candles only. Nothing here covers intraday charts or multi-candle patterns such as engulfing or morning star.
- Dollars without costs. The pass test is after costs. The dollar figures are not.
- One definition per shape. Each shape was coded with one set of thresholds. Other thresholds would fire on different days and would need the same luck test.
- A backtest is the past. It is the best evidence we have, not a promise.
What this means for you
- Count your passes against random ones first. If random patterns firing as often give you as many winners, your rules have not beaten the noise floor on that test.
- Test against the base rate, not against zero. On USDJPY, buying on every day the test could trade and holding 4 bars made money. A long pattern that "works" may only be long.
- Measure a long and short pair before you trust it to cut risk. This one doubled the long leg's worst drop.
- Run the luck test on the market you trade. The weak-close buy beat its random twin in all 100 sets on ES and passed nothing on USDJPY.
- Stress the trade list before real money goes in. That is what AlgoChef is for: import the trades from your platform and run a Monte Carlo reshuffle and an in-sample versus out-of-sample split.
A candle shows you what the day did. Whether it tells you about tomorrow is a question for a random control, not for the shape.
Reference tables
For readers who want the detail behind the charts.
Table 1. The 13 patterns, as coded
| Pattern | Rule | Signals on USDJPY | Share of days |
|---|---|---|---|
| Doji | body no more than 10% of the range | 631 | 10.1% |
| Long-legged doji | a doji with both wicks at least 30% of the range | 320 | 5.1% |
| Dragonfly doji | a doji with the upper wick no more than 10% of the range | 20 | 0.3% |
| Gravestone doji | a doji with the lower wick no more than 10% of the range | 12 | 0.2% |
| Spinning top | body over 10% and up to 30% of the range, both wicks at least 25% | 655 | 10.5% |
| Red spinning top | a spinning top that closes below its open | 345 | 5.5% |
| Green spinning top | a spinning top that closes above its open | 310 | 5.0% |
| Hammer | body over 10% of the range, lower wick at least 2x the body, upper wick no more than 10% | 115 | 1.8% |
| Shooting star | body over 10% of the range, upper wick at least 2x the body, lower wick no more than 10% | 71 | 1.1% |
| Bullish marubozu | closes above its open, body at least 90% of the range | 68 | 1.1% |
| Bearish marubozu | closes below its open, body at least 90% of the range | 35 | 0.6% |
| Bullish IBS | IBS at least 0.80: the close in the top fifth of the range | 1,392 | 22.3% |
| Bearish IBS | IBS at most 0.20: the close in the bottom fifth of the range | 998 | 16.0% |
These follow the textbook shapes in StockCharts' candlestick reference, with exact thresholds. Three fire fewer than 50 times in 24.63 years, so no rule built on them can pass.
Table 2. The four USDJPY rules that passed
| Rule | Trades | Mean per trade after costs | Base rate | t over base | Net profit (no costs) | Ret/DD | Profit factor |
|---|---|---|---|---|---|---|---|
| Bearish IBS, short, market entry, hold 1 | 853 | 0.017% | -0.036% | 2.87 | $34,881 | 2.12 | 1.17 |
| Bearish IBS, short, breakout entry, 12 bars, 1 ATR stop and target | 613 | -0.031% | -0.098% | 2.15 | -$8,058 | -0.26 | 0.97 |
| Red spinning top, long, breakout entry, hold 1 | 144 | 0.078% | 0.017% | 2.10 | $18,744 | 8.82 | 2.07 |
| Doji, short, breakout entry, hold 4 | 246 | 0.073% | -0.047% | 2.00 | $28,500 | 1.39 | 1.26 |
t over base is how many standard errors the rule's mean beats its base rate by. Ret/DD is net profit divided by the largest dollar drawdown.
Table 3. The two-pattern portfolio, legs alone (market entry, hold 4)
| Leg | Trades | Win rate | Average trade | Net profit | Max drawdown | Ret/DD | Profit factor | t over base |
|---|---|---|---|---|---|---|---|---|
| Red spinning top, long | 277 | 56.0% | $168 | $46,431 | $10,975 | 4.23 | 1.40 | 0.97 |
| Bearish IBS, short | 591 | 49.4% | $39 | $23,156 | $22,706 | 1.02 | 1.08 | 1.89 |
Max drawdown here is the engine's standard measure. The worst drops in the charts use profit booked at each exit, so the two differ.
Want the next study when it is finished, including the ones that overturn something traders believe? That is what the newsletter is for: StatOasis.com/Overfit
Methodology and honesty footer: 13 single-candle patterns in 260 rules per market on daily bars, 2002 to 2026: USDJPY through CME yen futures with the direction mirrored, plus ES and SPY. Execution rule v2 (pattern at the close, fill at the next open or on the next bar's stop). One position at a time, one contract on futures, SPY $35,000 in whole shares, no compounding. The pass test is after costs, at $16 a round turn on yen futures, and dollar figures are frictionless. Each market's pass count is set against 100 seeded sets of random patterns firing as often, and the honesty baselines (buy-and-hold and a seeded random control) are computed on the same bars. Every figure here comes from the study's own results tables. This is research, not investment advice.






