ATMResearch
Join Overfit - free
Overfit cover card: a flat screen-print poster of one dark price candle breaking a horizontal rule on a burnt-orange field, with a scatter of smaller identical candles drifting up to the right. Kicker 'Crabel thrust patterns', headline 'Random entries matched it on half the markets.', the line 'Toby Crabel's up and down thrust patterns, retested 17,424 ways. The pattern is real. The edge is mostly drift.', and a corner badge reading '8 markets, 17,424 backtests'.
  1. Overfit/
  2. Research/
  3. Toby Crabel's Thrust Patterns: 17,424 Backtests. Random Entries Matched the Up Thrust on Half the Markets

July 23, 2024

Toby Crabel's Thrust Patterns: 17,424 Backtests. Random Entries Matched the Up Thrust on Half the Markets

Share

11 min read

Written by Ali Casey, founder of StatOasis and AlgoChef, creator of the Algo Trading Masterclass (ATM), with over 10 years of experience building systematic trading tools - building algorithmic strategies, testing ideas with data, and teaching traders how to build structured, portfolio-based trading workflows.

Published July 23, 2024 · Updated September 17, 2026 · Method

← Back to Research
Table of contents▾
  • TL;DR: the answer box
  • How we tested
  • Finding 1: What is Toby Crabel's up thrust pattern, and what does one look like?
  • Finding 2: Does a thrust predict anything, or is it just the market going up?
  • Finding 3: Would random entries have done just as well?
  • Finding 4: Do the three published settings hold up?
  • Finding 5: What does the RSI(2) exit actually buy you?
  • Finding 6: Which side, which market, and do the filters help?
  • The verdict, and the honest limits
  • What this means for you
  • Methodology
  • FAQs

The short version

Toby Crabel's up and down thrust patterns come with rules, working EasyLanguage, three parameter settings and a pair of equity curves. What they almost never come with is a measured statistic. I ran both patterns 17,424 ways across eight markets. They are real, they do make money on stock indexes, and for the headline up-thrust long at its 10-bar hold, a random entry with the same holding period made more on 4 of the 8 markets.

TL;DR: the answer box

  • The pattern works, and mostly because the market rose. After 1,182 up thrusts the next 10 bars averaged +0.39%. An average day in the same eight markets averaged +0.29%. The pattern's own contribution is 0.09 percentage points, and at a 20-bar hold it turns negative.
  • Random entries match it. Given the same market, the same 10-bar hold and the same number of entries, a seeded coin flip beat the up-thrust long on 4 of 8 markets. Only 1 of 8 cleared the control's own spread by more than two standard deviations.
  • Pooled across the eight markets, the bearish pattern pays to the upside. The down thrust, the one that is supposed to signal a decline, returned +0.94% over 20 bars against +0.42% for an average day. Traded short, it was profitable in 47.8% of 938 reliable settings. That is a coin flip.
  • The RSI(2) exit buys a win rate reliably and money unreliably. Across 4,251 paired tests it lifted the median win rate from 50.0% to 62.3% in 98.3% of pairs, and improved net profit in only 53.9%, while cutting the median trade from 5.00 bars to 4.08.
  • The published settings are mid-table. Ranked inside the 225-combination space they were chosen from, the three settings sit at a median rank of 81 of 225. One ranks 5th of 225 on 25 trades. One ranks last of 225.

How we tested

Daily bars, eight markets, one pattern library, no exceptions made for any of them.

Two index futures, E-mini S&P 500 (ES) and E-mini Nasdaq 100 (NQ), from 2007. Four index ETFs: SPY back to 1993 (8,398 bars, 33.4 years), QQQ, DIA and IWM. Then natural gas (NG) and Japanese yen (JY) futures, which are in here on purpose. A price pattern that only works on stock indexes is not a price pattern; it is a way of being long stocks. That is a testable difference and this is the test.

The pattern is Crabel's, as I described it in 2024 and as the EasyLanguage in that article implemented it. A pivot high is a bar whose high stands above the bars either side of it: 4 to its left and 2 to its right in the headline setting. Later, a bar opens above that pivot high, closes below each of the previous two closes, and closes in the lower half of its own range. Buy the next open. The down thrust is the exact mirror on a pivot low.

