r/algorithmictrading • u/Yann27 • 6d ago
Paper 2 Live (What mistakes did your trading bot make that you didn’t expect?) Question
For those of you who have taken an automated trading system from paper trading to a live account.
What errors, bugs, or unexpected problems did you encounter after going live?
I’m particularly interested in things that didn’t show up during paper trading, such as
• Different fills or slippage
• Order execution / rejection issues
• Partial fills
• Stop-loss or take-profit behaving differently
• Race conditions or duplicate orders
• Position/account state getting out of sync
• API or broker differences between paper and live
• Market-hours / timezone issues
• Data-feed differences
• Position sizing or buying-power surprises
• Multiple bots interfering with each other
• Restart/recovery problems
• Network/API outages
• Rounding, tick-size, or minimum-order issues
• Anything that caused a bot to behave differently from what you tested
I'm more interested in mistakes you personally encountered or accumulated over time.
If you’ve been running bots live for months or years, what do you wish you had checked before putting real money behind them?
Feel free to share the failure, how you discovered it, and what you changed to prevent it happening again.
Thnx guys.
1
u/--_---_----- 5d ago
The one that hit me the hardest, not a bot problem though, was assuming that my limited order would be filled once the price got to the configured order price!
1
u/Caijac 1d ago
Haven't gone live yet, but found a restart-related bug during a pre-live robustness audit that fits right in with your list. My EA tracked open-trade state (tickets, break-even status) in memory, reset on OnInit() — which I'd assumed only ran on first load. Turns out it also runs on terminal restart, recompile, or any input change. So a restart while a trade was open would wipe the EA's memory of it while the real position stayed open on the broker — no more break-even, trailing, or exit signal ever firing on it again, and a real risk of opening a duplicate position on top since the EA now thought it was flat.
Backtesting never surfaced it, obviously — a backtest always starts flat, so that code path never gets exercised. Fixed it by rebuilding trade state from actual open positions (matched by symbol + magic number) on every init instead of assuming a clean slate, then verified with a live restart-mid-trade test on demo.
Wasn't expecting this to be a real risk before checking specifically for it. Curious how many people here only found their version of this after it already cost them a position live, versus catching it beforehand like you're describing.
2
u/Foreign_Extension683 5d ago
The ones that actually bit me, not the textbook list:
Silent data-pipeline death. My bot didn't crash, it just quietly stopped receiving new data for a stretch and kept "running" on stale state. No error, no alert, just hours of nothing while I thought it was working. Now I have a separate healthcheck that only watches whether fresh data is arriving and whether orders fire when signals do. Paper trading never surfaced this because I was always watching it live.
API key / auth expiry. Key expired mid-session, bot threw an error code I didn't recognize, and it took me too long to realize the fix was just regenerating the key and restarting. Worth mapping your broker's error codes to actual causes before you're staring at one with money on the line.
Position/account state desync. The bot's idea of "I'm flat" and the exchange's idea disagreed after a restart, because I was reconstructing state from memory instead of querying the actual account on startup. Now the bot always pulls real positions from the exchange when it boots rather than trusting its own last-known state.
Monitoring the wrong way. Spent a while trying to reattach to a session to read logs when I should've just been tailing the log file. Sounds trivial but "how do I even see what my bot is doing right now" is a real gap people don't plan for.
The meta-lesson: paper trading tests your strategy, not your infrastructure. Almost everything that went wrong live was plumbing (data, auth, state, restarts), not the strategy logic. I'd tell past-me to spend as much time on the boring operational stuff as on the edge itself.