Pullback Sniper on Micro E-mini S&P 500 (MES)
Should you use it?
Use with cautionUsable, with caveats
It meets the brief on MES, but read the caveats before trading it — and run it in simulation first.
- Stayed profitable going forward at 4 of 4 walk-forward cut-offs.
- Would have been picked in advance at only 1 of 4 cut-offs — the edge was found with the whole period in view.
- An isolated optimum: neighbouring stop/target settings don't pass, so small drifts could break it.
- Misses 3 : 1 with 1 tick of slippage.
Recommended set
MES · 2-minute bars · Short · EMA-100 trend filter on both sides · 09:30–12:00 ET entry window · 115-tick (28.75 pt, $144) stop · 70-tick (17.5 pt, $88) target
Net profit
+$3,694
1 MES contract · after commission
Profit factor
1.22
$1.22 won per $1 lost
Max drawdown
$963
net / drawdown 3.8 : 1
Win rate
62%
409 trades · 0.8 per day
Per month
+$146
largest loss −$146
One contract · NinjaTrader 8 Strategy Analyzer, Aug 2024 – Sep 2026, after commission.
What the numbers say
- It meets the brief. Target: profit factor above 1.0 and at least 3 : 1 net profit to max drawdown. Result (NT8 Strategy Analyzer, with the “NinjaTrader Brokerage Free” commission template): PF 1.22 and 3.8 : 1 on 409 trades.
- Profitable in every calendar year of the test (2024: +$609, 2025: +$2,028, 2026: +$1,221); 18 of 26 months positive; best 2024-12 (+$535), worst 2024-08 (−$306).
- Long / short split. Longs $0 on 0 trades, shorts +$3,694 on 409.
- Exposure. Average 124 minutes in the market, 0.8 trades per session; every trade closed within the Globex session it was opened in (75 at the 15:55 flatten, 8 at the 17:00 session close), nothing carried across the 17:00 break or a roll.
- Walk-forward. The in-sample winner failed forward at 3 of 4 cut-offs. The recommended set was positive forward at 4 of 4 cut-offs (forward PF 1.19–1.35, net/DD 1.3–3.4) and would have passed the in-sample gate at 1 of 4 of them — positive forward but not something an earlier search would have selected.
- Plateau. 2 of 72 stop/target cells in the same family pass PF > 1 and net/DD ≥ 3 over the full period — an isolated optimum.
- Verified. The replica behind the sweep matched NT8’s trade count on the validation window (300 vs 301); headline figures come from NT8’s own engine.
Set it up in NinjaTrader
Add ToredaPullbackStrategy to a MES 2-minute chart (or the Strategy Analyzer) and change only these inputs — everything else stays at the strategy default:
| Input | Value | Note |
|---|---|---|
| Data series | MES, 2 Minute, Last | Front-month contract; NT8 merge policy “MergeBackAdjusted” supplies the history. |
| Direction (Pullback) | Short | Longs 0 / shorts 409 trades. |
| Bull / Bear EMA Length | 100 | Default 50. |
| Use Bull EMA Filter / Use Bear EMA Filter | true / true | Default off. |
| Stop Unit / Stop Ticks (Risk) | Ticks / 115 | 28.75 MES points = $144 per contract before slippage. |
| Target Unit / Target Ticks (Risk) | Ticks / 70 | 17.5 MES points = $88. |
| Use Breakeven / Use Trail | false / false | |
| Use Time Window (Session) | true | Window 09:30 → 12:00 (America/New_York). |
| Use Flatten Time / Flatten | true / 15:55 | Default. |
| Max Trades Per Day | 0 | 0 = unlimited. |
| Analyzer: order fill resolution | High, 1 Minute | Matches the runs in this report; commission template “NinjaTrader Brokerage Free” (≈ $1.90 per round turn). |
1 contract vs 3 contracts
One position at a time, so size scales cleanly: the ratios stay the same and every dollar figure is three times larger.
| 1 contract | 3 contracts | |
|---|---|---|
| Net profit (after commission) | +$3,694 | +$11,082 |
| Gross profit / gross loss | $20,602 / −$16,908 | $61,807 / −$50,725 |
| Commission paid | $777 | $2,331 |
| Profit factor | 1.22 | 1.22 |
| Max drawdown | $963 | $2,889 |
| Net / max drawdown | 3.8 : 1 | 3.8 : 1 |
| Profit per month | +$146 | +$439 |
| Average winner / loser | $81 / −$109 | $243 / −$327 |
| Largest loss | −$146 | −$437 |
| Worst losing streak (5 trades) | −$545 | −$1,636 |
| Risk per trade at the stop | $144 + costs | $431 + costs |
| Suggested risk capital (≈ 3 × max drawdown) | $2,889 | $8,666 |
Year by year
| year | trades | net | PF | win |
|---|---|---|---|---|
| 2024 | 78 | +$609 | 1.19 | 60% |
| 2025 | 184 | +$2,028 | 1.28 | 62% |
| 2026 | 147 | +$1,221 | 1.19 | 63% |
| in-sample (→ 2025-12-31) | 262 | +$2,637 | 1.25 | net/DD 3.5 |
| out-of-sample (2026) | 147 | +$1,221 | 1.19 | net/DD 1.3 |
How robust is it?
Walk-forward check
The in-sample winner held up forward at 1 of 4 cut-offs; the recommended set was positive forward at 4 of 4 and would have passed the gate at 1 of 4. It works forward but was identified with the whole period in view — discount the headline accordingly.
Monte Carlo
The observed drawdown ($876) sits at the low end of what the same daily results could have produced — 86% of resampled histories draw down further, and 1 in 20 reaches $2,280 or more. The sample is thin enough that 2.3% of resampled histories end below zero and the 3 : 1 brief holds in 51% of them. Reordering the same trades (second row) moves the drawdown a lot: the 95th-percentile sequence-risk drawdown is $2,032. Size the account on the 95th-percentile drawdown ($2,280 per contract) plus margin, not on the observed $876, and expect up to 208 trading days without a new equity high.
At the default settings
At its defaults the strategy loses on every timeframe tested.
| configuration (defaults) | trades | net | PF | max DD | win |
|---|---|---|---|---|---|
| 1m Both S40t T80t noEMA ETH | 6,755 | −$23,515 | 0.90 | $25,278 | 34% |
| 2m Both S40t T80t noEMA ETH | 5,909 | −$11,725 | 0.94 | $13,448 | 35% |
| 3m Both S40t T80t noEMA ETH | 5,365 | −$16,780 | 0.91 | $18,353 | 34% |
| 5m Both S40t T80t noEMA ETH | 4,562 | −$13,814 | 0.91 | $14,342 | 34% |
| 10m Both S40t T80t noEMA ETH | 3,423 | −$9,908 | 0.91 | $11,340 | 35% |
| 15m Both S40t T80t noEMA ETH | 2,885 | −$7,991 | 0.92 | $10,296 | 35% |
| 30m Both S40t T80t noEMA ETH | 1,898 | −$3,458 | 0.94 | $4,558 | 35% |
Know before you trade it
- Selection bias. 44,100 configurations were searched; the walk-forward is the only evidence not contaminated by the search. The recommended set was positive forward but earlier searches would not have chosen it.
- Plateau width. 2 of 72 neighbouring stop/target cells pass — the set is an isolated optimum and should be treated as unproven.
- Instrument-specific. Stops and targets are in MES ticks; do not transfer them to another instrument — each instrument has its own report.
- Fill assumptions. Both engines fill stops at the stop price and targets on touch; live fills will be worse.
- Two years, one regime. The sample is Aug 2024 → Sep 2026; behaviour in other regimes is untested.
Getting started
- Run it in simulation first with the inputs above and compare the first 100–200 trades against the forward statistics before any live size.
- Do not chase the leaderboard. Re-optimising to whatever tops the in-sample ranking is the procedure the walk-forward check shows failing.
Pullback Sniper on other instruments
Backtest results are hypothetical. They were produced with the benefit of hindsight on historical data, do not represent actual trading, and cannot fully account for slippage, liquidity or the emotional pressure of live trading. Past performance is not indicative of future results. This content is for educational purposes only and is not financial advice. Trading futures involves substantial risk of loss. See our risk disclosure for details.