Almost nobody has tested any of this in public. The closest is QuantifiedStrategies' NR7 backtest, which covers a different Crabel pattern on a smaller market set and reports performance without a drift baseline, so a positive result there cannot be separated from a market that rose. That gap is the reason for this rebuild.

That produced 2,024 events: 1,182 up thrusts and 842 down thrusts, across 193 instrument-years. It is a rare pattern. About 10.5 signals a year per market, roughly one of either kind every five weeks.

Then 17,424 backtested variants. 3,024 in the results grid: the three published settings, traded both ways, through both regime filters, at seven different holds, on all eight markets. 14,400 in the parameter sweep: 225 combinations of the four pattern parameters, across the exact ranges these patterns are published with (10, 20 or 30 bars back for the pivot, and a window of 5, 10, 13, 15 or 21 bars), both patterns and both directions. Each configuration runs twice: once with a fixed bar-count exit, and once with that same exit plus the RSI(2) rule prescribed alongside them.

Everything is frictionless: no commission, no slippage, no spread. $35,000, no compounding, one position at a time. Every number below is computed from the study's own results files, and the full method is on the StatOasis methodology page.

One control matters more than all the others here, and it is worth naming before the results. A pivot is a statement about the future: the bar is only "the highest bar around" once the bars after it have printed. Publish it a moment early and the backtest trades on bars that had not printed yet. This study publishes a pivot only after its right-hand bars exist, and proves it by truncation. The signal at every bar is recomputed with the whole future deleted, and it has to come out identical.

Finding 1: What is Toby Crabel's up thrust pattern, and what does one look like?

Four conditions, all on one bar, all readable off a chart.

First, whose patterns these are. Toby Crabel wrote Day Trading with Short Term Price Patterns and Opening Range Breakout in 1990. It went out of print, second-hand copies now sell for hundreds, and its narrow-range patterns NR4 and NR7 outlived it. StockCharts' ChartSchool entry is where most traders meet them. Crabel himself stopped writing and started managing money: he founded Crabel Capital Management in 1997, which runs over $5 billion, and the Financial Times called him "the most well-known trader on the counter-trend side" in 2005. The thrust patterns are the reversal family that sits next to the narrow-range work.

#ConditionWhy it is there
1A pivot high exists: a bar higher than the 4 before it and the 2 after itThe reference level the market is about to fail at
2A later bar opens above that pivot highThe market gaps out beyond the old resistance
3That bar closes below each of the previous two closesThe move gave everything back
4That bar closes in the lower half of its own rangeSellers held the close

Then you buy the next open. The logic is a failed break: price pokes above an old high, cannot hold it, and shuts weak. The original argument is that this weakness is exhaustion rather than the start of a decline.

Here is the median one, out of the 218 SPY up thrusts that had a full ten bars after them.

The median SPY up thrust of 218: up 1.22% after ten bars, and 3.7% underwater on the way there.

That is a real trade and it worked, which is exactly why one trade proves nothing. Here are all of them.

Finding 2: Does a thrust predict anything, or is it just the market going up?

The pattern is followed by a rise. So is an ordinary Tuesday.

The only honest way to read a signal's forward return is against the same market's forward return from every bar, measured with the same arithmetic. Do that and the pattern's own contribution shows up as the gap between two numbers, not as one number that happens to be positive.

PatternBars heldEventsAverage returnAn average dayThe pattern's own edge
Up thrust11,1820.04%0.03%+0.01 pts
Up thrust51,1810.16%0.15%+0.01 pts
Up thrust101,1780.39%0.29%+0.09 pts
Up thrust201,1750.41%0.58%-0.16 pts
Down thrust58420.30%0.11%+0.20 pts
Down thrust108420.46%0.21%+0.25 pts
Down thrust208420.94%0.42%+0.52 pts
The baseline bar is what an average day did. The up thrust barely clears it, and at 20 bars it does not.

Three things fall out of that table, and two of them are uncomfortable.

The up thrust's best edge is 0.09 percentage points at 10 bars. Hold it to 20 and the edge is -0.16. Over those extra ten bars the market outruns the pattern. The pattern's return reaches only 0.41% while an average day's reaches 0.58%, so over 20 bars an average day beat the average up thrust.

