The Bot Was Right and I Wasn't: Nifty Short, 22-07
New system in the journal, and the first one I did not execute by hand. The signal came from a breakout bot I wrote in Rust — github.com/devover30/breakout-rust — running against Nifty on an intraday timeframe.
Profit: ₹1,462.50. The bot is not the problem in this post.
The system
- 09:20. Bot evaluates the opening range and fires a directional signal. On 22-07 it printed short Nifty.
- Execution. Express the short by selling a call. Sold 24,100 CE at 145.90, one lot.
- Exit, condition A: hold to 15:00 and close.
- Exit, condition B: close immediately if Supertrend (7, 3) flips green.
Two exits. Both mechanical. Both computable by a machine that does not have a pulse. That is the entire point of putting the signal in a binary in the first place — I wrote the thing precisely so that the decision would not route through me.
Worth noting the day: 22-07 opened gap-down on the pharma tariff noise. The bot did not know that and did not need to. It saw the structure of the opening range and said short. It was right for reasons it never articulated, which is how this is supposed to work.
What I actually did
Neither exit fired. Supertrend stayed red all morning. 15:00 was hours away.
I closed at 126.40, booking 19.50 points → ₹1,462.50 on a lot of 75. About 13% of the premium I had sold.
The reason was not in the system. The reason was that I was sitting on an open profit and did not want to watch it become a loss. That is the whole of it. No signal, no level, no rule — a feeling about a number on a screen.
What it cost
Nifty kept falling. Supertrend did not flip green for the rest of the session, which means condition B never fired and the correct exit was 15:00, several hours and a considerable distance from where I got out.
I am not going to publish a made-up figure for what the full hold would have paid, because I did not take that trade and reconstructing it after the fact is exactly the sort of story-telling this journal exists to prevent. What I will state plainly:
The system's exit was strictly better than mine, and I knew the system's exit before I entered.
That is the part that is not recoverable by being cleverer next time. I did not fail to predict the market. I failed to do the thing I had already decided to do, in writing, in a compiled binary, before the trade started.
The mirror image, two days earlier
Here is why this one bothers me more than a ₹1,462.50 win has any right to.
On 20-07 I put on a Sensex weekly condor. On the 22nd — the same session as this trade — it was underwater and I thought about closing it at 15:15, and I did not. I held it hoping the market would come back. That one is written up separately and it ended at maximum loss.
So on a single afternoon:
- The winner: I exited early, before the rule said to, because I was afraid it would turn into a loss.
- The loser: I stayed in, past the point where I had considered leaving, because I hoped it would turn into a win.
Cut the winner, ride the loser. It is the oldest failure in the book and I managed both halves of it inside one session, on two different systems, in two different indices. That is not two mistakes. It is one mistake — discretion overriding a written rule — expressed twice, in whichever direction happened to feel safer at the time.
And note that the feeling was wrong both times. It is not that my instinct is a weak signal. It is that my instinct is a contrary one: it wanted out of the position that was working and into the position that wasn't.
Why automating the signal wasn't enough
The bot generates entries. It does not place them, and it does not close them. The moment the exit is a thing I do with my thumb, the exit is discretionary again no matter how precisely it is specified.
That is the actual finding here. I automated the half of the process that was already the least emotional. Deciding to be short at 09:20 costs me nothing psychologically — there is no P&L on the screen yet. Deciding to stay short at 12:30 with ₹1,462.50 showing is where the system meets the part of me that ruins it, and that is the half still running on wetware.
What changes
- The exit goes in the bot. Both conditions — the 15:00 flat and the Supertrend flip — become orders the program places, not reminders it prints. Until the exit is automated, the entry being automated is decoration.
- Log the counterfactual, mechanically. The bot should record what the system's exit would have paid, on every trade, whether or not I honoured it. I want a column called "cost of my interference" that fills itself in, because I will not fill it in honestly by hand.
- No discretionary exits, either direction. Written down here so that the next time I want to bank an early profit, there is a post I have to explain myself to.
Where this leaves the journal
One trade, one system, ₹1,462.50 booked and an unknown amount left behind. Nominally a winner.
I would rather have held to 15:00 and lost money. That version teaches me something about the bot. This version only teaches me something about me, and I already knew it.
Disclaimer
This is a personal trading journal. It is a record of my own trades, my own money and my own mistakes — nothing more.
Nothing here is a trade recommendation, a tip, a call, or advice of any kind. I am not a registered adviser and I am not qualified to tell anyone what to do with their capital. The strikes, premiums, entries and exits above are what I did, not what you should do. The bot linked above is my own code, published as-is, with no warranty and no suggestion that anyone else should run it.
If you read this blog and place a trade because of it, that trade is yours. I accept no responsibility for anyone else's losses. Do your own research, size for your own risk, and understand that options can lose you more, faster, than you expect.