Pullback Sniper on Micro Nasdaq-100 (MNQ)
Should you use it?
RecommendedYes — this is one to use
This set passed every test in the sweep on MNQ: it meets the brief in NinjaTrader, holds up out of sample and survived the walk-forward check. Start in simulation all the same.
- Stayed profitable going forward at 4 of 4 walk-forward cut-offs.
- Would have been picked in advance at all 4 cut-offs.
One of the 9 bots chosen to run together in a single account — trading 09:30–12:00.
Recommended set
MNQ · 3-minute bars · both directions · EMA-50 trend filter on both sides · 09:30–12:00 ET entry window · 240-tick (60 pt) stop · 160-tick (40 pt) target
Net profit
+$8,618
1 MNQ contract · after commission
Profit factor
1.21
$1.21 won per $1 lost
Max drawdown
$1,244
net / drawdown 6.9 : 1
Win rate
65%
967 trades · 1.8 per day
Per month
+$341
+$1,023 with 3 contracts
One contract · NinjaTrader 8 Strategy Analyzer, Aug 2024 – Sep 2026, after commission.
What the numbers say
- It meets the brief. The target was a profit factor above 1.0 and at least 3 : 1 net profit to max drawdown. In NinjaTrader 8’s Strategy Analyzer, with the “NinjaTrader Brokerage Free” commission template, the recommended set delivers PF 1.21 and 6.9 : 1 — more than double the ratio asked for.
- Steady, not spiky. Profitable in each calendar year of the test, 22 of 26 months positive, and the equity curve climbs without a single outsized trade carrying it: the largest single winner is $78 and the largest loss is capped at −$122.
- Short exposure. Entries only between 09:30 and 12:00 ET, average 29 minutes in the market, every trade closed the same session — no overnight risk, nothing carried across a contract roll.
- Verified twice. Every figure above comes from NT8’s own engine; the 35,700-run parameter sweep behind the choice was made in a replica that matches NT8 to within one trade.
- Built to survive the search. Most parameter sets that look best in a sweep fall apart afterwards — the walk-forward check shows exactly that happening here. This set was chosen because it kept working after each of four earlier cut-off dates, with forward PF 1.18–1.25 every time. Plan on PF 1.1–1.2 and net/DD 3–4 live rather than the full-period headline.
Set it up in NinjaTrader
Add ToredaPullbackStrategy to an MNQ 3-minute chart (or the Strategy Analyzer) and change only these inputs — everything else stays at the strategy default:
| Input | Value | Note |
|---|---|---|
| Data series | MNQ, 3 Minute, Last | Front-month contract; NT8 merge policy “MergeBackAdjusted” supplies the history. |
| Direction (Pullback) | Both | Longs: 629 trades, +$5,012 · Shorts: 338 trades, +$3,606. |
| Bull EMA Length / Bear EMA Length | 50 / 50 | Defaults. |
| Use Bull EMA Filter / Use Bear EMA Filter | true / true | The edge lives here: without the filters PF is 0.91; with only one side on it is below 1. |
| Stop Unit / Stop Ticks (Risk) | Ticks / 240 | 60 MNQ points = $120 risk per contract before slippage. |
| Target Unit / Target Ticks (Risk) | Ticks / 160 | 40 MNQ points = $80. Reward-to-risk 0.67 : 1; wins 65% of the time. |
| Use Breakeven / Use Trail | false / false | Every breakeven trigger below the target and every trailing distance reduce net profit and net/DD. |
| Use Time Window (Session) | true | Window Start 09:30, Window End 12:00 (America/New_York). |
| Use Flatten Time / Flatten | true / 15:55 | Defaults. Open positions after 12:00 run to stop, target or the flatten. |
| Max Trades Per Day / Quarter, Sunrise, SMT filters | 0 / off | Defaults. Per-day caps and quarter allow-lists were tested and do not help. |
| 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) | +$8,618 | +$25,855 |
| Gross profit / gross loss | $48,779 / −$40,161 | $146,337 / −$120,483 |
| Commission paid | $1,837 | $5,512 |
| Profit factor | 1.21 | 1.21 |
| Max drawdown | $1,244 | $3,731 |
| Net / max drawdown | 6.9 : 1 | 6.9 : 1 |
| Profit per month | +$341 | +$1,023 |
| Average winner / loser | $77 / −$120 | $232 / −$359 |
| Largest loss (stop + commission) | −$122 | −$366 |
| Worst losing streak (5 trades) | −$598 | −$1,793 |
| Risk per trade at the 60-pt stop | $120 + costs | $360 + costs |
| Suggested risk capital (≈ 3 × max drawdown) | $3,500–4,000 | $11,000–12,000 |
Year by year
| year | trades | net | PF | win |
|---|---|---|---|---|
| 2024 (Aug–Dec) | 172 | +$2,472 | 1.38 | 68% |
| 2025 | 449 | +$4,437 | 1.24 | 65% |
| 2026 (to Sep 11) | 350 | +$2,680 | 1.18 | 64% |
| in-sample (→ 2025-12-31) | 623 | +$6,866 | 1.27 | net/DD 6.7 |
| out-of-sample (2026) | 350 | +$2,680 | 1.18 | net/DD 2.3 |
How robust is it?
Walk-forward check
The in-sample champion is the same thin 10-minute long-only family every time, with in-sample net/DD of 6–13, and it never reproduces that forward — by the last cut it loses. Taking the top of a leaderboard from this sweep would have over-fit at every date. A “plateau” rule (pick the configuration whose stop/target neighbours also score well, with at least 150 in-sample trades) does no better on its own: it picks 15- or 10-minute families at three of the four cuts and they lose forward as well.
At the default settings
A pullback with a 40/80-tick bracket fires on a large share of all bars, and at a 32% win rate the 1 : 2 bracket does not cover it. This is the baseline the sweep has to beat, and the reason the recommended set looks nothing like the defaults.
| configuration (defaults) | trades | net | PF | max DD | win |
|---|---|---|---|---|---|
| 3m Both S40t T80t noEMA ETH | 20,597 | −$44,728 | 0.85 | $45,248 | 32% |
| 15m Both S40t T80t noEMA ETH | 4,944 | −$10,574 | 0.85 | $10,668 | 32% |
| 1m Both S40t T80t noEMA ETH | 45,863 | −$100,396 | 0.85 | $100,672 | 32% |
| 5m Both S40t T80t noEMA ETH | 13,433 | −$24,197 | 0.88 | $24,375 | 33% |
Know before you trade it
- Selection bias — measured, not assumed. 35,700 configurations were searched, and the walk-forward check shows the in-sample winner failing forward at every cut-off. The recommended set was chosen for its recurrence across cut-offs and its plateau, but the final choice between it and its neighbours was made with the whole period in view, so even its 2026 “out-of-sample” figures carry some selection. The forward segments in the walk-forward check (PF 1.18–1.25) are the numbers to plan on.
- Two years, one regime. The sample covers Aug 2024 → Sep 2026, a period in which NQ trended up; longs contributed three-quarters of the net. The filter is symmetric, so a sustained downtrend should flip the balance rather than break the strategy, but that is untested.
- Instrument-specific. The bracket is in ticks, so the set does not transfer: on the two months of MES history available the same inputs lose (PF 0.79, 53 trades) because 80 MES points is 1.2% of price versus 0.35% for MNQ.
- Fill assumptions. Both engines fill stops at the stop price without slippage and assume the target limit fills when touched; live fills will be a few ticks worse on average. The 2-tick slippage row is the realistic floor.
- Contract rolls. The replica rolls at the first bar of each new contract’s NT8 history with back-adjustment; NT8 uses its own roll dates. The two agreed to within one trade, so the effect is negligible, but roll-week trades are the least reliable in either engine.
Getting started
- Deploy the recommended set on MNQ (3-minute) in simulation first, sized for a $120 stop per contract, and compare the first 60–80 live trades against the forward statistics (PF ≈ 1.2, ~65% winners, ~1.8 trades/day, ≈ $340/month per contract). A PF below 1.0 after 80 trades or a drawdown beyond $1,800 per contract is outside anything seen in the test and is the signal to stop.
- Do not add breakeven, trailing or a per-day cap to this set; all three were tested and hurt.
- Do not chase the leaderboard. Re-optimising to whatever tops the in-sample ranking is exactly the procedure the walk-forward check shows losing money; if the set is re-tuned, re-tune within the 3-minute plateau (stop 240–320, target 120–160, EMA 20–50) and only on evidence from a forward segment.
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.