The down thrust, the pattern that is supposed to be bearish, carries a bigger edge than the bullish one at every horizon past 5 bars, and it carries it upward. In 2024 I wrote: "Since the S&P500 market has a big bias to the long side, I tested the short pattern in a long signal, and not surprised it performed very well." That instinct was right. What was missing was the number that says how much of it is the pattern and how much is the bias.

And it does not hold together across markets. At a 10-bar hold the up thrust beats its own market's drift in 5 of 8 instruments and the down thrust in 6 of 8. The misses are not small. On natural gas the up thrust averaged -0.68% against a market average of -0.28%. On QQQ the down thrust averaged -0.13% against +0.50%. An up thrust that beats its market's own average on five markets and trails it on three is not yet a pattern. This is the same shape of result I found testing one breakout rule across the Nasdaq, S&P 500 and Dow: the rule does not change, the market does.

Finding 3: Would random entries have done just as well?

On half the markets, better.

This is the test that separates a signal from a schedule. Take the up-thrust long at the published setting: a 10-bar hold, no filters. Then throw the same number of entries at the same market at random, hold each for the same 10 bars, size them the same way, apply the same one-position-at-a-time rule, and average over 10 seeds. Everything is held equal except where the entries land.

InstrumentSignalsThe patternRandom, same holdDifference
ES13099 trades, $79,912, 67.7% wins101 trades, $67,904 (sd $48,945), 63.8%+0.2 sd
NQ13598 trades, $125,425, 64.3% wins104 trades, $145,462 (sd $82,526), 62.3%-0.2 sd
SPY219157 trades, $35,408, 66.9% wins171 trades, $24,585 (sd $11,170), 60.7%+1.0 sd
QQQ181135 trades, $27,369, 58.5% wins142 trades, $29,280 (sd $11,683), 60.0%-0.2 sd
DIA163122 trades, $15,538, 59.0% wins132 trades, $17,973 (sd $14,478), 59.5%-0.2 sd
IWM171131 trades, $12,065, 55.7% wins134 trades, $25,744 (sd $16,577), 56.0%-0.8 sd
NG10682 trades, $17,290, 45.1% wins84 trades, -$63,057 (sd $57,086), 41.9%+1.4 sd
JY7768 trades, $21,831, 45.6% wins64 trades, -$17,316 (sd $19,277), 43.7%+2.0 sd

Dollars on NG and JY are one contract, sized on the engine's contract specifications: $10,000 per MMBtu point on NG and $125,000 per yen point on JY. Their dollar figures are large next to the ETFs and are not comparable to them.

Same market, same hold, same number of entries. The only difference is where they land.

The pattern beat its matched control on 4 of 8 markets. It cleared the control's own spread by more than two standard deviations on 1 of 8, and that one is the Japanese yen, on 77 events. That is the last market anyone would build a case on.

Look at what happened to the win rate. On SPY the pattern won 66.9% of its trades, with a 9.6% worst drawdown. Random entries in the same market on the same hold won 60.7%. Across the eight markets, random entries held 10 bars won 56.0% of the time on average. Random entries on SPY matched all but six points of that impressive-looking win rate on the same 10-bar hold, and I have shown the same thing from the other direction in what coin-flip entries reveal about market bias.

This is not the same as saying markets are random. They are not, and I have tested that too. It is saying something narrower and more useful: this particular pattern, at this particular setting, mostly buys you exposure you could have had by other means.

Finding 4: Do the three published settings hold up?

They sit mid-table in the space they were searched from.

Three settings travel with these patterns: long on a high pivot at 4/2/20/15, long on a low pivot at 1/2/10/13, and short on a low pivot at 1/1/10/15. They are presented as a list of the top 15 by net profit. A ranked list of the best settings is not evidence. It is the output of a search, and the honest version is the whole space it was searched over.

Here is what each setting actually did, traded exactly as published.

SettingMarkets profitableMedian return/drawdownMedian worst drawdownThin samples
Long, high pivot (4/2/20/15), 10 bars8 of 80.0530.0%none
Long, low pivot (1/2/10/13), 10 bars6 of 80.0139.6%none
Short, low pivot (1/1/10/15), 4 bars6 of 80.0123.0%2 of 8

