My bot's first live month won 72% of its trades and still didn't make money. That's the mistake everyone notices. The quieter ones came earlier, in the weeks before any real money was involved, and a couple only surfaced months later.
This is the list, in the order I made them. Each one says what happened and what changed afterwards.
In the first weeks
The bot traded the wrong expiry
The bot was meant to trade the weekly Nifty option. For its first days it traded the monthly one. A bug in how the expiry date was turned into a contract symbol always produced the monthly format, so the search for "the nearest weekly contract" quietly returned something else. Nothing crashed, because a wrong contract that trades normally throws no error.
What changed: fixed on 24 February. The contract lookup now also matches on expiry date, strike and option type, so a symbol-format mistake can't silently pick the wrong contract.
Some stops pointed the wrong way
When a trade's direction was changed after the original signal, the stop-loss was still worked out from the original direction. A call trade could end up with a stop that belonged on a put.
What changed: fixed on 25 February. The stop is now calculated from the direction of the trade actually taken.
One bad candle broke the loop
A function that ran at the end of every five-minute candle hit an error on one malformed candle. Nothing caught it, so the error fired again on the next candle, and the next. One data problem became a repeating failure.
What changed: fixed on 25 February. An error on one candle is now caught and logged, and the bot moves on to the next.
My own button crashed the bot
The dashboard has a manual exit button. The trade manager checked the position and used it a moment later. If I pressed the button in between, the position was gone and the manager hit an empty value.
What changed: fixed on 25 February, by having the trade manager keep its own copy of the position while it works.
In the first live month
I believed a backtest
The classic 15-minute opening range breakout arrived with a backtest of 530 trades, a 68% win rate and a profit factor of 7.9. Run forward, 45 trades won 20% of the time, and the average trade lost about 13% of the option premium.
What changed: I stopped trusting smooth curves and started replaying real sessions, with costs and realistic fills. The guide to backtesting covers the whole story.
I read the win rate first
In April, 52 of 72 live trade records won. A 72% win rate felt like proof. But the average loss was nearly four times the average win, a payoff ratio of 0.26. At that payoff, break-even needs a win rate of about 79%. I was reading the first number and skipping the second.
What changed: every monthly bot scorecard now puts win rate, payoff ratio and profit factor side by side, so neither number gets read alone.
I started closing trades by hand
Two of April's live records were closed by hand from the dashboard. It crept up from there: 5 in May, 2 in June, 1 in July, then 16 in August.
What changed: manual exits are logged with a timestamp and counted in every monthly scorecard. The paper vs live post has the full numbers.
Found later
A column didn't mean what its name said
My trade log has a column called slippage. For months I read it as the price lost in the fill. It actually records how many index points the market moved between the signal and the order, and it's filled in for paper trades as well as live ones. I found out in September.
What changed: I now treat real fill slippage as unmeasured, and say so wherever it comes up.
What ties them together
Nearly every item here was quiet. The bot ran, the logs filled up, and the trades looked reasonable. Each mistake was found by reading the log closely, not by an alarm going off, which is why the log review is now the part of the day I spend the most time on.
The first monthly scorecard is May 2026, a month in which the main strategy's wins outweighed its losses before charges.
This post describes my own mistakes building and running a trading system, for information only. It is not investment advice, and past results say nothing certain about the future. I am not registered with SEBI as an investment adviser or research analyst.