Pullback Trading Strategy|Buy the Dip, Backtest Your Rules
Learn to define how deep a pullback you wait for, avoid chasing and falling knives, and backtest the rules on past charts. Includes two sample rule entries.
You knew it was an uptrend, but you bought after it had already run and got stuck at the high. Or you reached for a dip thinking "this should hold," and it wasn't a pullback at all — it was the end of the trend. If you've traded pullbacks, this probably sounds familiar. Buying the dip and selling the rally is a classic way to ride a trend, but when how deep a pullback you'll wait for is left vague, it's a setup that turns into either chasing or catching a falling knife.
This article is a deep dive on buying the dip and selling the rally (pullback trading), one of the setups listed in 8 Core Trading Strategies Explained. We'll cover how it differs from a breakout, how to judge the depth of a pullback, how to define entries and exits together, and how to write the whole thing into ENTRIQ's strategy-rule field (with two sample entries). This isn't about predicting where price goes. It's about putting your rules into words so you can test them on past charts, over and over.
What pullback trading is
Pullback trading is waiting for a temporary counter-move (a pullback) within an ongoing trend, then entering in the direction of the trend. In an uptrend, you buy the dip after price pulls back. In a downtrend, you sell the rally after price bounces (short). Either way, you're not fighting the trend — you're trying to enter at a better price along the way.

Lining it up against a breakout makes the difference clear. A breakout rides the momentum through a level; a pullback waits for the pause after price has broken out or run. If a breakout is jumping on the move, a pullback is passing on the move and waiting for the next dip or bounce. Both are trend following, but the timing is opposite.
Pullbacks appeal because they let you enter at a more favorable price relative to the trend. Buying after a pullback, rather than chasing a price that's already extended, usually puts your stop closer, which means smaller risk per trade. The flip side is a risk that never goes away: the pullback you're waiting on might actually be the end of the trend.
The hard part of pullback trading comes down to "how far do you wait?" Too shallow and you enter mid-pullback only to see it keep going against you; too deep and you get caught in a trend reversal. Deciding where that line is, in advance, is the whole thing.
Why backtest it
There's no single right answer to "how deep a pullback do you wait for." Some traders buy just ahead of the prior swing low; others wait for price to come back to a moving average; others use Fibonacci levels (38.2%, 50%, 61.8%). Which depth fits the symbols and timeframes you trade isn't something you settle by arguing. The only way to answer it is through repeated testing.
And clean pullbacks don't conveniently show up every day. Waiting for a trend, then a pullback, then a continuation can take weeks of screen time to test a single rule.
This is where chart replay (backtesting) earns its place. You rewind a past chart and step through it one bar at a time, deciding "would I buy this dip?" without seeing what comes next. You're using virtual funds, so there's no real loss, and you can pull up pullback setups again and again. You can even run "buy the shallow dip" against "wait for the moving average" over the exact same data and compare.
How to judge the depth of a pullback
How traders decide how deep a pullback to wait for varies. Rather than calling any one method correct, here are the common ones, laid out neutrally. Which you adopt is something to verify with your own backtest data.
| Reference | The idea | Watch out for |
|---|---|---|
| Prior swing low / high | Treat the area just ahead of the last swing low or high as support / resistance | Hard to use when there's no clear swing point |
| Moving average | Wait for price to pull back to a specific MA (20-day, 50-day) within the trend | Which MA price respects varies by symbol and timeframe |
| Fibonacci retracement | Use a set fraction of the prior move (38.2%, 50%, 61.8%) as a guide | The fractions are just guides — price won't bounce exactly there |
| Length of the pullback | Judge "a pause" by how many bars (days) it's pulled back | Time alone doesn't measure depth |
| Reversal signal | Wait for a lower wick or a bounce bar at the dip before entering, instead of catching the fall | Waiting for the signal can leave you entering shallower |
Let's look at each a little more concretely.
Prior swing low / high
The most basic reference is using the area just ahead of the last swing low (in an uptrend) or swing high (in a downtrend) as support / resistance. In an uptrend, you wait for price to come down just above the low where the previous pullback stopped, reading it as "this might hold again." Because it's a price actually printed on the chart, the reason is easy to grasp, and your stop is easy to draw too ("exit if that low breaks").

The catch is that it's hard to use when there's no clear swing point. When a trend is steep and runs without making a proper pullback, or when price chops in small wiggles and "which is the swing low" won't settle, it doesn't work as a reference. If you use prior swing levels, fix for yourself "which low I base it on," and confirm in backtesting that the way you pick it fits your symbol and timeframe.
Moving average
This waits for price to pull back to a specific moving average (20-day, 50-day) within a trend, and targets where it finds support there. In phases where a rising MA acts like a "moving support line," a pattern of price dropping to the MA and bouncing can repeat. Unlike a horizontal swing low, the MA steps up along with the trend, so your pullback reference follows price rather than staying fixed.