The first one is the good one, and on SPY it is genuinely decent: $35,408 on 157 trades, 66.9% wins, a 9.6% worst drawdown and 0.30 return per unit of drawdown. The second one is not: on NQ it lost $41,570 and drew down 171.8% of the account, which is a polite way of saying it would have finished you. The third rests on 25 trades on ES and 28 on NQ, the two markets these settings are quoted for. Both sit below the 50-trade floor this engine flags at.

Now the search space. Each setting ranked by net profit inside its own 225-combination cell:

The three published settings sit mid-table in the space they were chosen from.

Median rank: 81 of 225. Best placement: 5 of 225, the short signal on ES, on 25 trades. That rank rests on a sample below the 50-trade floor. Worst: 225 of 225, dead last, the low-pivot long on IWM.

Mid-table is the honest outcome and it is not a scandal. It is what you should expect from parameters chosen by looking at results, and it is why I now publish the surface instead of the podium. If you have never seen what that difference does to a strategy, it is the whole subject of why most traders fail: robustness testing.

Finding 5: What does the RSI(2) exit actually buy you?

A better-looking win rate, a smaller drawdown, and a profit gain that is real at the median but inconsistent. Median net profit is $5,256 with the RSI(2) exit against $2,901 without it, and the RSI version earns more in 53.9% of the pairs.

The 2024 rules exited on a bar count or an RSI(2) reading: above 80 to close a long, below 20 to close a short. RSI(2) is the 2-day relative strength index, a short-term momentum gauge that spends most of its life pinned near 0 or 100. I never showed what the second half of that rule contributed. So every one of the 225 configurations was run twice: once on the bar count alone, once on the bar count or the RSI level, same everything else. 4,251 pairs cleared 50 trades on both sides.

MeasureBars onlyBars + RSI(2)RSI version better in
Win rate (median)50.0%62.3%98.3% of pairs
Max drawdown (median)40.2%30.2%78.9% of pairs
Bars per trade (median)5.004.08100% of pairs
Net profit (median)$2,901$5,25653.9% of pairs
Average trade (median)0.058%0.079%49.7% of pairs
Return/drawdown (median)0.0010.00559.9% of pairs
The RSI(2) exit improves the win rate in 98.3% of the 4,251 paired configurations, and net profit in 53.9%.

Read the first row and the last two together. The RSI leg improves the win rate in 98.3% of paired configurations. That is near-universal, about as reliable as a backtest result gets. It improves the average trade in 49.7%, which is a coin flip with an extra step.

That is what an early exit does. Leaving while you are ahead converts losers into small winners and turns your win rate into a number you enjoy quoting, and it also cuts your winners short. It genuinely earns the smaller drawdown: 40.2% down to 30.2%, better in 78.9% of pairs. If you want to sleep, that is worth something real. Just do not call it an edge. The RSI(2) early exit moved risk around far more than it created return. That is the same conclusion I reached testing channel exits against fixed holds on a trend system. For the fuller picture of what RSI(2) does and does not do, the RSI deep dive is the place.

Finding 6: Which side, which market, and do the filters help?

One side. Five of the eight markets for the up thrust, six for the down. And not on this evidence.

Take every reliable configuration in the sweep, 4,393 of them clearing 50 trades, and split by pattern and direction:

PatternDirectionConfigurationsProfitableMedian win rate
Up thrustLong1,28690.6%71.7%
Down thrustLong89058.8%70.4%
Down thrustShort93847.8%53.3%
Up thrustShort1,27946.6%54.4%
Both patterns pay on the long side. The short side is a coin flip on both.

The long side is profitable in 90.6% of reliable up-thrust configurations and 58.8% of down-thrust ones; the short side sits at 46.6% and 47.8%, a coin flip on both patterns. That is not the signature of a pattern that identifies reversals. It is the signature of long exposure in a market that rose, and it is the same story the direction split told in Finding 2, arriving by a different road.

The filters do not settle it either. The engine applies two: a volatility filter (is 20-day average true range higher than it was five bars ago) and a trend filter (is the 100-day average rising over ten bars). On the up-thrust long at a 10-bar hold, unfiltered, the median market takes 110 trades at 0.050 return per unit of drawdown. Three of the four filter states score lower: volatility falling at 0.025, volatility rising at 0.040, trend down at 0.000. The fourth, trend up, reaches 0.080 on 81 trades, and its median net profit rises from $24,600 to $28,793. That is a 26.7% cut in evidence for the lift, and no resampling, interval or half-sample test was run on it. A filter that cuts your trade count and lifts your ratio has not yet shown that it helps you. It has made a stronger claim on less data. There are conditions where regime filtering genuinely pays, and I have mapped where. Nothing here shows this is one of them.

