My E-mini swing trading strategy started as a simple question: could the system I trade on the SPY ETF work on futures instead? The E-mini S&P 500 (@ES) trades the same crowd psychology as SPY — just with leverage and a nearly around-the-clock session — so the answer is yes: it is the same trend-plus-mean-reversion engine, tuned for @ES.

Same logic, a futures wrapper

Swing Trading @ES · E-mini S&P 500 Futures
E-mini (ES) Swing Trading
2.08
Profit Factor
22.3%
CAGR (Annual Return)
75.8%
Win Rate
28,443%
Percent Gain
Back-tested equity curve
E-mini (ES) Swing Trading back-tested equity curve
Performance statistics
Metric
Value
Profit Factor
2.08
CAGR (Annual Return)
22.3%
Win Rate
75.8%
Percent Gain
28,443%
Modeled Capital
$50,000
Total Trades
392
Avg Hold
5.4 days
Metric
Value
Live (Out-of-Sample)
2016–2026
Backtest
1997–2015
Max Drawdown
40.1%
Trade Types
Long & Short
Platform
TradeStation / MultiCharts
Code language
EasyLanguage

Hypothetical back-test · @ES E-mini S&P 500 futures (daily) · 1998 to 2026 (28-year back-test) · $50,000 initial capital, positions sized at 3.5% account risk per trade with profits compounding (grew to a maximum of 372 contracts) · includes estimated commissions ($1.50/contract) and slippage ($12.25/contract). This strategy holds positions overnight, so every position must be covered by the full exchange performance bond, not the smaller intraday margin brokers advertise for day trades. The back-test does not model that: TradeStation does not enforce a performance bond, and the optional margin guards shipped with the code (useMarginCap and useMarginExit) were both off for this run, so position size was limited only by volatility and account risk. Modeled at 8% of contract notional, the margin required would have averaged about 24% of the account and peaked near 71% on the largest position. Exchange margin is set by CME, changes without notice and rises in volatile markets; at recent index levels a single contract alone posts more than half of a $50,000 account. Annual return is the compound annual growth rate (CAGR) of the modeled account over the test period. Hypothetical results have inherent limitations; past performance is not necessarily indicative of future results.

If you have seen how I trade SPY, the framework will be familiar: use the trend to choose direction, use mean reversion to time the entry, and never fade a move you cannot justify with the larger trend. What changes for futures is the wrapper — contract-based position sizing, the leverage that comes with margin, and the option to run it on full @ES or the @ME micros at a fraction of the size.

Step 1: Confirm the macro trend

The system reads the dominant trend in @ES the same way it does for SPY — a moving-average filter on closing prices. In a confirmed uptrend it only takes longs; in a downtrend, only shorts. The point of the filter is discipline: it keeps you from shorting strength or buying weakness against the prevailing direction.

Step 2: Enter on a statistically defined pullback

With direction set, the system waits for @ES to push past a dynamically calculated threshold away from its short-term range, then enters in the trend’s direction. The threshold scales with volatility, so it adapts to quiet and fast markets without you re-tuning anything — buy the stretch in an uptrend, short the stretch in a downtrend.

Step 3: Exit on mean reversion, stop on every trade

The exit is the reversion: as @ES returns toward its average price, the system closes the position and books the move. A volatility-based stop-loss is attached to every trade, sized to current conditions, so the risk on a position is defined before you ever enter it.

Built for leverage — and for the micros

Futures cut both ways: leverage amplifies gains and losses, so position sizing matters more here than almost anywhere. The system’s sizing is volatility-adaptive and contract-based. If full @ES contracts are too large for your account, the identical signals run on @ME (Micro E-mini) futures and on @ES options — a practical way to trade the same edge at roughly one-tenth the notional.

Tested in 2016, traded since

Like the SPY version, this system was written and tested in 2016 and has continued to perform in real time without re-optimization. You get the complete, annotated EasyLanguage source — readable, modifiable, no black boxes — plus the full back-tested report with estimated commissions and slippage so you can judge it on the numbers.

Reading the back-tested numbers

The figures in the panel above are pulled from the strategy’s store page, so they never drift from what I publish. With a leveraged future like @ES, pay as much attention to the maximum drawdown as to the return — leverage magnifies both, and the drawdown is what you actually have to live through. Every number is from a historical back-test with estimated commissions and slippage applied: useful for judging how the rules behaved, not a forecast.

Sizing it to your account

Because @ES is leveraged, position sizing is the difference between a system you can hold through a drawdown and one that shakes you out at the worst moment. The strategy sizes by volatility, but the practical lever is contract count: trade full @ES if your account supports it, or run the identical signals on @ME micros at roughly one-tenth the notional while you build confidence. The rules don’t change — only the size does.

Prefer to trade the ETF instead of futures? The same engine on the cash market is the SPY Swing Trading strategy.

Back-tested results are hypothetical and shown for educational purposes only; they include estimated (modeled) commissions and slippage. Past performance is not indicative of future results. RelaxedTrader is not a registered investment advisor or broker-dealer, and nothing here is investment advice.

Every purchase includes the fully annotated EasyLanguage source code, a ready-to-run TradeStation workspace, a quick-start guide, the full back-test report, and free lifetime updates — plus direct access to ask me questions.

Get the code: E-mini (ES) Swing Trading strategy → — EasyLanguage source for TradeStation or MultiCharts, instant download.

Related reading

More from the blog: the SPY (ETF) version, shorting SPY with an ORB, and the 3-line SPY strategy.