The catch is that which MA price respects varies by symbol and timeframe. One symbol bounces cleanly off the 20-day MA; another pulls all the way to the 50-day before bouncing — both happen routinely. Using the MA as your pullback reference has enough to dig into — slope, the bounce, how to pick the period — that it's covered as a full article in How to Use Moving Averages. If you pair it with buying the dip, read that one alongside this.
Fibonacci retracement
This uses a set fraction of the prior move up (or down) — 38.2%, 50%, 61.8% — as the pullback reference. For example, you wait around the halfway (50%) retracement of the recent advance, reading it as "it might bounce from here." The idea behind it is that because many market participants watch the same fractions, a bounce is more likely to actually occur at those levels.

The catch is that the fractions are only guides — price won't necessarily bounce exactly there. It might bounce at 38.2%, or pull deeper to 61.8%, or break that and go on to a full trend reversal. If you use Fibonacci, decide "which fraction I base it on" and "whether I weight levels where several fractions overlap," and rather than entering just because price reaches the level, combine it with a reversal signal to raise accuracy.
Length of the pullback
Rather than how far price has dropped (depth), this judges whether a pullback is about due for a pause by how many bars (days) it has lasted (time). It uses elapsed time as the reference—after 5 to 10 consecutive bearish bars, the pullback may be running out of steam. It approaches pullback maturity from a different angle than price depth.