The verdict, and the honest limits

Where the patterns earn their reputation. They are real, they are cleanly defined, and the code works. The 10-bar hold published with the high-pivot long setting is genuinely the best point on its own curve: return over drawdown climbs from 0.005 at 1 bar to 0.050 at 10, then falls to 0.025 at 20. The low-pivot long, over the same seven tested holds, peaks at 20 bars instead, at 0.020. The instinct that the "short" pattern belonged on the long side was correct, and the data now says why. On SPY, the headline setting is a decent little system: 157 trades, 66.9% wins, a 9.6% worst drawdown.

Where the usual presentation fails. Calling the patterns "robust and simple" with no measurement behind the word robust. Showing a top-15-by-net-profit table as if a ranked list were evidence. Quoting three settings without their search space, one of which ranks last of 225 on one market and one of which rests on 25 trades. And never once asking what the market would have done anyway. That turns out to be the whole question, because a matched random entry beat the pattern on 4 of the 8 markets tested.

The up-thrust long at its headline setting is a way of buying stock indexes on a schedule, and on most of them the schedule did no better than arbitrary. It beat its matched random control on ES and SPY and trailed it on NQ, QQQ, DIA and IWM. On SPY it finished 1.0 standard deviations above the control. On IWM it finished 0.8 standard deviations below it.

Limits, stated plainly:

  • Frictionless. No commission, no slippage, no spread behind any figure above. The winning configurations average a fraction of a per cent per trade. That is precisely the range where costs decide the answer, and no commission, slippage or spread schedule was tested, so nothing here shows which results survive them.
  • Daily bars. Crabel's own work is largely intraday. This tests the patterns on daily bars, and says nothing about the intraday versions.
  • Two thin cells. The short signal on ES (25 trades) and NQ (28) are below the 50-trade floor. They are marked in every table and they are directional evidence, not conclusions.
  • One position, one market, one direction at a time. No portfolio and no combined long/short book, so the smoother equity curve you get by stacking three signals is outside what this measures.
  • In-sample. The parameter surface is measured across the whole history. It is a robustness picture, not a walk-forward result, and a setting that looks stable here has still never been asked to work on data it has not seen.
  • Back-adjusted futures. ES, NQ, NG and JY are continuous contracts, so roll effects live inside the price series. All four size one contract times BigPointValue, so their dollar figures carry real leverage and are not comparable to the four ETFs beside them.

What this means for you

  1. If you trade the up thrust long on a stock index, know what you are buying. It is long exposure whose start beat a matched random entry on ES and SPY and trailed one on NQ, QQQ, DIA and IWM. Pooled across the eight markets, its median return over drawdown peaks at the 10-bar hold among the seven holds tested, and SPY is where its margin over the control is clearest among the index markets, at 1.0 standard deviations. Size it as exposure, not as an edge.
  2. Most of the tested short configurations do not make money, on either pattern. 46.6% and 47.8% of reliable configurations are profitable, a coin flip. The direction split is the clearest result in the whole study.
  3. Add the RSI(2) exit if you want a smoother ride, not a bigger number. It reliably improves the win rate and the drawdown. It improves net profit in 53.9% of the 4,251 paired configurations, which is a coin flip.
  4. Before you trust any setting, rank it inside the space it came from. These sat at a median of 81 of 225. If a setting you are about to trade cannot tell you its rank, you do not know whether you found an effect or a coincidence. The discipline behind that, end to end, is the Algo Trading Masterclass module on robustness.
  5. Run the drift baseline first, every time. For both thrust patterns in these eight markets, average forward return alone did not separate the pattern from its market. Subtract what the same markets did from every bar, and the up thrust's 0.39% over 10 bars shrinks to 0.09 points above an average day's 0.29%. That single comparison is what turned this from "the pattern works" into "this is stock-index exposure".
  6. Test the pattern where it has no business working. Natural gas and the yen cost nothing to add and they are what turned "this is a pattern" into "this depends on the instrument": the natural gas up thrust lagged its own drift, while the yen up thrust beat its own by 0.41 points. If you have only tested a rule where you expect it to work, you have not tested it. A rule that does survive that treatment looks like the weekly mean-reversion rule on index futures: worse on money than holding, better on risk, on every market tried.

