Markets › Futures · ES futures

Supertrend

Supertrend: long when it turns green, short when it turns red, reverse on every flip.

ES futures · 60 / 15 / 5-minute bars · ATR 10 × 3 · Protocol v1.0

Buried · No proven edge

Green paid. Red never did.

BornSupertrend, widely credited to Olivier Seban; popular on TradingView
Died7 Oct 2026

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

PeriodDates
Development2020-01-01 to 2023-12-31
Validation2024-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

VariantNet, allTradesPF devt (dev)PF valPF holdout*vs randomTop 10 removed
ST60-LS-$28,5751,3391.050.450.960.8658.8th-$150,680
ST60-L+$99,3046721.201.241.081.1783.0th-$8,263
ST15-LS+$44,2973,0561.101.500.970.9296.4th-$45,295
ST5-LS-$32,9645,1630.95-0.901.051.0092.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

VariantLongs netLongs PFShorts netShorts PF
ST60-LS+$99,3041.17-$127,8790.82
ST15-LS+$71,0241.09-$26,7270.97
ST5-LS+$17,7911.02-$50,7550.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

DEVVALHOLDOUT-200k-150k-100k-50k0k50k100k2020202120222023202420252026

ST60-L: the best-looking version (long only)

DEVVALHOLDOUT-50k0k50k100k150k2020202120222023202420252026
Net equityRandom medianRandom 5th to 95th percentile

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

GateST60-LSST60-LST15-LSST5-LS
PF ≥ 1.2 in validationfailfailfailfail
≥ 50 trades per periodpasspasspasspass
t ≥ 2.0 on developmentfailfailfailfail
Above 95th pct of random runsfailfailpassfail
Positive without top-10 tradesfailfailfailfail
Holdout net positive (used)failpassfailpass
Gates passed (all 6 needed)1 / 62 / 62 / 62 / 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.

VariantFrozen control (as published)Signal shifted in time
ST60-LS58.8th45.6th
ST60-L83.0th48.8th
ST15-LS96.4th93.6th
ST5-LS92.6th91.6th
ST60-LS-T58.6th61.6th
ST60-L-T63.6th61.0th
ST15-LS-T63.2th56.8th
ST5-LS-T88.2th92.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.

VariantOriginal netRound 2 netTradesPF devt (dev)PF valPF holdout*vs randomTop 10 removed
ST60-LS-T-$28,575-$27,0051,1210.92-0.900.961.0658.6th-$86,667
ST60-L-T+$99,304+$16,6395660.97-0.261.161.1463.6th-$33,687
ST15-LS-T+$44,297-$43,9262,3700.99-0.131.010.8463.2th-$83,196
ST5-LS-T-$32,964-$77,3134,5070.90-2.110.970.9988.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.

GateST60-LS-TST60-L-TST15-LS-TST5-LS-T
PF ≥ 1.2 in validationfailfailfailfail
≥ 50 trades per periodpasspasspasspass
t ≥ 2.5 on developmentfailfailfailfail
Above 95th pct of random runsfailfailfailfail
Positive without top-10 tradesfailfailfailfail
Holdout net positive (used)passpassfailfail
Gates passed (all 6 needed)2 / 62 / 61 / 61 / 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.

VariantEURUSDGBPUSDUSDJPYAUDUSDPairs net positivePairs 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 failed2 of 40 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 failed3 of 40 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 failed2 of 40 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 failed2 of 40 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

Frozen specificationRules, variants, gates.
st_spec.md
CodeSupertrend engine, random control and control check. Needs the helper files as well.
st_protocol.js · st_control_check.js · rsi2_protocol.js
Trade logs (CSV)Every trade, net of costs.
ST60-LS · ST60-L · ST15-LS · ST5-LS

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