InverMind → Guides → Different trades live vs Analyzer
Guide
Why your strategy trades differently live than in the Strategy Analyzer (and how to know if it can be fixed)
By InverMind · Published July 2026 · Reading time: 7 minutes
The scene is always the same: you enable the strategy on a live account (or live demo), you wait for the entry the Strategy Analyzer would have taken… and it takes a different one. Or none. Or a late one. Or one in the wrong place. And you start wondering whether the backtest was a lie.
Before you throw away the strategy — or the computer — here's the thing: in the vast majority of cases the backtest isn't "lying"; there's a specific, findable technical problem. These are the five causes behind almost every case I've seen, including my own strategies.
Cause 1 — Forming bars vs closed bars
The Strategy Analyzer processes closed bars: when your code reads a bar, it's complete. In real time, your code receives ticks from a bar still forming: the High, Low and Close of "this bar" change with every tick.
If your logic builds levels (an opening range, a session high, an average) by reading the current bar without checking whether it's closed, live it will be using data the backtest never saw. Typical symptom: entries systematically one bar early or late, or breakout levels that don't match the analysis. The Calculate setting (OnBarClose, OnPriceChange, OnEachTick) decides when your code runs — and changing it changes the strategy.
Cause 2 — The backtest's fairy-tale fills
The analyzer fills orders at the exact crossing price, with no slippage and no queue. Live, a market order fills with slippage, and a limit order sometimes doesn't fill even when price touches it. This doesn't change trade times: it dirties prices and results. If your trades match in time and direction but the numbers don't quite square, you're here — and this isn't a bug, it's the toll of trading for real.
Cause 3 — You're not looking at the same data
Your provider's historical data and the live feed don't always tell the same story: different session template (RTH vs 24h), contract merge policy, minute-bar backtests vs tick-by-tick reality… The same logic on different data is a different strategy. Make sure the analysis uses the same instrument, the same session template and — if possible — tick replay.
Cause 4 — Reconnections and states
Live trading has things the backtest never meets: connection micro-drops, restarts, weekends. The NinjaTrader settings that manage this (ConnectionLossHandling, StartBehavior, max restart attempts) decide whether, after a drop, the strategy recalculates, waits until flat, or simply disables itself. Typical symptom: "it didn't enter today but the backtest did" right after a drop, or finding the strategy switched off without knowing since when.
Cause 5 — Order management doesn't behave the same
Managed stops and targets (SetStopLoss, SetProfitTarget) anchor to the real fill and usually behave. Problems come with manual management: breakevens computed from theoretical prices instead of the real fill, exits using the wrong call or overload, orders stepping on each other. The backtest forgives constructions that live trading punishes.
Diagnostic checklist
1.Reproduce the same days in Market Replay (tick by tick) and compare with the live log, trade by trade.
2.Make the strategy print its levels and triggers to the Log (range, breakout levels, trigger time).
3.Verify analysis and live use the same instrument, session template and data series.
4.Find the first divergence: do the times differ, or only the prices?
5.Different times or direction → causes 1, 3 or 4 (bug or configuration). Prices only → causes 2 or 5 (toll or order management).
When is it a bug and when is it just "real life"?
Small price differences will always exist: that's slippage and latency, and no fix in the world removes them. What's not normal — and can be fixed — is different trades: different times, different direction, entries the analysis takes and live doesn't (or the other way round). That's structural, it has a concrete cause in the code or configuration, and it can be located.
🔧 Is your strategy doing exactly this and you can't find where? That's literally my job: NinjaScript strategy repair — free diagnosis, fixed quote, and a full refund if I can't fix it.
Frequently asked questions
Small price differences are normal: slippage, latency and the order queue exist and the backtest doesn't see them. What's not normal is different trades: different times, different direction, missing entries. That's structural — and fixable.
Compare the time and direction of each trade, not the price. If live and the analysis of the same day agree on when and which way to enter but differ a few ticks in price, that's slippage. If they enter at different moments, in different directions, or one enters and the other doesn't, that's a code or configuration problem.
Almost always. Most of these failures concentrate in specific spots: how bars are read, how orders are managed, or how reconnection is configured. You fix the exact spot and the strategy's logic stays intact.
Don't have NinjaTrader 8 yet? It's free for simulation and backtesting.
Download it here →
Risk Disclosure: Futures and forex trading involves substantial risk and is not appropriate for all investors. An investor could potentially lose all or more than the initial investment. Risk capital is money that can be lost without jeopardizing one's financial security or lifestyle. Only risk capital should be used for trading and only those with sufficient risk capital should consider trading. Past results are not necessarily indicative of future results.
Hypothetical Performance Disclosure: Hypothetical performance results have many inherent limitations, some of which are described below. No representation is being made that any account will or is likely to achieve profits or losses similar to those shown. In fact, there are frequently sharp differences between hypothetical performance results and the actual results subsequently achieved by any particular trading program. One of the limitations of hypothetical performance results is that they are generally prepared with the benefit of hindsight. In addition, hypothetical trading does not involve financial risk, and no hypothetical trading record can completely account for the impact of financial risk in actual trading. For example, the ability to withstand losses or to adhere to a particular trading program in spite of trading losses are material points which can also adversely affect actual trading results. There are numerous other factors related to the markets in general or to the implementation of any specific trading program which cannot be fully accounted for in the preparation of hypothetical performance results and all of which can adversely affect actual trading results.
NinjaTrader® NinjaTrader® is a registered trademark of NinjaTrader Group, LLC. No NinjaTrader company has any affiliation with the owner, developer, or provider of the products described here, nor has any interest in, or provides any recommendation for the products or services described.
Want to see this logic running with real money? Check the ORB strategy and its live-account results, published week by week — losers included.