Markets › Futures · ES futures
Supertrend
Supertrend: long when it turns green, short when it turns red, reverse on every flip.
Buried · No proven edgeGreen paid. Red never did.
Variants tried: 8 (4 original + 4 in Round 2) · Passed every gate: 0 · Holdout opened: yes (used before this test)
Short answer: not in this test. We backtested Supertrend on ES futures in 8 variants, net of costs, and 0 passed every gate. The best result, ST60-L, made +$99,304 over 672 trades but failed the validation profit factor, the development t-statistic, the random-entry control and the ten-best-trades test. “No proven edge” means a convincing edge was not demonstrated, not that none exists.How much costs took here, compared across all 54 of our tests →Did the same rules work on other markets? The cross-market scoreboard →
00The verdict in three lines
- Supertrend draws a line that flips colour when price closes through a volatility band (ATR 10 × 3). The popular claim is simple: follow the colour, buy green and sell red.
- We tested four versions on 6.7 years of ES at the common default settings, net of costs. The classic hourly long-and-short version lost $28,575 over 1,339 trades. The best net result, hourly long-only, made +$99,304, but random long-only entries with the same exits made a median +$52,181 just from ES drifting upwards.
- No version passed. The short side lost money in all three long-and-short versions, and the long side's profit looks like the market's upward drift, not the indicator. Cause of death: No proven edge
- Round 2 (added later): adding a fixed 1.5 × ATR stop and 3 × ATR target to every version did not rescue it. The best original version (60-minute, long only) fell from +$99,304 to +$16,639, and none of the four passes.
01The claim
Supertrend is a trend-following indicator that is widely credited to Olivier Seban; sources differ on who first wrote it and when, and it has been built into charting platforms since at least the mid-2000s. It is now standard in most of them, including TradingView, where the defaults are ATR period 10 and multiplier 3. It plots a line under price in an uptrend and over price in a downtrend, and the colour changes when price closes through it. Many traders use the colour change as a buy or sell signal, and as a trailing stop.
We test the default settings only, the ones most people use, and don't optimise anything. Green means long and red means short. We test rules, not people. Discretionary parts, such as filtering signals by eye, are not tested.
02The rules we tested (frozen 7 Oct 2026, before any run)
- Indicator: standard Supertrend, ATR(10) × 3, evaluated on bar close.
- Position: long while it is green, short while it is red (or flat instead of short in the long-only version). Every colour change reverses the position. No other stop, no profit target. 1 ES contract.
- Four variants declared up front:
- ST60-LS: 60-minute bars, long and short, around the clock, flat before the weekend.
- ST60-L: the same, long only.
- ST15-LS: 15-minute bars, long and short, regular trading hours only, flat at the close.
- ST5-LS: 5-minute bars, long and short, regular trading hours only, flat at the close.
The full dated specification is in the files at the bottom.
03Data and costs
| Period | Dates |
|---|---|
| Development | 2020-01-01 to 2023-12-31 |
| Validation | 2024-01-01 to 2025-03-31 |
| Holdout (already used) | 2025-04-01 to 2026-09-25 |
Costs: $5.76 commission per round trip and 1 tick ($12.50) slippage on every fill. A reversal is two fills. That works out to about $30.80 per trade, which matters a lot for the fast versions.
Honest caveat on the holdout: the 2025-26 ES data was used in earlier tests of other strategies, before this protocol. It is reported but can't count as clean. No Supertrend result had been seen before the specification was written.
Four variants means more chances of luck. The more versions tried, the likelier one looks good by accident, so the count is part of the result.
Data: ES 1-minute, back-adjusted, 2020-01-01 to 2026-09-25. Raw vendor data is not published.
04Results: every variant, net of costs
| Variant | Net, all | Trades | PF dev | t (dev) | PF val | PF holdout* | vs random | Top 10 removed |
|---|---|---|---|---|---|---|---|---|
| ST60-LS | -$28,575 | 1,339 | 1.05 | 0.45 | 0.96 | 0.86 | 58.8th | -$150,680 |
| ST60-L | +$99,304 | 672 | 1.20 | 1.24 | 1.08 | 1.17 | 83.0th | -$8,263 |
| ST15-LS | +$44,297 | 3,056 | 1.10 | 1.50 | 0.97 | 0.92 | 96.4th | -$45,295 |
| ST5-LS | -$32,964 | 5,163 | 0.95 | -0.90 | 1.05 | 1.00 | 92.6th | -$130,556 |
* Holdout already used before this test. PF = profit factor. "vs random" = percentile of the average net $/trade among 500 random runs with the same exits, session rule and trade count.
Longs and shorts
| Variant | Longs net | Longs PF | Shorts net | Shorts PF |
|---|---|---|---|---|
| ST60-LS | +$99,304 | 1.17 | -$127,879 | 0.82 |
| ST15-LS | +$71,024 | 1.09 | -$26,727 | 0.97 |
| ST5-LS | +$17,791 | 1.02 | -$50,755 | 0.95 |
This is the clearest result: the red half loses in every version, while the green half earns while ES rises. ES rose strongly over this period, so "buy when green" was riding the market. An indicator that only works on one side tends to be measuring the market's drift.
- Costs: ST5-LS made $125,850 gross over 5,163 trades, then lost it all (and more) to about $30.80 a trade: net -$32,964. That's a Costs death, not an accident.
- Pain: ST60-LS had a worst drawdown on closed trades of $109,473 and spent up to 831 days below a previous high. ST5-LS stayed under water for 2,402 days, about 6.6 years of the 6.7-year sample.
- It comes and goes by year (ST60-LS): PF 0.76 in 2020, 1.26 in 2021, 1.37 in 2022, 0.88 in 2023, 1.05 in 2024, 0.83 in 2025 and 0.86 in 2026 to September. It earns in clean trends and loses in choppy markets, and nobody can know in advance which is coming.
- Confidence: the chance the true average trade is zero or negative is 62% for ST60-LS, 7% for ST60-L, 28% for ST15-LS and 66% for ST5-LS.
05The curves
ST60-LS: the classic version
ST60-L: the best-looking version (long only)
The classic version stays inside the random band in 80 of 81 months and dips below it once. The long-only version stays inside the band every single month, and the band's median ends at +$52,181: simply being long ES with the same exits, at random times, makes money in this sample. The indicator's timing adds something on top against our frozen control (83rd percentile), but against a control that keeps the real holding pattern it sits at the 49th percentile, so the timing adds little we can detect, and neither clears the 95th percentile bar.
06The gates
| Gate | ST60-LS | ST60-L | ST15-LS | ST5-LS |
|---|---|---|---|---|
| PF ≥ 1.2 in validation | fail | fail | fail | fail |
| ≥ 50 trades per period | pass | pass | pass | pass |
| t ≥ 2.0 on development | fail | fail | fail | fail |
| Above 95th pct of random runs | fail | fail | pass | fail |
| Positive without top-10 trades | fail | fail | fail | fail |
| Holdout net positive (used) | fail | pass | fail | pass |
| Gates passed (all 6 needed) | 1 / 6 | 2 / 6 | 2 / 6 | 2 / 6 |
The one gate ST15-LS clears beyond sample size, beating the random runs, is misleading: a random reverse-on-a-coin-flip process throws away about $31 a trade in costs (median -31.8 $ per trade), so beating it is easy. Its own validation period and holdout both lost money (PF 0.97 and 0.92).
Control check after review (added 8 Oct 2026)
An outside review asked whether our random controls match the signal. Supertrend follows a state (green or red), and our frozen control, a random reverse-on-a-coin-flip process, has a different holding pattern from the real one. We re-ran the comparison with a control that keeps the real pattern: the real Supertrend direction series, shifted in time by a random amount (at least 5% of the data). Durations, the long/short mix, the number of flips, the session rules and, in Round 2, the stop, target and wait-for-the-next-flip rules all stay exactly as in the real run. Only the alignment with price is destroyed.
| Variant | Frozen control (as published) | Signal shifted in time |
|---|---|---|
| ST60-LS | 58.8th | 45.6th |
| ST60-L | 83.0th | 48.8th |
| ST15-LS | 96.4th | 93.6th |
| ST5-LS | 92.6th | 91.6th |
| ST60-LS-T | 58.6th | 61.6th |
| ST60-L-T | 63.6th | 61.0th |
| ST15-LS-T | 63.2th | 56.8th |
| ST5-LS-T | 88.2th | 92.8th |
Percentile of the average net per trade among 500 random runs, 95 needed. Percentiles move by a point or two between runs because the random trade count is calibrated to the real count. Code and output: st_control_check.js, st_control_check.txt.
What this changes. Little. The two hourly versions sit at the 46th and 49th percentile, which is where random trading lands, and ST60-L's earlier 83rd percentile was an artifact of the frozen control: its profit is the market's drift. ST15-LS passed the random-entry gate against the frozen control (96.4th percentile) but not against the shifted signal (93.6th), which supports what the paragraph above says. The two trading-hours-only intraday versions stay close to the line (ST15-LS 93.6th, ST5-LS 91.6th, ST5-LS-T 92.8th), but ST5-LS and ST5-LS-T lose money after costs, and ST15-LS lost money in its validation period and holdout and falls apart without its ten best trades, so the verdict does not change.
What it does not change. The frozen gate results, the verdict and the causes of death.
R2Round 2: a fixed stop and target (added after the first result)
Honest label: these variants were added after we saw the original results, so they are not pre-registered in the way the originals were. They are reported in full, counted in the total (8 variants tried: 4 original, 4 in Round 2), and judged by the same six gates. The original numbers above are unchanged.
After the first result we added one more exit rule to every Supertrend variant: a fixed stop of 1.5 × ATR(10) and a fixed profit target of 3 × ATR(10), measured from the entry fill, on top of the flip exit. After a stop or target there is no new position until the Supertrend direction changes again. Four variants (one for each original), named ST60-LS-T, ST60-L-T, ST15-LS-T and ST5-LS-T. The same rule is applied to all four, because choosing which ones to test would itself be a choice based on the results.
| Variant | Original net | Round 2 net | Trades | PF dev | t (dev) | PF val | PF holdout* | vs random | Top 10 removed |
|---|---|---|---|---|---|---|---|---|---|
| ST60-LS-T | -$28,575 | -$27,005 | 1,121 | 0.92 | -0.90 | 0.96 | 1.06 | 58.6th | -$86,667 |
| ST60-L-T | +$99,304 | +$16,639 | 566 | 0.97 | -0.26 | 1.16 | 1.14 | 63.6th | -$33,687 |
| ST15-LS-T | +$44,297 | -$43,926 | 2,370 | 0.99 | -0.13 | 1.01 | 0.84 | 63.2th | -$83,196 |
| ST5-LS-T | -$32,964 | -$77,313 | 4,507 | 0.90 | -2.11 | 0.97 | 0.99 | 88.2th | -$113,457 |
Results in dollars, net of costs. * Holdout already used before this test. "Original net" is the net result of the matching original variant shown above.
None improved enough, and the best original version got much worse: ST60-L went from +$99,304 to +$16,639, ST15-LS from +$44,297 to -$43,926, ST5-LS from -$32,964 to -$77,313, and ST60-LS barely moved (-$28,575 to -$27,005). The stop was hit in 54% to 59% of trades and the target in only 26% to 29%. A trend-following system earns its money from a few large winners, and a fixed 3 × ATR cap cuts exactly those.
| Gate | ST60-LS-T | ST60-L-T | ST15-LS-T | ST5-LS-T |
|---|---|---|---|---|
| PF ≥ 1.2 in validation | fail | fail | fail | fail |
| ≥ 50 trades per period | pass | pass | pass | pass |
| t ≥ 2.5 on development | fail | fail | fail | fail |
| Above 95th pct of random runs | fail | fail | fail | fail |
| Positive without top-10 trades | fail | fail | fail | fail |
| Holdout net positive (used) | pass | pass | fail | fail |
| Gates passed (all 6 needed) | 2 / 6 | 2 / 6 | 1 / 6 | 1 / 6 |
A stricter bar now applies. With 8 variants of this strategy tried in total, the development t-statistic needed rises from 2.0 to 2.5, for the original variants as well as the Round 2 ones. No original verdict changes, because every original variant had already failed other gates too.
What this tells us: the stop and target combination tested here did not produce a variant that passed the protocol, and after costs it helped some versions and hurt others, with no version passing. A stop and target reshape the wins and losses of a trade rather than the entry signal. We tested one stop and target distance per strategy and did not test other distances or other exit types, so this does not show that no exit could help. The cause of death above stands.
FXOther markets: the same rules on four currency pairs (added 8 Oct 2026)
We ran this strategy's four variants, with the same rules and default parameters, on EURUSD, GBPUSD, USDJPY and AUDUSD (spot FX, 60-minute bars, 2004 to September 2026) under a specification dated before any result. Costs are about 1 pip per round trip (1.2 on USDJPY). The table shows each result in pips after costs and how many of the six gates it failed. This strategy is one of six in the full FX study.
| Variant | EURUSD | GBPUSD | USDJPY | AUDUSD | Pairs net positive | Pairs passing every gate |
|---|---|---|---|---|---|---|
| ST60-LS (long and short) | +699 · 5 of 6 failed | -335 · 5 of 6 failed | +2,581 · 4 of 6 failed | -298 · 5 of 6 failed | 2 of 4 | 0 of 4 |
| ST60-L (long only) | +819 · 5 of 6 failed | -721 · 5 of 6 failed | +3,902 · 3 of 6 failed | +1,107 · 5 of 6 failed | 3 of 4 | 0 of 4 |
| ST60-LS-T (long and short, stop and target) | +1,539 · 4 of 6 failed | +3,825 · 3 of 6 failed | -2,907 · 4 of 6 failed | -1,707 · 5 of 6 failed | 2 of 4 | 0 of 4 |
| ST60-L-T (long only, stop and target) | +451 · 5 of 6 failed | +1,822 · 3 of 6 failed | -1,694 · 4 of 6 failed | -1,647 · 5 of 6 failed | 2 of 4 | 0 of 4 |
16 variant-pair results, 0 passed every gate. 9 finished net positive after costs and 16 were positive before costs, so costs turned 7 of them into losses. The highest development t-statistic was 1.49 against the 2.5 required. The closest call was USDJPY ST60-L, which failed 3 of 6 gates (net +3,902 pips). On ES the verdict for this strategy was Buried · No proven edge, and nothing here changes it.
07Cause of death
No proven edge The short side loses everywhere and the long side's profit is mostly ES's own drift. The fast versions add costs on top: Costs for ST5-LS. ST15-LS made money from 2020 to 2023 and then lost money in 2024, 2025 and 2026, and ST60-L leans on a few big trends. Both are Fragile: their profit disappears without their ten best trades.
What we did not test: other settings (a different ATR period or multiplier), other markets (the indicator is popular on gold, FX and crypto), daily bars, volatility or trend-strength filters, and trailing the line as a stop for a different entry. We kept to the defaults on purpose: tuning would raise the odds of finding a lucky setting, not a real edge.
What would change our mind: a forward sample. More than 100 new trades on data we haven't seen, with a positive result beating the random band on both sides. Or a different market tested under this same protocol, with its variants added to the count.
TWhat this shows, and what to take into your own tests
What the results show
- None of the four versions passed, and none of the four fixed-stop-and-target versions in Round 2 did either.
- The short side lost money in all three long-and-short versions (-$127,879, -$26,727 and -$50,755). The long side earned money, as ES rose.
- The 5-minute version made $125,850 before costs and lost $32,964 after them.
- Against a control that keeps the real holding pattern (the signal shifted in time), the hourly versions rank at the 46th and 49th percentile, and the two trading-hours-only intraday versions at the 94th and 92nd, close to but under the 95th we require.
What remains unknown
- Other settings (ATR period and multiplier), which we left at the defaults on purpose.
- Other markets where Supertrend is popular, such as gold, FX and crypto, and daily bars.
- Whether a trend or volatility filter would help.
Why it failed
Three things stack up: costs of about $31 on thousands of trades, a short side that fought a rising market, and flips that lose in choppy periods. The line did well in 2021 and 2022 (profit factor 1.26 and 1.37 on the classic version) and lost in 2020, 2023, 2025 and 2026. A system that depends on which year you test is not an edge you can plan around.
What you can apply to your own tests
- Multiply your trade count by your cost per trade before you trust a fast system.
- Test longs and shorts separately. If only one side works, suspect the market, not the indicator.
- Break results down by year. If the answer flips with the regime, you have found a regime, not an edge.
- Compare with random reversals that trade as often as your system does, and keep the real holding pattern: shifting the real signal in time keeps durations and the long/short mix and breaks only the timing.
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
Does the Supertrend strategy work?
Not in this test. We backtested Supertrend on ES futures in 8 variants, net of costs, and 0 passed every gate. The best result, ST60-L, made +$99,304 over 672 trades but failed the validation profit factor, the development t-statistic, the random-entry control and the ten-best-trades test. The random-entry gate is the control frozen before the run; each post's control check shows matched alternatives. “No proven edge” means a convincing edge was not demonstrated, not that none exists.
Does the Supertrend strategy work on forex?
We ran the same rules and default settings on EURUSD, GBPUSD, USDJPY and AUDUSD under a pre-registered specification. Of the 16 results, 9 finished above zero after costs and 0 passed every gate. Read the full forex study.
How much do trading costs matter for the Supertrend strategy?
We charged about $31 per round trip on ES. Across all 8 variants (18,794 trades) the strategy made +$528,562 before costs and -$49,542 after.
How was the Supertrend strategy tested?
On ES futures, with 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
st_protocol.js · st_control_check.js · rsi2_protocol.js
Round 2 files: round2_spec.md (dated before the run) · code: round2_st.js, hourly_lib.js, st_protocol.js · r2_st_results.txt · trade logs: ST60-LS-T, ST60-L-T, ST15-LS-T, ST5-LS-T
Code provenance: our own code, written from the standard public definition of Supertrend. No third-party source code is used or published.
Full console output: st_results.txt and st_control_check.txt (control check, added 8 Oct 2026).
09Corrections
7 Oct 2026, two changes; no result or rule changed. (1) The post was renamed from "The Traffic Light" to "Supertrend", the indicator's own name, because a separate nickname made it harder to find and to tell what was tested. (2) The origin of Supertrend is described differently by different sources (who first wrote it, and when), so "attributed to Olivier Seban" was changed to "widely credited to Olivier Seban; sources differ". Also 7 Oct 2026: added the "What this shows, and what to take into your own tests" section and a note that drawdown is measured on closed trades. No result changed. Also 7 Oct 2026: drawdown and worst-loss figures are now labelled as closed-trade or including open losses. No result changed. 8 Oct 2026, after a second outside review: the Round 2 sentence saying a stop and a target “can't create an edge” was replaced with a statement limited to the combination tested here, which did not produce a variant that passed the protocol; other distances and exits were not tested. No result changed. Also 8 Oct 2026, control audit: the random control was re-checked against the signal's holding pattern. A control check with the real signal shifted in time is added under “The gates”. ST60-L's earlier 83rd percentile against the frozen control was an artifact (49th against the shifted signal), and the sentence about the indicator's timing was reworded. The frozen gate results, the verdict and the causes of death did not change. 8 Oct 2026, search and navigation: added an answer-first line, a FAQ and links to related tests and guides. No result changed. 8 Oct 2026, new tests: added links to the new golden cross tests (daily and 1-hour) in the related tests block. No result changed. 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 cross-market scoreboard, which includes this test. 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. 22 Oct 2026, navigation: added a link to the new guide comparing versions with and without a stop loss across our tests. No result changed.
+More tests and guides
- Donchian channel breakout strategy backtest
- Macd crossover strategy backtest
- Golden cross backtest
- Golden cross 1 hour backtest
- Forex strategy backtest
- Did the stop loss help? This test next to the other with-and-without pairs
- 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