CBDR Compass on Micro Crude Oil (MCL)
Should you use it?
Use with cautionUsable, with caveats
It meets the brief on MCL, 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.
One of the 9 bots chosen to run together in a single account — trading 20:00–09:30.
Recommended set
MCL · 3-minute bars · Long · Fade at ±1 SD, CBDR window 16:00–20:00 ET · 20:00–09:30 ET entry window · 2× ATR stop · target at the CBDR level
Net profit
+$932
1 MCL contract · after commission
Profit factor
1.34
$1.34 won per $1 lost
Max drawdown
$306
net / drawdown 3.0 : 1
Win rate
39%
180 trades · 0.3 per day
Per month
+$37
largest loss −$134
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.34 and 3.0 : 1 on 180 trades.
- Profitable in every calendar year of the test (2024: +$3, 2025: +$505, 2026: +$659); 15 of 26 months positive; best 2026-03 (+$734), worst 2026-06 (−$202).
- Long / short split. Longs +$932 on 180 trades, shorts $0 on 0.
- Exposure. Average 47 minutes in the market, 0.3 trades per session; every trade closed within the Globex session it was opened in (1 at the 15:55 flatten, 0 at the 17:00 session close), nothing carried across the 17:00 break or a roll — but note that overnight entries are held through the night session.
- Walk-forward. The in-sample winner failed forward at 4 of 4 cut-offs. The recommended set was positive forward at 4 of 4 cut-offs (forward PF 1.46–1.58, net/DD 2.3–4.0) 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. 0 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 (27 vs 27); headline figures come from NT8’s own engine.
Set it up in NinjaTrader
Add ToredaCbdrSdStrategy to a MCL 3-minute chart (or the Strategy Analyzer) and change only these inputs — everything else stays at the strategy default:
| Input | Value | Note |
|---|---|---|
| Data series | MCL, 3 Minute, Last | Front-month contract; NT8 merge policy “MergeBackAdjusted” supplies the history. |
| Mode (CBDR Strategy) | Fade | Default Fade. A touch of the ±k SD level is faded back toward the box; one attempt per side per window. |
| Trigger Level | 1 | Default 2 (k = 1–4 SD of the range). |
| Direction | Long | Longs 180 / shorts 0 trades. |
| Start Hour / Start Minute | 16 / 0 | Default 16 / 0 (America/New_York, pinned in the strategy). |
| End Hour / End Minute | 20 / 0 | Default 20 / 0. |
| Stop Unit / Stop ATR Multiple | ATR / 2 | ATR(14) multiple. |
| Target Unit / Target Ticks (Risk) | ATR / 1.5 (unused) | The strategy targets the CBDR high/low (Fade) or the next SD level (Continuation) for every trade; leave the default. |
| Use Breakeven / Use Trail | false / false | |
| Use Time Window (Session) | true | Window 20:00 → 09:30 (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” (≈ $2.20 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) | +$932 | +$2,796 |
| Gross profit / gross loss | $3,687 / −$2,755 | $11,060 / −$8,264 |
| Commission paid | $396 | $1,188 |
| Profit factor | 1.34 | 1.34 |
| Max drawdown | $306 | $918 |
| Net / max drawdown | 3.0 : 1 | 3.0 : 1 |
| Profit per month | +$37 | +$111 |
| Average winner / loser | $52 / −$25 | $156 / −$76 |
| Largest loss | −$134 | −$403 |
| Worst losing streak (9 trades) | −$227 | −$682 |
| Risk per trade at the stop | ATR-based | ATR-based |
| Suggested risk capital (≈ 3 × max drawdown) | $918 | $2,754 |
Year by year
| year | trades | net | PF | win |
|---|---|---|---|---|
| 2024 | 38 | +$3 | 1.01 | 39% |
| 2025 | 88 | +$505 | 1.62 | 42% |
| 2026 | 54 | +$659 | 1.47 | 41% |
| in-sample (→ 2025-12-31) | 126 | +$508 | 1.40 | net/DD 3.3 |
| out-of-sample (2026) | 54 | +$659 | 1.47 | net/DD 2.3 |
How robust is it?
Walk-forward check
The in-sample winner held up forward at 0 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 ($291) sits at the low end of what the same daily results could have produced — 66% of resampled histories draw down further, and 1 in 20 reaches $638 or more. The sample is thin enough that 3.7% of resampled histories end below zero and the 3 : 1 brief holds in 53% of them. Reordering the same trades (second row) moves the drawdown a lot: the 95th-percentile sequence-risk drawdown is $635. Size the account on the 95th-percentile drawdown ($638 per contract) plus margin, not on the observed $291, and expect up to 134 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 Fade L2 cbdr1600-2000 ETH | 405 | −$790 | 0.92 | $1,939 | 39% |
| 2m Both S40t T80t Fade L2 cbdr1600-2000 ETH | 404 | −$1,331 | 0.86 | $1,928 | 39% |
| 3m Both S40t T80t Fade L2 cbdr1600-2000 ETH | 403 | −$1,076 | 0.89 | $2,182 | 38% |
| 5m Both S40t T80t Fade L2 cbdr1600-2000 ETH | 400 | −$2,448 | 0.75 | $2,836 | 38% |
| 10m Both S40t T80t Fade L2 cbdr1600-2000 ETH | 395 | −$1,808 | 0.81 | $2,234 | 38% |
| 15m Both S40t T80t Fade L2 cbdr1600-2000 ETH | 393 | −$1,970 | 0.80 | $2,504 | 38% |
| 30m Both S40t T80t Fade L2 cbdr1600-2000 ETH | 386 | −$2,234 | 0.76 | $3,000 | 36% |
Know before you trade it
- Selection bias. 296,352 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. 0 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 MCL 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.
CBDR Compass 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.