The catch is that time alone doesn't measure depth. You can reach 5 to 10 bars while price has barely declined, or the market can sell off sharply in just a few bars. Rather than relying on bar count alone, it's more practical to combine it with a price reference—such as a prior swing low or a moving average—and look for situations where enough time has passed and price has reached the reference level.
Reversal signal
This is a confirmation: after price reaches your pullback reference, you wait for a bar that has actually started to bounce (a bar with a lower wick, a bar that takes out the prior bar's high) before entering. Rather than reaching mid-fall, waiting for the "the fall has stopped and started to turn up" signal cuts down on diving into a pullback that's still dropping.

The catch is that waiting for the signal can leave your entry shallower (higher) than the reference. Wait for a lower wick or a bounce bar and you can't buy the exact low, and your stop distance widens accordingly. Whether you make a reversal signal mandatory, or enter the moment price reaches the reference, is a tradeoff between entry location and win rate. Which fits your market is something to settle by comparing both on the same data.
The key point: these aren't mutually exclusive. Traders commonly combine them — "wait for the 50-day MA and a bounce bar before entering." The more you stack, the more selective and better-priced your entries become, and the fewer trades you get. Where you sit on that tradeoff is also something to test.
Tell a pullback apart from the end of a trend
The scariest outcome in pullback trading is buying what you thought was a dip, only for it to be the end of the trend. A pullback and a reversal are often indistinguishable while they're happening. That's exactly why you have to decide in advance where "this is no longer a pullback" lives.
Generally, if price clearly breaks the level you based your entry on (the prior swing low, the MA you leaned on), you call it — "this isn't the pullback I expected" — and exit. The price where a pullback stops being a pullback is your stop. Draw that line and a trend reversal can only cost you so much.
Put the other way: don't take a pullback you can't set a stop on. If you can't say "this much against me means I was wrong," that's not yet an entry — it's a pass.
Define entries and exits together
With pullbacks too, most mistakes come from setting an entry condition and skipping the exit. Always put entries and exits into words as a pair.
Entry (when you get in)
- How you confirm the trend direction (higher highs and higher lows / the slope of an MA)
- How deep a pullback you wait for (just ahead of the swing low / the 50-day MA / a 50% retracement)
- Whether you wait for a reversal signal or enter once price reaches your reference
Exit (when you get out)
- Stop: the price where a pullback stops being a pullback (price breaks the prior swing low / clearly breaks the MA you leaned on)
- Target: where you take profit (a new swing high / a fixed distance / scale out part and let the rest run)
If you tie your stop to the level — "if price breaks the swing low I entered on, I'm out" — the decision to exit is less driven by emotion. When the reason you entered (the trend continuing) breaks, you exit. Setting up that pairing first is the core of building a pullback rule.
Sample strategy-rule entries (two patterns)
ENTRIQ's strategy tags include a strategy-rule field where you write down your own rules. Putting your pullback rules into words there lets you check, after every backtest, whether you actually entered the way you planned. There are two broad ways to write them. Neither is better — pick whichever lets you reproduce your decisions more reliably.
Pattern A: Discretionary (define the situation in words)
The discretionary style. You define context, entry, stop, exit, and skip conditions in words, without locking them to numbers.
Context: A clear uptrend making higher highs and higher lows. Don't trade pullbacks in a directionless range. Entry: After a leg up, buy when price pulls back near a moving average and prints a bounce bar. Stop: If price closes below the prior swing low I based my entry on, call it not-a-pullback and exit. Exit: Consider taking profit on a new swing high. If the trend continues, scale out part and let the rest run. Skip: Don't enter when the trend direction is unclear, or right before major data releases.
Pattern B: Rules-based (spell the conditions out in numbers)
The rules-based style. You fix the decision with indicators and numbers, so anyone reading it reaches the same conclusion.
Context: 20-day MA > 50-day MA (treat as an uptrend). Entry: Price pulls back to the 20-day MA, and the day closes back above the 20-day MA. Stop: Exit if price breaks below the recent swing low (or −2%). Target: Take half off at +6%, hold the rest until price closes below the 20-day MA. Filter: The pullback from the recent high hasn't exceeded a set fraction (e.g., 61.8% Fibonacci).
Numbers make your review quantitative and easier to aggregate in a backtest. But the figures here — 20-day MA, −2%, +6%, 61.8% — are only examples of how to write a rule. They don't guarantee any edge or profit. Backtest them on your own symbols and timeframes, and adjust as the data tells you.
Test it, then record it
Once your rules are in words, pull up past charts, find pullbacks within a trend, and run virtual entries and exits without seeing the future. After each one, log whether you entered by the rule and how you told the pullback apart from a reversal in your trade journal and strategy tags.
One strategy tag per trade. Tag it something like "Pullback – MA bounce," and you can later pull up just those trades to see win rate, P&L, average risk-reward, and so on across the whole setup.
A caution here: don't take the numbers at face value while your sample is small. Judging a rule on 5 or 10 trades is far too early. Build up enough repetitions in risk-free backtesting first, then look at the pattern.
The chart above shows how the data might look when you test different pullback depths (it's sample data, not real results). Same pullback, different depth rule, different numbers — seeing that difference for yourself is the whole point of backtesting.
You can also review what you've logged with AI analysis. AI analysis isn't a trade signal or a recommendation — it identifies and describes patterns from your past trade data and notes. It can surface things you'd miss on your own, like "the trades where I bought a shallow dip stopped out more often."
Four common mistakes
- Chasing instead of waiting for the pullback. Entering after a run because you don't want to miss out often means buying right at the start of a pullback and getting stuck. Decide your pullback rule before you enter.
- Entering with no stop. A pullback and a reversal are hard to tell apart. If your exit isn't tied to a level, the end of a trend can run your loss wide.
- Buying dips with no trend. In a directionless range, neither "dips" nor "rallies" mean much. Confirm there's a trend first.
- Only remembering the pullbacks that worked. The one that ran sticks in memory, but the times you got caught in a reversal are the ones worth reviewing. Log the losses under the same strategy tag.
FAQ
Q. How is buying the dip different from a breakout? A. A breakout rides the momentum through a level; buying the dip and selling the rally waits for the pause — the pullback — after a break or a run. Both are trend following, but one jumps on the move while the other waits for the next dip or bounce. See the breakout article for more.
Q. How deep does it have to pull back to count as a "pullback"? A. There's no single right answer. Common references are the area ahead of the prior swing low, a moving average, or a set Fibonacci fraction. The reliable way to find what fits your symbols is to backtest several rules on the same data. What matters most is setting, in advance, the stop where "this is no longer a pullback."
Q. How do I avoid buying a dip that turns out to be the end of the trend? A. A pullback and a reversal are hard to distinguish in real time, so you can't avoid it entirely. The realistic move is to decide up front to exit if price breaks the level you based your entry on (the prior swing low, the MA you leaned on). Rather than avoiding it, decide where you get out when you're wrong.
Q. Should I write the strategy-rule field discretionary or rules-based? A. Either works. If defining the situation in words is easier for you to reproduce, go discretionary; if you'd rather lock conditions to numbers, go rules-based. Writing both is fine too. What matters is that you can reproduce the same decision later.
Q. Which markets can I practice pullbacks on? A. ENTRIQ's backtesting supports US stocks, FX, commodities, and crypto. Japanese stocks are planned for a future release. You can also view multiple timeframes at once, which helps when you confirm the higher-timeframe trend direction while waiting for a pullback on a lower timeframe.
Put "buy low" into words and it sounds simple, but whether you can profit from it comes down to judging the depth of the pullback and to the stop where a pullback stops being one. Write the depth you wait for and your exit into the strategy-rule field as a pair, and test them on past charts again and again.
ENTRIQ is a chart replay and backtesting platform for individual traders, combining chart replay, trade journaling, and AI analysis.
This article does not guarantee the effectiveness or profitability of any strategy or rule. The figures and examples shown are samples to illustrate how to write rules, not indications of investment results. You are solely responsible for your own investment decisions.
Reproduce this validation yourself
With ENTRIQ's chart replay, you can trade through past charts using the same rules.
Start 14-day free trialValidate your method on past charts
The same validation in this article can be reproduced with your own method. On past charts, do the classics really work?
- ✓ Replay past charts
- ✓ AI feedback on your trades
- ✓ Validate methods with statistics