Paper results rarely survive contact with a live broker. Here is what changes in five parts of your strategy once you flip the switch.
Automate your trading strategy
Start freeYou ran 480 paper trades with a clean equity curve, flipped the bot to live, and the first week came back wrong. Win rate was similar, but P&L was not. The gap is almost never the strategy; it is the execution behavior that paper trading does not simulate.
Most paper engines, including the ones built into broker platforms, assume your order fills at the price you saw when the signal fired. Live markets do not work that way. Before you scale a bot up, you need to understand the five things that change the moment real money is on the line.
1. Fill prices are not signal prices
In paper mode, a market order at 10:31:04 fills at the 10:31:04 mid-price. In live mode, it fills at whatever the next available counterparty price is, after your order travels to the exchange and gets matched.
For liquid instruments during regular hours, the difference is small but consistent. Expect 1 to 3 basis points of slippage on a market order in a top-50 equity. For thinly traded instruments, options, or anything outside regular hours, slippage can run 10 to 50 basis points or more per fill.
The fix is not to switch every order to a limit, since limit orders introduce a different problem (see queue behavior below). The fix is to model realistic slippage in your TradingView backtest before you go live. If your strategy is profitable assuming zero slippage, it may not survive 5 basis points of friction.
2. Margin and buying power behave differently
Paper accounts usually grant you a static buying power figure that does not change based on real broker rules. Live accounts apply Reg T, portfolio margin, overnight margin haircuts, and concentration limits in real time.
Two specific things to check before going live:
- Your bot's position sizing logic. If it assumes 4x intraday buying power but your account is cash-secured, orders will be rejected.
- Overnight margin requirements. A position you can hold intraday may require 2x the margin to hold overnight. If your bot does not flatten by close, you can get force-liquidated at open.
Run a small live position through your bot and check that the broker's reported buying power after the fill matches what your bot expected. If it does not, your sizing logic needs adjustment.
3. Order rejections become a real category
Paper trading rarely rejects orders. Live brokers reject for dozens of reasons: insufficient buying power, locate failures on shorts, options approval level, restricted symbols, after-hours eligibility, order type not supported for the instrument, exchange-specific rules, and risk system flags.
Your bot needs explicit logic for what happens on a rejection, because the paper environment default of ignoring failed orders is rarely the right live behavior. If a long entry rejects, your strategy is flat when it expected to be long; if an exit rejects, you are still holding a position you thought you closed.
At minimum, your bot should:
- Log the rejection reason from the broker
- Decide whether to retry (and how many times) or abort
- Alert you when a rejection happens, especially on exits
- Reconcile its internal position state against the broker's reported position after every order event
4. Latency stops being free
In paper mode, signal-to-fill latency is effectively zero since the order books itself immediately. In live mode, you have signal generation time, transport to your relay layer, broker risk checks, transport to the exchange, and matching engine time; end-to-end, that comes out to anywhere from 50 milliseconds to several seconds depending on your signal source and broker.
For most strategies operating on minute bars or longer, this does not matter much. For anything that depends on filling near a specific price (breakouts, mean-reversion entries at a level, exits at a stop), latency directly impacts your fill quality.
Two practical checks:
- Measure your actual end-to-end latency. RelayDesk logs the timestamp at each hop in its trace log, so you can compare signal generation time to broker fill time across your first 50 live trades.
- Decide whether to use market or limit orders based on that latency. If your average end-to-end latency is 800 milliseconds and price moves 5 basis points in that window, a market order will eat that slippage every time. A marketable limit with a small offset may be a better choice.
5. Queue behavior changes everything for limit orders
This is the change that catches the most paper-tested bots off guard. In paper mode, if you place a limit order at the bid and the bid trades, you get filled. In live mode, you join the back of the queue at that price level, and the trades that happen at your price fill the orders placed before yours first. If the price ticks away before the queue clears to your position, you do not get filled at all.
Two patterns emerge once queue dynamics kick in:
- Your live fill rate on limit orders will be lower than your paper fill rate. Often substantially lower for fast-moving instruments.
- The trades you do get filled on are biased. You get filled when the market moves against you (adverse selection) and miss the fills when it moves in your favor.
This is why a paper backtest of a limit-order strategy can show a 75% fill rate and positive expectancy, then go live and show a 40% fill rate and negative expectancy. The strategy is identical; the queue dynamics are not.
If your bot relies on limit orders, model partial fills and queue position in TradingView's Strategy Tester before going live, and treat any backtest that assumes 100% fills at your limit price with real skepticism.
What to do before you go live
Run through this list before you flip the switch on real capital:
- Run at least 100 trades in paper mode with slippage and latency assumptions set to realistic values, not zero
- Verify your bot's position sizing matches your live account's actual buying power, including overnight requirements
- Add explicit rejection handling logic, including a path for failed exits
- Measure end-to-end latency on your first batch of live orders and adjust order types if needed
- For limit-order strategies, audit your live fill rate against your paper fill rate after the first 50 trades
The bots that survive the paper-to-live transition are not the ones with the best backtest; they are the ones whose authors understood which execution behaviors would change and built logic for each one. Start small, let the first 50 live trades show you where your assumptions broke, and scale from there.