About MWM Trading
An open Python platform for traders who don't want to sit in front of charts all day. Write a strategy in Python (or have Claude write it for you), backtest it on a serious engine, and lock it as evidence-complete when it has earned the right to be there.
What it is
MWM Trading is a hosted backtesting and research platform for prop-firm futures day traders, on the instruments most of us actually run: MNQ / NQ, MGC / XAUUSD, and BTCUSD. More rigorous than the alternatives: every strategy must clear a 9-step Ironclad protocol (falsification battery, walk-forward, prop-firm gate sim) before it earns the IRONCLAD-VALIDATED chip. Backtests run under real prop-firm constraints, daily-loss plus trailing-DD, so a green run reflects what would survive a Combine.
Who it's for
- Prop-firm futures day traders who want a serious backtester and curated research without sitting on charts all day.
- People comfortable asking Claude or ChatGPT to write Python. You don't need to be a quant.
- Anyone tired of Pine Script limitations and ready for real Python, NumPy, pandas.
What's different
- A real backtester. Slippage and commissions modelled per symbol. No magical fills at the high of the bar.
- Ironclad protocol. A 9-step evidence lock that gates strategies from "looks good" to "evidence-complete". Built into the platform, not a checklist in a README.
- Scriptable, not just clickable. The read side of every screen is also a plain HTTP endpoint, and the same surface is exposed as MCP tools, so you can drive your own research from a local Claude or ChatGPT session instead of only from the UI.
- Engine invariant. Every entry in a backtest must carry a stop-loss by the time it fills, or the cell is rejected at load. No naked positions, ever.
- A knowledge base that's actually useful. Risk management math, walk-forward technique, strategy write-ups, all searchable from the API too.
The Ironclad protocol
Most trading strategies fail live not because the idea was wrong, but because the backtest was wrong. Curve-fit parameters, look-ahead leakage, fills that assumed zero slippage at the exact high of the bar, no account for drawdown gates. The strategy looked great. It just never had to survive contact with real money.
Ironclad is the answer to that. It is a 9-step evidence protocol that every strategy on this platform must clear before it earns the IRONCLAD-VALIDATED chip and is allowed anywhere near a live account. Not a checklist, not a formality. A gate. A green Ironclad run is designed to reflect what a strategy would actually need to survive a Topstep 50K Combine, daily-loss and trailing-drawdown included.
If a strategy hasn't cleared it, it cannot be pointed at a funded account. That is not a soft rule. It is structural.
- Spec and vocabulary lock. Every parameter the strategy uses is declared up front in a spec file, named and bounded. No magic constants buried in the code. If a number isn't named and bounded, you can't reason about whether you've overfit it. So you name it first.
- Backtest harness parity. The strategy must return identical orders whether it's running under the backtest harness or the live runtime, tested across a long sample. If what you tested isn't byte-for-byte what trades, your backtest is fiction. This step proves it isn't.
- Walk-forward validation. An anchored walk-forward run across rolling windows, where the mean out-of-sample per-trade Sharpe must clear a minimum floor. The parameters never see the out-of-sample data. This is the step that separates a genuine edge from an in-sample fit. Most strategies don't clear it. That's the point.
- Slippage and cost realism. Slippage ticks above zero. Commission per contract above zero. Backtest costs are never free. Free fills at the bar high is probably the oldest lie in backtesting, and this step refuses to play along.
- Paper wire-up smoke test. At least 100 fills on a paper account, checked order-for-order against the harness. The model saying "buy" and the broker actually filling are two different things. This step closes that gap before real money is involved.
- Detection-layer parity. The live runner only sees a finite rolling window of history, not the full dataset. This step verifies that setup detection in the backtest runs under that same constraint, not with unlimited lookback. A strategy that detects setups with data it wouldn't have had live isn't a strategy. It's hindsight.
- Loader safety rail. The loader physically refuses to start any cell whose target account isn't on its allow-list for its current Ironclad status. It also refuses any cell missing a panic-flatten handler. An unvalidated strategy cannot be pointed at a funded account, not even by accident. And every cell, without exception, must be able to flatten itself in a crisis.
- Audit log and ledger. At least one audit-log row references the cell, recording when it was saved and by what. Every change is traceable. Nothing goes live without a paper trail.
- Evidence-lock flag. The cell carries
ironclad_status: locked. That's the final sign-off, human and machine both, declaring that all upstream evidence has been reviewed and cleared. The chip is earned. The lock is what proves it.