three places your numbers can diverge
if a strategy looks great in a backtest but feels different live — or the edgeful optimizer and TradingView's strategy report disagree, or your indicator levels don't line up with the report page — you're not doing anything wrong. these are different tools measuring the same idea in slightly different ways.
there are three comparisons that trip people up:
backtest (TradingView's strategy report) vs your live broker fills
the edgeful algo optimizer vs TradingView's strategy report
your TradingView indicator levels vs the edgeful report page
let's go through each, then the checklist to reproduce a number you're trying to match.
why backtest doesn't equal live
a backtest shows you what the chart would have done at clean prices. your broker shows you what the market actually did — with a real contract, real fills, and real slippage. a few reasons they drift apart:
contract and data source
TradingView charts a continuous contract by default (like NQ1!) — a synthetic series that splices expiring contracts together. your broker trades the actual front-month (like NQM2026). those are slightly different prices, and the gap widens around rollover. backtest on the continuous contract, trade the front-month live — and expect small differences.
bar-close timing vs the fill
TradingView strategies fire on bar close — the moment a candle completes. your broker fills on the next tick after it receives the webhook, which we see at around 300ms on average. price can move in that window, so your live entry is often a tick or two off the backtested entry. that's not a bug — it's the time it takes to send and fill an order.
stop-loss slippage
in the strategy report, a stop fills at the exact stop price — always. live, when the stop price trades, edgeful sends a market order to close, and a market order fills at the best available price (a few ticks worse on a fast move). on winners that slippage averages out; on losers it always hurts — so live exits usually look slightly worse than the backtest.
the strategy report isn't a simulator
it's a replay at clean prices. it doesn't model the send-to-fill delay, market orders walking the book, spreads widening around news, or broker-side rejections. treat a headline like "73% win rate, $4,200 net" as the chart's version of the trade — not a forecast. the gap to live is usually a few percent, not a rewrite.
why the optimizer doesn't equal TradingView
the edgeful algo optimizer and TradingView's strategy report run the same logic but report it differently. three things explain most of the gap:
commissions — the optimizer reports gross P&L. it doesn't subtract commissions. at $5 per round-trip across 200 trades, that's $1,000 the optimizer doesn't show. subtract it yourself before comparing
contract rollovers — TradingView's continuous contract splices rollovers one way; the optimizer handles them on its own schedule. around roll dates, the two can show different fills
decimal precision — a few 4-decimal instruments get rounded to 2 decimals in the optimizer, which nudges fills slightly
to get them close: match the ticker symbol, date range, chart timeframe, session times, weekdays-to-use, and every algo setting — then account for commissions manually. if net P&L is within ~15-20% after commissions, that's a normal match.
why your indicator levels don't match the report
this one is almost always session and timezone, not a data problem. the report page and your TradingView indicator have to be anchored to the same session, or they're measuring different things.
three things to line up:
session — the report's session dropdown (NY, London, Asian) has to match the session your indicator is set to
timezone — the indicator's timezone has to match the session's anchor. NY is 9:30 AM - 4:00 PM America/New_York; London is 8:00 AM - 4:00 PM Europe/London. a mismatched timezone is the single most common reason levels look off
variant — for futures, forex, and crypto, use the "by session" variants (gap fill by session, previous day's range by session, pivot points by session). the standard versions use the calendar-day close, which is for stocks and ETFs
if all three match and the data still looks off, it's usually just a refresh — see the TradingView indicators access article.
why the same backtest changes over time
run the same backtest in January, then again in March, and the January result will have moved. that's expected — re-running pulls in the new February and March data, so the tested period is longer than it was. the lookback window is the result, so two backtests over different date ranges will never be identical.
this is also why a single short backtest isn't reliable. a setup that shows up over the last month might vanish over 6 months — look for numbers that hold across 3-month, 6-month, and 1-year lookbacks, and aim for at least 30-50 trades before you trust a result.
how to reproduce a number you're chasing
whenever two tools disagree, line these up one at a time until they match:
symbol / contract — same continuous-vs-front-month choice on both sides
date range — exact same start and end dates
chart timeframe — same candle (1m, 5m, 15m)
session and timezone — same window and same anchor (e.g. NY, 09:30 - 16:00 ET)
weekdays and every algo setting — same filters, stops, targets, and direction
costs — subtract commissions and expect a little slippage on stops
work through them in order and the numbers will converge — usually to within a few percent.
when to reach out
most gaps are explained by the points above. open an in-app chat if you see something outside that:
a broker trade TradingView never alerted on (or an alert that never reached the broker)
a fill more than a few seconds after the alert fired
slippage way outside normal — double-digit ticks on a quiet bar
optimizer vs TradingView net P&L still off by far more than ~15-20% after commissions, or the trade counts differ materially
include the trade date, ticker and contract month, a TradingView screenshot, and the matching broker statement line so the team can trace it.