Deploying a strategy and starting it are two different actions. What each one does, why bots switch off after market close, and the full checklist for why a bot took no position.
Arthalab11 min read
Deploying a strategy creates the bot. Starting it is what makes it trade. A deployed bot that was never started will sit there all day looking perfectly healthy and do nothing — and that is the most common reason a strategy takes no position.
What each action does
Deploy
Start
What it does
Creates a bot from the strategy and attaches a broker and mode
Puts that bot into an active, watching state
How often
Once, until you change something
Every trading day the bot should run
After market close
The bot stays deployed
The bot switches itself off
What it looks like
Listed, with a status
Listed, with a running status
Bot with this only
Exists but never trades
Not possible — you start a deployed bot
What deploying actually captures
Deploying is not just a toggle — it takes a snapshot. Understanding what is in that snapshot explains several behaviours that otherwise look arbitrary.
When you deploy, the strategy configuration as it stands is attached to the bot, along with the broker you chose and the mode, live or paper. From that point the bot executes that captured configuration.
Why an edit does not reach a running bot
Which is why editing the strategy afterwards does not change a running bot. The bot is not reading your strategy live; it is running the version it was handed. The strategy and the deployment are two separate things that happen to have started identical.
Why bots do not stay on overnight
It is a safety default, and a deliberate one. A strategy left running unattended across days will keep placing trades through conditions nobody reviewed — a results day, a policy announcement, a gap open after a weekend of news.
Requiring a deliberate start each morning means someone has looked at the day before capital is committed. The cost is one action per day; the benefit is that no strategy trades a day you did not intend it to.
Why the opposite default is worse
The alternative — bots that run until explicitly stopped — fails in a specific and expensive way. You forget a bot exists, it keeps trading, and you find out weeks later. An opt-in default makes forgetting harmless.
Automating the start
If the daily action is the friction, the scheduler removes it: you can set bots to auto-start on specific days relative to expiry, and they will start without you. The broker login still has to be done by hand.
Full checklist for "my bot did not trade"
Work down this list in order. It is roughly ordered by how often each cause is the real one.
Was the bot started? Deployed is not started. Check the bot's status, not just that it exists.
Did the entry condition actually trigger? The logs record this explicitly, including when it correctly decided not to trade.
Was there enough margin?Margin shortfall is the most common broker rejection.
Is your IP still whitelisted?A rotated address fails silently until an order is sent.
Was it a trading day? No weekends, no exchange holidays.
Is your plan active? An expired plan stops live deployment.
Were you already at your running-strategy limit? Paper bots count towards it too.
What the statuses actually mean
Status
What it means
Will it trade today?
Deployed, not started
The bot exists but is inactive
No
Running
Active and watching for its entry condition
If the condition is met
Running, position open
It entered and is managing the position
Already has
Stopped
Taken out of the active state
No
Switched off after close
The normal end-of-day state
No, until started again
The first and last rows look similar on screen and mean slightly different things: one was never started today, the other ran and finished. The logs distinguish them instantly, which is why they are the first place to look.
The logs answer most of this
The execution logs record what the strategy decided at each check, not only what it did. A bot that correctly found no valid entry looks identical from the outside to a bot that was never started — the logs are what distinguish them. Reading strategy logs covers what gets recorded.
Three distinct situations produce the same visible outcome of "no position today":
What the logs show
What happened
Action
No entries at all
The bot was never started
Start it tomorrow
Evaluations, no trigger
The condition was not met — working correctly
Nothing. Review the condition if this repeats
An order sent, broker rejected
Setup or margin problem
Read the broker's message
Only the third row is a problem to fix urgently. The second is the system working, and mistaking it for a fault is how people end up loosening entry conditions until the strategy trades every day and makes nothing.
A morning routine that works
Complete the broker login before 9:15
Confirm the broker connection shows as active
Start the bots you want running today
Confirm each shows as running, not just deployed
Check the logs once after your entry time has passed
Connecting Telegram alerts shortens this: a morning message goes out when a broker token has expired, and another when bots are deployed but not started.
Why the last step matters
The last item is worth keeping even once the routine is habit. Checking the logs after your entry time takes seconds and catches the difference between "did not trade because conditions were not met" and "did not trade because something broke" — on the same day, rather than at the end of the week.
A worked example of the confusion
It is worth walking through the exact sequence that produces the most common support question, because seeing it written out makes the distinction stick in a way a definition does not.
A trader builds a short straddle, backtests it, paper trades it for three weeks and is satisfied. On Monday evening they deploy it to live with their Zerodha connection. The bot appears in the list. Everything looks correct.
Tuesday morning they do the broker login at 8:40. At 9:20, the strategy's entry time, nothing happens. The bot is still listed. The broker shows as connected. The strategy is unchanged from the one that paper traded fine. Nothing about the screen suggests a problem.
What actually happened
The bot was deployed on Monday and never started. Deploying created it; it has been sitting in an inactive state since. The logs for Tuesday contain nothing at all, because nothing was running to produce an entry.
Running several bots
Once you run more than one strategy, the start step becomes the thing most likely to go wrong, simply because there are more of them to forget.
Three strategies means three starts every morning, and the failure is partial rather than total: two start, one does not, and you do not notice because the dashboard shows activity. The day ends with one strategy having silently sat out.
How to avoid a partial start
Two habits prevent this:
Count, do not scan. Know how many bots should be running today and confirm that number, rather than glancing at a list that looks busy.
Use the scheduler for the ones that run on a fixed cycle. A bot that should run every expiry day is better scheduled than remembered.
Remember the limit while you are at it: three strategies running at once on the Monthly Plan, with paper bots counting towards the same number. A paper bot you forgot about can be the reason a live one will not start.
Stopping a bot
Stopping a running bot takes it out of the active state. What happens to an open position depends on how you stop it, and this is worth understanding before you need it in a hurry.
Stopping the bot prevents further action. It does not, by itself, close what is already open — the position stays until your exit rule fires or you square off. If your intent is to be flat, square off explicitly rather than assuming a stop did it.
The short version
One cause dominates all the others, and it is not a strategy problem.
Deployed is not started — check the status, not just that the bot exists
Bots switch off after each market close, by design
An empty log means it was never running; a log full of evaluations means it was
The broker login is a separate daily step from starting bots
Paper bots count towards the same three-strategy limit
Work down the checklist before changing anything. In most cases the strategy was fine and something in the routine was not, and editing a correct strategy makes both harder to reason about.
Frequently asked questions
Read the log. A correct no-trade shows the condition being evaluated and not met. A failure shows either nothing at all, or an order that was sent and rejected.
Yes, and it will watch from that point. What you cannot recover is an entry whose time has already passed.
No. The scheduler starts bots. The broker login is interactive by design and has to be done by you.
Most often it was deployed but never started. After that: the broker login was not done, the entry condition never triggered, or there was not enough margin. The execution logs identify which.
Yes, unless you use the scheduler. Bots switch off after each market close by design, so that no strategy trades a day you did not intend.
Deploying creates the bot from your strategy and attaches a broker and mode. Starting puts it into an active state where it watches for its entry condition.
Yes. The scheduler can auto-start live bots on chosen days relative to expiry, which removes the daily manual start. The broker login still has to be done by you.
Usually not. A running bot with no position normally means the entry condition has not been met. The logs record each evaluation, so you can confirm the decision was correct.
Three simultaneously on the Monthly Plan. You can deploy more than that; the limit is on how many run at the same time, and paper bots count towards it.
No. Stopping prevents further action but does not square off what is already open. If you want to be flat, square off explicitly.
Start with a free 3-day trial
Build a strategy, backtest it and run it on paper — no broker, no IP and no money needed to try it.