Methodology and risk note: Backtested event study on daily OHLC bars for ES, NQ, NG and JY futures and the SPY, QQQ, DIA and IWM ETFs, 1993 to 2026, totalling 193 instrument-years. 2,024 thrust events measured; 17,424 variants backtested (3,024 grid, 14,400 sweep). $35,000 starting capital, flat-only, no compounding, next-open fills, frictionless, with no commission and no slippage anywhere. Measured against each market's own average forward return and against seeded random-entry controls. All results are historical and for educational purposes only. Past performance does not guarantee future results. Not investment advice.

The plan was to test something new. The drift baseline came back at 0.09 points and I could not un-see it. Every study I finish lands in the newsletter first, including the ones that overturn something I believed. If that is the sort of thing you want landing in your inbox, it is free: StatOasis.com/Overfit

Methodology

Data source
Daily OHLC bars from the StatOasis research dataset: E-mini S&P 500 (ES) and E-mini Nasdaq 100 (NQ) futures, regular trading hours, back-adjusted continuous contracts; the SPY, QQQ, DIA and IWM index ETFs; and natural gas (NG) and Japanese yen (JY) continuous futures, included specifically because nothing about a price pattern is supposed to be about stocks. The eight are engine.market_universe.STANDARD_8.
Date range
SPY 1993-02-02 to 2026-06-12 (8,398 bars, 33.4 years). DIA from 1998, QQQ from 1999, IWM from 2000. ES, NQ, NG and JY 2007 to mid-2026 (4,916 to 5,026 bars each, 19.5 years). 193 instrument-years in total, carrying 2,024 thrust events: 1,182 up thrusts and 842 down thrusts.
Entry / exit rules
Up thrust: a pivot high (4 bars left, 2 bars right, sought within 20 bars and used within 15) followed by a bar that opens above that pivot high, closes below each of the previous two closes, and closes at or below the midpoint of its own range. Down thrust is the exact mirror on a pivot low. Entry fills at the OPEN of the following bar. The grid exits at the close of entry bar plus N, with N swept over 1, 2, 3, 4, 5, 10 and 20. The sweep exits at the open after the exit condition, and tests the bar count alone against the bar count OR RSI(2) above 80 for longs and below 20 for shorts, which is the exit rule published with the patterns.
Sizing
$35,000 starting capital, no compounding, flat-only. ES and NQ size 1 contract times BigPointValue ($50 and $20 per index point). The four ETFs size full-account shares. NG and JY size 1 contract times BigPointValue ($10,000 per MMBtu point and $125,000 per yen point). Every dollar quoted below is labelled with its instrument. FRICTIONLESS: no commission, no slippage, no spread in any figure.
Overlap mode
The backtest is flat-only: while a position is open, further thrust signals are skipped. The events layer that measures forward outcomes keeps every overlap, because measurement is not trading.
Look-ahead
A pivot is published to the bar `right` bars after it occurs and never earlier, so no signal uses a bar that had not printed. Every fill is a next-open fill. The rule is enforced in code and pinned by a truncation test: the signal series is recomputed on every prefix of the data, and any bar whose verdict changed when later bars were deleted would fail the build. This is the single most important control in a pivot study, because a pivot is a claim about the future by construction.
Minimum sample
50 trades, the engine default. 956 of the 3,024 grid variants clear it and 8,644 of the 14,400 sweep variants do; the rest are flagged, never dropped. Two cells quoted below are under the floor and are marked as such in the text: the short signal on ES (25 trades) and on NQ (28).
Buy-and-hold benchmark
Each market held over the same bars on the same sizing. ES: $273,725.00 net, 11.82% CAGR, worst drawdown 114.35% (2009-03-09), CAGR/worstDD 0.103. SPY: $551,738.32 net, 8.82% CAGR, worst drawdown 56.47% (2009-03-09), CAGR/worstDD 0.156. Computed by the StatOasis control harness from engine/controls.py, never typed.
Random control
Seeded random entries frequency-matched to this study's own median reliable variant (same entry count, same hold), averaged over 10 seeds from base seed 20260803. SPY: 93 entries at a 4-bar hold, $8,951.89 net (sd $5,714.32), 58.96% win rate. ES: 69 entries, $22,718.75 (sd $26,955.96), 62.46%. The article additionally runs the same control at its own headline configuration (up-thrust long, 10-bar hold, matched entry count per market) and reports the result in Finding 3.
Parameter scopeParameters swept

