Trading
Risk limits and kill switch
Daily max loss, profit target, max quantity, auto square-off and the kill switch explained.
Risk limits
On an account card click Set risk limits:
- Max daily loss (₹) — measured on today's P&L (realised + open).
- Profit target (₹).
- Max quantity per order.
- When a limit is hit: Alert only, Block new orders, or Square off everything and block.
When a limit is hit the account card shows BLOCKED and you get an alert. Exits are always allowed, even when blocked. To reset a breach, save the risk rule again.
Kill switch
- Per account — the Kill switch button on each account card.
- All accounts — KILL SWITCH · ALL in the terminal header.
Activating it cancels every open order, squares off every position and blocks new orders until you release it.
Common messages
KILL_SWITCH_ON— release the kill switch on the account card.RISK_BLOCKED— a daily limit was hit; exits still work.RISK_MAX_QTY— the order is larger than the account's max quantity per order.
Approval for automated orders
In Set risk limits, tick Ask me before placing large automated orders. Then choose:
- an order value and/or quantity limit
- which sources are checked: API and scripts, webhooks, copy trading, price triggers
- how long a held order waits: 1, 2, 5 or 15 minutes
An automated order above a limit is not sent to the broker. It appears under Waiting for your approval on the Dashboard, and you get a notification (and a Telegram message, if Telegram is linked).
- Approve places it through the usual checks, run again at that moment. If the kill switch is now on, for example, it is not placed, and you are told why.
- Reject drops it.
- If you do neither, it expires and is not placed.
- In Telegram:
/approvalslists them,/approve <code> <PIN>places one, and/reject <code>drops it.
Orders you place yourself (terminal, options, mobile) and exits are never held. Held orders are kept in memory, so an engine restart drops them.
Trading guardrails
Guardrails are rules you set for yourself to stop the trades you regret: overtrading, revenge trades after a few losses, late entries, and last-hour expiry bets. Open Set risk limits on an account, tick Trading guardrails, and set any of these:
| Guardrail | What it does |
|---|---|
| Max new trades a day | After this many orders that open or add to a position, new trades are refused for the rest of the day. |
| Pause after losing exits in a row | After this many losing exits in a row, new trades are paused for the length you choose (15 minutes to the rest of the day). A winning exit resets the count. |
| No new trades after | From this time (IST), no new trades. |
| Expiry day cut-off | On a contract's expiry day, from this time (IST), no new positions in contracts that expire that day. Other contracts and equity are not affected. |
- Guardrails apply to every order: the ones you place yourself and the automated ones (API, webhooks, copy trading, price triggers).
- Exits always work. Closing or reducing a position is never blocked.
- A refused order shows the reason in the order book, and Why? explains it. The account card shows today's counts, or Paused until ….
- Counts start again each day (IST). They also start again if the engine restarts.
- While a guardrail is active, you can only make it stricter. For example, once you reach your trade limit, you can't raise it or remove it until the next day. Otherwise switching it off would be the easy way round it.
Last updated