What Live Trading Taught Us
No backtest substitutes for trading real money. We've been doing it for months, measuring everything and being wrong in front of our own records. These are the lessons we kept — unpolished, because every one of them cost something to learn.
1. The exchange is the only truth
Every trading system keeps two sets of books: the exchange's and its own. And its own lies — not out of malice, but by accumulation: a fill that never registered, a fee charged in the asset instead of dollars, an internal transfer counted twice. We learned to end every argument with the same question: what does the exchange say? When our books and the exchange disagree, the exchange wins. Always. A system that audits itself against its own labels is telling itself a story.
2. Signals decide; mechanics only execute
A fixed rule can execute a decision, but it should never make one. Every time we let a mechanical threshold decide on its own — a fixed stop, an automatic re-buy at a fixed distance — the market found exactly the regime where that rule loses. The right structure has two floors: analysis decides what and when; mechanics place the orders. When the floors blur, the system trades blind while believing it thinks.
3. Stale data is worse than missing data
This one was expensive. An excellent signal — one of our best — kept ruling for hours on information that was days old, and the decisions it drove described a market that no longer existed. Missing data forces you to be careful; stale data gives you confidence in the wrong direction. Now every signal carries its age, and any signal past its shelf life automatically loses its vote. If signals rule, the first check is that the signal is alive.
4. Stop-losses depend on the instrument, not on conviction
In futures, trading without a stop is handing over the account: leverage waits for no one. In spot, a tight stop does the opposite — it sells the bottom of every wick and misses the bounce. The difference isn't courage but nature: a leveraged position lives minutes or hours and has no time to wait; a spot position can wait months and nobody liquidates it. Same portfolio, two instruments, two rules — and that is not inconsistency.
5. Attribution lies: the one who cashes in isn't the one who was right
For a while we believed we had one brilliant strategy because its results column was the best. It was an accounting mirage: that piece only sold what others had bought well, and only when it was in profit. The one who harvests the grapes looks better than the one who planted the vineyard. Since then, to judge any component we ask who opened AND who closed each position — and we measure the full cycle, not the pretty half.
6. The total can balance while every row lies
Matching each sale against specific purchase lots redistributes results across trades: one row books too much, the next too little, and the sum comes out perfect. We saw apparent gains that were real losses and apparent losses that were gains — with an exact total. The lesson: the yardstick for adding is not the yardstick for judging. To know whether a trade was good, compare it against the real average cost of what you bought, not against whichever lot the bookkeeping dealt it.
7. Realized profit is a fact; opportunity cost is a hypothesis
"What if it keeps going up?" is the most expensive sentence in trading. Taking profit while it exists is the only operation whose outcome you know with certainty at the moment you do it. Everything else is a bet financed with profit you already had. Our default became: harvest the green whenever you can — and let signals, not hope, decide the exceptions.
8. Analysis before execution
At one point we ran many strategies in parallel, and the diversification turned out to be dispersion: pieces that didn't win, capital allocated by inertia, and complexity that hid the mistakes. When we measured each one against the exchange's real records, few survived. The uncomfortable lesson: most strategies don't win; what wins is honest measurement and unsentimental retirement. And when you retire something, hunt down every corner where its name still lives — configurations have memory, and they resurrect what you think you deleted.
9. Does your limit count what you hold, or what you've promised?
A risk cap checked at the moment each order is placed cannot see the sibling orders waiting in the book. Twenty orders can each pass the check individually and together add up to several times the limit — with none of them violating it alone. If your orders live for hours, your real exposure is what you've committed, not what has executed. It's the same distinction that separates total balance from available balance, and most badly designed limits confuse the two.
10. An empty read is not an empty account
When an API fails, many libraries return "nothing" instead of an error. And "nothing", downstream, becomes zeros: zero capital, zero balance, zero position. A system that can't tell "I couldn't read" from "there is none" ends up making money decisions about ghost accounts. The rule we kept: when in doubt, keep the last good value — an old photo beats a blank one.
11. An alarm that fires on the normal teaches you to ignore the real one
We had alerts firing dozens of times a day on routine events. The result wasn't more vigilance but less: when everything is urgent, nothing is. The day a real anomaly appeared — activity that wasn't ours — it nearly slipped by in the noise. Now every alert answers one question before existing: does this require a human decision? If not, it gets logged and stays quiet.
12. Silence can't tell retired from broken
A data channel switched off on purpose and one that died of failure look identical in the logs: both are silence. More than once we diagnosed an "outage" that was simply something we had turned off weeks earlier. Before declaring an emergency over missing data, the right question is: does this input still exist by design?
13. Simplicity scales; distributed cleverness doesn't
We tried giving every account its own intelligence, its own parameters, its own adaptation. The result was impossible to audit and every account failed differently. The design that worked is the opposite: one account decides, the rest replicate at scale. What's proven gets copied — not reinvented in duplicate. Sophistication lives in one place, where it can be watched.
The meta-lesson, if we must pick one: almost none of our mistakes were calculation errors. They were two different yardsticks placed side by side without saying so, old data dressed as current, silences read as zeros and zeros read as silences. Live trading doesn't teach formulas — it teaches epistemology: what do you actually know, since when, and against what did you check it.
Published by TradingIA — lessons from live trading. This is not financial advice.