NineFifteenAM

Mistakes that cost me

What I got wrong in month one

4 min readBy NineFifteenAM

Mistakes from my trading bot's first weeks and first live month: the wrong expiry, stops facing the wrong way, a backtest I believed, and a misleading win rate.

Short answer

In its first weeks my trading bot traded the monthly option instead of the weekly one, set some stop-losses for the wrong direction, got stuck in an error loop after one bad candle, and could crash when I pressed my own manual exit button. In the first live month I trusted a backtest that fell apart going forward, and read a 72% win rate as success when the average loss was nearly four times the average win. All four bugs were fixed within days; the reading mistakes are now tracked in the monthly bot scorecard.

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.

Questions people ask me

What mistakes did you make in the first month of your trading bot?

The bot traded the wrong expiry, some stop-losses used the wrong direction, an error in one function repeated in a loop, and a manual exit from the dashboard could crash the trade manager. I also trusted a backtest that didn't hold up when the strategy ran forward, and judged my first live month by its win rate.

Why can a 72% win rate still lose money?

Because the size of wins and losses matters as much as how often you win. In my first live month the average loss was nearly four times the average win (a payoff ratio of 0.26). At that payoff you need to win about 79% of the time just to break even.

Did any of these mistakes cost real money?

The four bugs were found and fixed in paper mode in February, weeks before the first live trade on 9 April. The mistakes in how I read results, and the manual exits, happened with real money.

mistakestrading botbugslessonsfirst monthwin rate
N

NineFifteenAM

One trader building an options bot for Indian index markets since early 2026. I write down how it is built, what broke, and what it cost — no tips, no calls, no returns.

Related

01 Jun 2026
Trading bot scorecard: May 2026May 2026: my bot's main strategy won back slightly more than it lost, before charges, and paper trading agreed. One trade in a new strategy cost the month.
Bot scorecard
29 Sept 2026
A day in the life of a trading botWhat my Nifty options trading bot does from 6 AM to the evening: the login, the 7 AM data pull, the health checks, the open, the close and the log review.
The journey
29 Sept 2026
Zerodha Kite Connect: what it costs and whether it's worth itWhat Kite Connect costs in 2026, what the free and ₹500 plans include, the rate and data limits you'll hit, and who the paid plan is worth it for.
Guides