The study searched the parameter space and reports the spread, not one tuned setting.

17,424 backtested variants. The grid is 3,024: 8 instruments x the 3 published settings x 2 directions x 3 volatility-regime states x 3 trend-regime states x 7 holds. The sweep is 14,400: 8 instruments x 225 parameter combinations (left shoulder 1-5, right shoulder 1-3, pivot lookback 10/20/30, window 5/10/13/15/21, the patterns' own stated search ranges made discrete, containing all three published settings) x 2 patterns x 2 directions x 2 exit rules. The article reports the whole surface and where the published settings sit inside it, not one tuned cell.

Run to v1 of the StatOasis research standard - the rules every study here has to meet before it is published. The version is the study's own: a standard that gained a rule later never reaches back and claims this one met it.

Historical backtest results are not a guarantee of future returns. This content is for educational purposes only and is not investment advice. Hypothetical performance disclosure (CFTC Rule 4.41).

Frequently asked questions

What is Toby Crabel's up thrust pattern?⌄

A pivot high forms: one bar higher than the bars either side of it. Later, a bar opens above that pivot high, closes below each of the previous two closes, and finishes in the lower half of its own range. You buy the next open. Across eight markets it fires 6.1 times a year per market, and it was followed by an average 0.39% gain over the next 10 bars.

What is a down thrust pattern in trading?⌄

The exact mirror: a pivot low, then a bar that opens below it, closes above the previous two closes and finishes in the upper half of its range. It looks bearish, and pooled across the eight markets tested it was followed by a rise over the next 20 bars. Across 842 events that 20-bar return averaged +0.94%, against +0.42% for an average day in the same markets.

Do Toby Crabel's thrust patterns still work?⌄

On stock indexes, weakly. The up thrust traded long at its published setting and 10-bar hold was profitable in 8 of 8 markets, and across the sweep in 90.6% of 1,286 reliable parameter settings. But its 10-bar edge over the market's own average day is 0.09 percentage points, and against random entries with the same 10-bar hold it wins on only 4 of 8 markets.

What is a pivot high and a pivot low?⌄

A pivot high is a bar whose high is above the highs of a set number of bars on its left and its right (4 left and 2 right in the setting this study uses). A pivot low is the mirror. The catch is the right-hand side: you cannot know a bar was a pivot until those bars have printed, which is 2 bars of delay here.

How do you avoid look-ahead bias with pivot patterns?⌄

Publish the pivot only after its right-hand bars exist, and never before. This study enforces it in code and tests it by truncation: the signal at any bar is recomputed with every later bar deleted, and it must be identical. Without that rule, a pivot signal reads bars that had not printed yet.

Does an RSI(2) exit improve a trading strategy?⌄

It improves how the strategy looks more than what it earns. Across 4,251 paired configurations the RSI(2) leg raised the median win rate from 50.0% to 62.3% and did so in 98.3% of pairs, cut the median drawdown from 40.2% to 30.2%, and improved net profit in only 53.9% of them, which is a coin flip.

Is a 67% win rate good for a trading strategy?⌄

Not on its own. The best published cell in this study won 66.9% of 157 trades on SPY, with a 9.6% worst drawdown. Random entries in the same market with the same 10-bar hold won 60.7% of theirs. Six points of win rate is the gap to matched random entries on SPY, and win rate is the easiest number in trading to inflate by leaving early.

How many bars should you hold a thrust trade?⌄

Ten for the high-pivot long setting this article headlines. Across the seven tested holds from 1 to 20 bars its median return over drawdown rises from 0.005 at a 1-bar hold to 0.050 at 10 bars, then falls back to 0.025 at 20. Ten is not the answer for every setting here: the low-pivot long peaks at 20 bars, at 0.020, and the short setting tops out at 0.015, at 3 and 4 bars.

Do Crabel's patterns work outside stock indexes?⌄

Not reliably. On natural gas futures the up thrust averaged -0.68% over 10 bars against a market average of -0.28%, so it was worse than doing nothing. On yen futures it beat the market average by 0.41 points on 77 events. Two markets, opposite answers, both thin.

What did Toby Crabel actually write about?⌄

His 1990 book, Day Trading with Short Term Price Patterns and Opening Range Breakout, is best known for the narrow-range patterns NR4 and NR7 and the opening range breakout. He founded Crabel Capital Management in 1997, which manages over $5 billion. The thrust patterns tested here are the short-term reversal family that sits alongside that work.

Read the Strategies, Backtested hub
← Back to Research

Table of contents

  • TL;DR: the answer box
  • How we tested
  • Finding 1: What is Toby Crabel's up thrust pattern, and what does one look like?
  • Finding 2: Does a thrust predict anything, or is it just the market going up?
  • Finding 3: Would random entries have done just as well?
  • Finding 4: Do the three published settings hold up?
  • Finding 5: What does the RSI(2) exit actually buy you?
  • Finding 6: Which side, which market, and do the filters help?
  • The verdict, and the honest limits
  • What this means for you
  • Methodology
  • FAQs

Overfit - the newsletter

Skip the hype. Trust the data.One practical takeaway per issue.

Running a quick security check before this can be sent.

Delivered +2 times a month - when the work is ready, not on a calendar.I'll never sell your address.Unsubscribe in one click, any time.

Related Articles

Back to all research
#122

Robustness Testing: Why Most Traders Fail, and What 36,252 Backtests Say Actually Works

Mar 28, 2025 · 18 min read

Robustness testing is the step between a good backtest and deciding whether to trade it. I measured which checks actually predict what a strategy does in held-back history, then retested the whole thing on 53 markets — where the stack still works, several individual checks turn out to have been overstated threefold, and two of them point the wrong way on some asset classes.

Read more→
#139

Coin Flip Trading: What Randomness Tells Us About Market Bias

Oct 11, 2025 · 5 min read

Coin flip backtests show hidden market tendencies in ES, NG, and AD.

Read more→
#134

Same Breakout Strategy, Different Results: Nasdaq vs. SP500 vs. Dow

Jun 20, 2025 · 3 min read

Compare how the same breakout strategy performs on Nasdaq, S&P 500, and Dow. The results may surprise you.

Read more→
#132

Donchian Channel Strategy: I Backtested '40 In, 20 Out' 1,188 Ways on 33 Years of SPY

Jun 6, 2025 · 8 min read

The classic 40-in/20-out channel breakout, re-tested 1,188 ways on 33.4 years of SPY: long-only still made 105.5% frictionless — but the famous 20-day-low exit lost to a plain 20-bar time exit, every unfiltered short entry length lost money under the channel-20 cover and three of the six drew down past 100%, and the edge has decayed every decade.

Read more→

Overfit - the newsletter

Skip the hype. Trust the data.

One practical, evidence-driven takeaway per issue - strategy testing, portfolio construction, market structure, trading psychology, tactical asset allocation.

Running a quick security check before this can be sent.

Delivered +2 times a month - when the work is ready, not on a calendar.I'll never sell your address.Unsubscribe in one click, any time.

StatOasis is calm, evidence-based algorithmic-trading education, founded by Ali Casey. Ali builds systematic trading strategies and teaches the workflow behind them: research, build, test, combine, deploy. He writes the Overfit newsletter, published since 2024, and runs the Algo Trading Masterclass.

Socials

  • X ↗
  • YouTube ↗
  • Instagram ↗
  • LinkedIn ↗
  • GitHub ↗
  • Muck Rack ↗
  • LinkedIn SO ↗
  • GitHub SO ↗

Products

  • Overfit - the newsletter
  • Algo Trading Masterclass
  • StatOasis Community
  • 36 Ways to Buy the Dip
  • AlgoChef ↗

Reading & tools

  • Research
  • Methodology
  • Survive the Decade
  • Wall of Love

StatOasis

  • About Ali Casey
  • Contact
© 2026 StatOasis. Calm, evidence-based.
PrivacyTermsHypothetical resultsCalifornia