Markets › FX · EURUSD, 1-hour bars from 1-minute data
Parabolic SAR Strategy Backtest: 22 Years of EUR/USD on the 1-Hour Chart
J. Welles Wilder's Parabolic SAR is a trailing stop that flips you from long to short and back. We traded it as he designed it, and with the two filters most often added to it, on every EUR/USD hour since 2004, with costs and against random timing.
Buried · CostsIt stopped, it reversed, it paid the spread. Every eleven hours.
Variants tried: 3 · Passed every gate: 0 · Beat the random control: 0 · Holdout opened: yes (already used)
Short answer: not on EUR/USD 1-hour bars. Wilder's stop and reverse made +0.27 pips a trade before costs from 2004 to 2026 and -0.73 pips after a 1-pip round trip, over 11,941 trades; adding a 200 EMA filter did not fix it, and an ADX filter made it worse than random timing.How much costs took here, compared across all 54 of our tests →
00The verdict in three lines
- We tested the Parabolic SAR strategy on EUR/USD 1-hour bars from 2004 to September 2026: Wilder's stop and reverse (always in the market), the same only in the direction of the 200 EMA, and the same only when ADX(14) is 25 or more. Fills at the SAR level, 1 pip a round trip.
- It does not pay its costs. The always-in system reversed about every 12 hours and made +0.27 pips a trade before costs; after a 1-pip round trip it lost -0.73 pips a trade, -8,768 pips in total, and lost money in every year from 2019 on.
- The filters did not help. The 200 EMA version also lost after costs; the ADX version (Wilder created both indicators, and they are often paired) lost even before costs and did worse than random timing. Buried, all three.
01What is the Parabolic SAR?
The Parabolic SAR (“stop and reverse”) was introduced by J. Welles Wilder in New Concepts in Technical Trading Systems (1978), the same book that gave us the RSI and the ADX. It is drawn as a row of dots below the price in an uptrend and above it in a downtrend.
- How it moves: each bar the SAR moves toward the trend's extreme point by an acceleration factor: SAR(next) = SAR + AF × (extreme point − SAR).
- Parabolic SAR settings: Wilder's defaults, used by almost every platform, are an acceleration factor starting at 0.02, rising by 0.02 each time the trend makes a new extreme, up to a maximum of 0.20. The longer a trend runs, the faster the dots close in.
- The reversal: when the price touches the SAR, the trend is considered over. Wilder's system closes the position and opens the opposite one at that level, so it is always in the market.
02The Parabolic SAR trading strategies we tested
- PS-SAR: Wilder's system: long below the dots, short above them, reversing every time the price touches the SAR.
- PS-200 (Parabolic SAR + 200 EMA): at a reversal, open the new position only in the direction of the 200-bar exponential moving average; otherwise wait for the next reversal. Positions close at the next reversal.
- PS-ADX (Parabolic SAR + ADX strategy): at a reversal, open the new position only if ADX(14) is 25 or more, the usual “strong trend” reading. Positions close at the next reversal.
- Fills: the SAR for each hour is known when the hour opens, so it is a resting stop order. We found the touch on 1-minute data and filled at the SAR level, or at the open of the minute if the price gapped through it.
We fixed the settings, the three versions and the costs on 22 October 2026, before computing a single SAR value. The closest relative of the SAR, the Supertrend indicator, was buried earlier on this site (Supertrend on ES and in our six-strategy forex study).
03How we tested it
EUR/USD from the IC Markets MetaTrader 4 history, 1-minute bars from January 2004 to 28 September 2026 on the New York clock, built into 141,042 one-hour bars, the same file as our other EUR/USD tests. Costs: 1.0 pip a round trip (commission plus the raw spread), also shown at 1.5 and 2.5 times; a swap stress of 0.5 pip per night. Periods: 2004 to 2012, 2013 to 2019, and a holdout from 2020 already used by earlier EUR/USD tests. First-period bar t ≥ 2.5 (many strategies have been tried on this pair). Control: each version's own trades, moved together by a random number of hours, 500 times, keeping their direction and length. Engine check: the SAR against a hand calculation (including the acceleration cap and a reversal), fills at the level and at a gapped open, the three entry rules, and an independent re-implementation that matched every one of the 23,340 trades (ps_selftest_result.txt).
04Results: does the Parabolic SAR work?
| Variant | Rule | Trades | Win rate (95% range) | Gross pips per trade | Net pips per trade | Net total | Profit factor | Verdict |
|---|---|---|---|---|---|---|---|---|
| PS-SAR | Stop and reverse, always in the market (Wilder's system) | 11,941 | 35.4% (35% to 36%) | +0.27 | -0.73 | -8,768 pips | 0.96 | Buried |
| PS-200 | Only in the direction of the 200 EMA; out at the next reversal | 5,327 | 35.3% (34% to 37%) | +0.14 | -0.86 | -4,593 pips | 0.95 | Buried |
| PS-ADX | Only when ADX(14) is 25 or more; out at the next reversal | 6,072 | 33.6% (32% to 35%) | -1.06 | -2.06 | -12,534 pips | 0.88 | Buried |
Cumulative net pips by month. * Holdout already used before this test.
Costs, holding time and sides
| Variant | Median hold | Time in the market | Net per trade at 1.5x cost | at 2.5x cost | With swap stress | Longs, net | Shorts, net |
|---|---|---|---|---|---|---|---|
| PS-SAR | 11.2 h | 99.7% | -1.23 | -2.23 | -1.08 | -4,909 pips | -3,858 pips |
| PS-200 | 11.1 h | 44.8% | -1.36 | -2.36 | -1.21 | +33 pips | -4,626 pips |
| PS-ADX | 10.4 h | 48.3% | -2.56 | -3.56 | -2.39 | -10,787 pips | -1,747 pips |
Parabolic SAR win rate: about 35% of trades won; the system lives on a few long trends and many small losses, which is normal for a trailing stop. What sinks it is that the winners did not cover the losers plus a pip of cost on every reversal.
05Parabolic SAR or random timing?
| Variant | Trades | Real net pips per trade | Shifted, median | Shifted, 5th to 95th | Percentile (95 needed) |
|---|---|---|---|---|---|
| PS-SAR | 11,941 | -0.73 | -1.01 | -1.76 to -0.24 | 72.4 |
| PS-200 | 5,327 | -0.86 | -1.06 | -2.08 to +0.14 | 59.4 |
| PS-ADX | 6,072 | -2.06 | -1.01 | -1.97 to -0.07 | 3.2 |
The control keeps each version's own trades, with their direction and length, and moves them to other hours (entering at the open of the hour). The always-in SAR and the 200 EMA version sat inside the random range. The ADX version was below almost all of it: one likely reason, which we did not test, is that ADX measures the move that just ended, so a high reading at a reversal says the old trend was strong, not that the new one will be.
06By period and by year
| Variant | 2004 to 2012, net pips per trade (trades) | 2013 to 2019 (trades) | Holdout* 2020 to Sep 2026 (trades) | t, first period | PF, second period |
|---|---|---|---|---|---|
| PS-SAR | +0.06 (4,650) | -0.14 (3,590) | -2.31 (3,701) | 0.07 | 0.99 |
| PS-200 | +0.08 (2,067) | -0.66 (1,591) | -2.22 (1,669) | 0.06 | 0.96 |
| PS-ADX | -1.84 (2,495) | -1.49 (1,827) | -2.99 (1,750) | -1.57 | 0.90 |
| Year | PS-SAR net (trades) | PS-200 net (trades) | PS-ADX net (trades) |
|---|---|---|---|
| 2004 | +9 pips (496) | -875 pips (221) | -958 pips (283) |
| 2005 | -1,059 pips (539) | -444 pips (242) | -539 pips (282) |
| 2006 | -2,644 pips (518) | -1,125 pips (221) | -1,663 pips (301) |
| 2007 | +1,078 pips (467) | +789 pips (204) | -232 pips (242) |
| 2008 | +3,497 pips (498) | +2,479 pips (225) | +2,459 pips (253) |
| 2009 | -2,125 pips (558) | -1,360 pips (252) | -2,488 pips (278) |
| 2010 | +1,539 pips (520) | +1,125 pips (233) | +447 pips (296) |
| 2011 | -2,179 pips (559) | -1,307 pips (248) | -2,015 pips (278) |
| 2012 | +2,170 pips (495) | +883 pips (221) | +401 pips (282) |
| 2013 | -426 pips (489) | -672 pips (215) | -451 pips (241) |
| 2014 | +723 pips (481) | +195 pips (216) | -605 pips (260) |
| 2015 | +493 pips (500) | +526 pips (227) | -675 pips (249) |
| 2016 | -606 pips (534) | -676 pips (231) | -4 pips (279) |
| 2017 | +463 pips (520) | +506 pips (229) | +612 pips (251) |
| 2018 | -342 pips (539) | -507 pips (238) | -905 pips (297) |
| 2019 | -796 pips (527) | -429 pips (235) | -693 pips (250) |
| 2020 | -1,030 pips (540) | +93 pips (240) | -449 pips (274) |
| 2021 | -906 pips (569) | -192 pips (257) | -838 pips (269) |
| 2022 | -2,066 pips (550) | -1,335 pips (243) | -1,183 pips (237) |
| 2023 | -760 pips (555) | -610 pips (253) | -229 pips (267) |
| 2024 | -1,062 pips (534) | -656 pips (252) | -317 pips (249) |
| 2025 | -1,904 pips (552) | -756 pips (244) | -1,542 pips (265) |
| 2026 (to 28 Sep) | -836 pips (401) | -245 pips (180) | -666 pips (189) |
The always-in system made money in 8 of 23 calendar years (the best: 2008, 2010, 2012) and gave it back in the others; from 2019 it lost money every year.
07The gates
| Variant | Trades | 1. PF ≥ 1.2 in validation | 2. ≥ 50 trades in each period | 3. t ≥ 2.5 on development | 4. Above the 95th percentile of the shifted-holdings control | 5. Positive without the 10 best trades | 6. Holdout net positive (already used) |
|---|---|---|---|---|---|---|---|
| PS-SAR | 11,941 | fail | pass | fail | fail | fail | fail |
| PS-200 | 5,327 | fail | pass | fail | fail | fail | fail |
| PS-ADX | 6,072 | fail | pass | fail | fail | fail | fail |
| Variant | Cause | Gates failed | Verdict |
|---|---|---|---|
| PS-SAR | Costs | 1, 3, 4, 5, 6 | Buried |
| PS-200 | Costs | 1, 3, 4, 5, 6 | Buried |
| PS-ADX | No proven edge | 1, 3, 4, 5, 6 | Buried |
The data-gap check removed 154, 78 and 70 trades open across a suspect gap; no verdict changed. Costs (PS-SAR, PS-200): positive before costs, negative after. No proven edge (PS-ADX): negative before costs.
TWhat this shows, and what to take into your own tests
What the results show
- Wilder's Parabolic SAR, traded as he designed it on EUR/USD 1-hour bars from 2004 to 2026, reversed about every 12 hours and made +0.27 pips a trade before costs: not enough to pay a 1-pip round trip. After costs it lost 8,768 pips over 11,941 trades.
- It was close to zero from 2004 to 2012 (+0.06 pips a trade) and lost in every year from 2019 to 2026, and it did no better than the same holdings shifted in time.
- Filters did not rescue it. Trading only with the 200 EMA halved the number of trades and kept the loss; trading only when ADX(14) was 25 or more made it worse than random (3.2th percentile of the control), losing money even before costs.
What remains unknown
- Other settings. We used Wilder's defaults (0.02, 0.02, 0.20); slower settings trade less and pay less in costs, and are a different test.
- Other markets and timeframes, where the SAR is used as a trailing stop for trades opened by something else rather than as a signal.
- Live spreads around news. Fills at the SAR level are resting stops; in fast markets they slip, which would make the result worse.
Why it was buried
The SAR is a trailing stop that keeps tightening, so on a 1-hour chart it is hit often: 35.4% of trades won, the median trade lasted 11 hours, and a few long trends paid for many small losses until the cost of each reversal tipped the balance. Without its ten best trades every version was deeply negative, and from 2020 on the losses were clear (-8,563 pips for the always-in system).
What you can apply to your own tests
- A stop-and-reverse system pays costs on every flip. Multiply the flips per year by your round-trip cost before you look at anything else.
- Test a filter against random timing, not just against the unfiltered rule. Here the ADX filter picked worse moments than chance.
- If you use the SAR, it is more defensible as a trailing exit than as an entry signal; that use is not what we tested here.
A note on the numbers: drawdown figures are measured on closed trades unless a table says it includes open losses. Open losses inside a trade are not counted in a closed-trade drawdown, so real account risk is higher, especially for systems with no stop. Backtests are not live trading.
FAQCommon questions
What is the Parabolic SAR?
A trailing stop invented by J. Welles Wilder (1978), drawn as dots below the price in an uptrend and above it in a downtrend. It moves toward the trend's extreme by an acceleration factor that grows as the trend extends; when the price touches it, the trend is considered over and the position is reversed.
What are the best Parabolic SAR settings?
Wilder's defaults are an acceleration factor of 0.02, rising by 0.02 at each new extreme, up to 0.20, and almost every platform uses them. We tested only the defaults; slower settings reverse less often and pay less in costs, but would be a different test.
Does the Parabolic SAR work?
Not as a stop-and-reverse signal in our test: on EUR/USD 1-hour bars it lost 0.73 pips a trade after costs, lost money in every year from 2019 on, and did no better than the same trades shifted in time.
Does the Parabolic SAR work with the ADX or the 200 EMA?
Neither filter rescued it. With the 200 EMA the system still lost 0.86 pips a trade after costs; taking reversals only when ADX(14) was 25 or more lost 2.06 pips a trade and ranked at the 3.2th percentile of a random-timing control, worse than chance.
What is the win rate of the Parabolic SAR?
About 35.4% on EUR/USD 1-hour bars: like any trailing-stop system it relies on a few long trends to pay for many small losses.
How was the strategy tested?
On EUR/USD 1-minute data from 2004 to 2026, built into 1-hour bars, with fills at the SAR level, 1 pip a round trip and rules written and dated before the data was run, costs included on every trade, results split into development, validation and holdout periods, a random-entry control as the benchmark, and every variant reported. Read the protocol.
08Check our arithmetic
ps_spec.md
ps_lib.js · ps_ref.js · ps_selftest.js · ps_run.js
adx_lib.js · control_audit_lib.js · fx_data.js · gh_lib.js · gx_lib.js · hourly_lib.js · ma_lib.js · rsi2_protocol.js
ps_selftest_result.txt · ps_results.txt · ps_summary.json
Code provenance: our own code, written from the specification and Wilder's published rules.
09Data notes
Source. IC Markets MetaTrader 4 EUR/USD 1-minute bid history (a demo server), the file of our other EUR/USD tests. Trades open across a suspect gap in the data are listed in the gap check above. Fills: at the SAR level inside the hour, or at the minute's open if the price gapped through it; no extra slippage beyond the 1-pip cost.
10Corrections
22 Oct 2026, navigation: added a link to the new guide comparing trading costs across all our tests. No result changed. 22 Oct 2026, navigation: added a link to the new guide comparing trend following and mean reversion across all our tests. No result changed.
+More tests and guides
- Supertrend indicator backtest
- Adx indicator strategy
- Forex strategy backtest
- Ichimoku cloud strategy backtest
- Trend following vs mean reversion: this test next to the others of its style
- Free prop firm challenge calculator
- What all the backtests found so far
- The backtesting protocol
- How to backtest a trading strategy without fooling yourself
- Backtesting glossary