Daily Loss Limit
Stopping trading after a set number of losses or percentage lost.
Daily Loss Limit is a circuit breaker for the day. It is the only rule in the bot that turns a trade away for something that happened on earlier trades - every other check looks only at the signal in front of it.
Before the detail, one distinction the rest of the page depends on. There are two separate caps here, and they measure different things:
| Cap | Counts | What it is really for |
|---|---|---|
| 📉 Max Loss Trades | How many trades have lost or are still open today | Discipline. It stops the session, not the damage. |
| 📊 Max Percent Loss | How many dollars today has lost or has at risk | Protection. This is the one that bounds what a bad day can cost. |
They are not two ways of saying the same thing. Three losses can cost very different amounts depending on how each was sized, so a trade count can never bound your losses - and a percentage cap can be nowhere near spent while you are on your eighth trade of a day that is plainly not working. Set either, or both. Both trip independently, and either one is enough to stop a trade.
Where to find it
Main menu → 📊 Risk Management → 🛑 Daily Loss Limit, or send /daily_loss_limit.
2 (1 active)
💰 Remaining Percent: 4.19% - 0.81% on hold
──────────────────
📉 Max Loss Trades: 3 trades
📊 Max Percent Loss: 5% ($132.26)
📐 Equals at least 2 losing trades at Max Risk Per Trade (2.5%)
🕐 UTC Offset: UTC+2
Mode: 🚫 Reject Trades
Status: ✅ Enabled
Tap a field below to update it.
📖 How this panel works9:35 PMReading the top block
The two lines above the divider are today, right now. They are computed with the same code the guard itself runs, so the panel can never promise you room that a trade would then be refused.
| Line | Meaning |
|---|---|
| 📊 Remaining Trades | How many more losing-or-open trades fit under the count cap. (1 active) is how many of the used ones are still open. |
| 💰 Remaining Percent | What is left of the day's budget, as a percentage of your balance. - 0.81% on hold is the part tied up in positions that are still open. |
Either line reads Not set in two cases: when its own cap is not configured, and - even with
that cap set - whenever Status below is ⛔ Disabled, because a guard that is off is
counting nothing down.
💰 Remaining Percent has a third case of its own - it needs your live balance to price
what today has used, so it reads Not set while the account is disconnected or the
exchange cannot be reached. Not set above a cap that is plainly set is one of those two
cases, never a lost setting.
Opening this panel goes to the exchange first and catches up on every trade the bot is still tracking, so the figures are current as of the moment you looked - not as of the last trade the bot placed.
What counts against the caps
Both caps are built from the same two ingredients:
- Losses already realised today - trades that closed on the exchange at a net loss.
- Positions still open - counted at the full worst-case loss they could still take, as though every one of them will hit its stop.
Both are counted on the day the money is at risk, not the day the trade was opened. A position you opened last night and still hold counts toward today, and if it closes at a loss today, that loss is today's. The caps exist to bound what one day can lose, and that loss lands today - so it uses today's budget even though yesterday's sizing already allowed for it. When this happens, the panel names the trade first, above the Remaining lines:
2
💰 Remaining Percent: 4.19%
──────────────────
📉 Max Loss Trades: 3 trades
📊 Max Percent Loss: 5% ($132.26)
📐 Equals at least 2 losing trades at Max Risk Per Trade (2.5%)
🕐 UTC Offset: UTC+2
Mode: 🚫 Reject Trades
Status: ✅ Enabled
Tap a field below to update it.
📖 How this panel works9:35 PMThe bot's card on your account page names them the same way, above its guardrails.
That second point is what makes the guard conservative rather than optimistic. An open trade has not made you money yet, so it is treated as money already at risk. It also means the figures move as trades close, in both directions: a position that closes at a profit stops being counted at all.
Wins never buy back room
A winning trade does not offset a loss, and does not return any budget. Ten wins after three losses leaves the day exactly as close to the limit as it was.
This is deliberate. "I am up on the day, one more will not hurt" is precisely the reasoning a daily loss limit exists to interrupt.
A leg you have marked breakeven does not reduce what this guard counts either, even though it does free budget for adds. Until a trade is actually a win, the guard assumes it is not.
How each cap trips
The count cap compares losses today + open positions against your number, and stops you
when it reaches it. A cap of 3 refuses the next trade once three have lost or are still
open. Only those three kinds count, so a day of trades that closed in profit never uses the
cap up at all - you can be well past your third trade with the count still at zero.
The percent cap works in dollars. Your percentage is taken of your live total balance - exchange balance plus Collateral Balance - recalculated at the moment of the check, not snapshotted at the start of the day. It then adds the risk of the trade being asked for to what today has already used, and compares the projected total against the budget.
That forward look matters. Without it, the very first trade of the day always passes - nothing has been spent yet - even when that single trade is sized larger than the whole day's budget. Comparing the projected total refuses it up front instead of after the fact. A trade that lands exactly on the budget is spending it, not exceeding it, so it is allowed; the next one is not.
The panel translates the percent cap for you when both it and Max Risk Per Trade are set:
📐 Equals at least 2 losing trades at Max Risk Per Trade (2.5%)It says at least because most trades risk less than the full per-trade ceiling, so the real number of losses the budget absorbs is usually higher.
The three modes
The mode applies to whichever cap tripped.
| Mode | What happens |
|---|---|
| 🚫 Reject Trades | The signal is turned away before anything reaches the exchange, and logged with the reason. |
| ⚖️ Cap Risk | The trade is placed, sized down to whatever the budget still has room for. |
| 🔔 Notify Only | The trade is placed in full. You get one warning message. |
Cap Risk does not soften both caps
Cap Risk can only shrink a trade to fit a dollar budget. The count cap has no dial to turn down - a fourth trade against a limit of three is a fourth trade - so it still rejects. So does a percent budget with nothing left in it at all: there is no smaller trade to place.
A capped trade is marked as such on its confirmation, so the smaller size is never silent:
(capped from requested 1.5%)There is one case where capping cannot help. If the room left is so small that the trade sized down to it falls under the exchange's minimum order size, the trade is rejected - and the message says so, rather than blaming the minimum:
Daily loss limit reached - only 0.2% of the daily loss budget is left, and the requested
1.5% capped down to that sizes BTCUSDT below its minimum order size. The budget resets on
the next local day.What a rejection says
Every rejection arrives as a Trade Rejected notification -
where it appears on one line after Reason: - and is written to your history. The wording
differs by which cap tripped, because the advice differs. The wording below is the bot's own;
the figures in it are an example.
The count cap:
Daily loss limit reached (3/3 losing-or-open trades today (2 realized, 1 open)). This
worker won't take new trades until the next local day.The percent cap, with the budget partly spent:
Daily loss limit reached ($35.00/$40.00 (3.50%/4%) daily risk used). This trade needs
$10.00 (1%) and only $5.00 (0.50%) is left today. The budget resets on the next local day.And the one worth recognising on sight - a single trade asking for more than the day's entire budget:
This trade risks $100.00 (10%), more than the entire daily loss budget of $40.00 (4%).
Waiting for the next local day won't help - lower this trade's initial risk to 4% or less,
or raise the daily loss limit.Every other rejection here clears at midnight. That one does not: tomorrow's budget is the same percentage of the same balance, so the trade is refused identically every day until a setting changes. It is reachable because Max Risk Per Trade and this cap are deliberately not validated against each other - either can be edited on its own, in any order, and a cross-check between them would only be friction you could route around.
In Notify Only mode nothing is rejected and one message is sent instead, ending:
Notify-only mode is active, so new trades will still be placed.That message is sent once per local day, on the first trade that trips the guard, so a day you have chosen to trade through does not fill the chat.
What counts as a day
Midnight, in the offset you set here - not UTC, and not the exchange's clock.
UTC+2
Reply with your UTC offset, e.g. 2, -5, or 5.5. Must be a real offset between -12 and 14. Changes all your bots and your web profile.
Reply to this message with the new value.
📖 How this panel works9:35 PMReply with a number of hours. Half-hour zones work, and so do the handful of other real-world
fractions: 3.5, 4.5, 5.5, 5.75, 6.5, 8.75, 9.5, 10.5, 12.75 and 13.75, on
either side of zero where a place actually keeps that offset (-9.5 and -3.5 are the only
negative ones).
This offset is shared with every bot you have and your web profile
There is one clock per person, not one per bot. The 🕐 Set UTC Offset button on this panel, the one on Trading Days, and your time zone on the website all write the same value - change it in any of them and the rest move with it.
A city chosen on the website follows daylight saving. A number typed into a bot here does not, unless it happens to match what your city is on right now - see Your time zone for what that does to the field there.
The buttons stay separate rather than becoming one only so that saving a new offset returns you to the screen you started from.
Turning it on
The Status button at the bottom of the panel is the master switch. A new account starts
with it on, stopping the day at 2 losing trades or 2% of the balance. Configuring a cap
does not arm the guard on its own; if you turn Status off, it has to be enabled again.
Enabling requires 📉 Max Loss Trades specifically. Not "one of the two caps" - the count. A guard configured with only 📊 Max Percent Loss cannot be armed at all: tapping Status gives you a popup and the switch does not move.
Set a Max Loss Trades count firstSo a percent-only budget, which is the cap that actually bounds what the day costs you, still needs a trade count set beside it before either of them does anything.
Accepted values
| Setting | Range | Default |
|---|---|---|
| 📉 Max Loss Trades | A whole number from 1 to 100 | 2 |
| 📊 Max Percent Loss | Greater than 0, up to 100 | 2% |
| 🕐 UTC Offset | A real offset between -12 and +14 | UTC+0 |
| Mode | Reject Trades / Cap Risk / Notify Only | Reject Trades |
| Status | Enabled / Disabled | Enabled |
Each prompt states its own rule:
3 trades
Must be a whole number from 1 to 100.
Reply to this message with the new value.
📖 How this panel works9:35 PM5%
Must be greater than 0 and up to 100.
Reply to this message with the new value.
📖 How this panel works9:35 PMWhat the guard does not cover
- Adds are exempt. Add To Position is governed by that trade's own ceiling and budget, not by this guard. Once a position exists, managing it is never blocked here.
- It is per account. Each account keeps its own count and its own budget. Nothing is pooled across accounts, even accounts reached through the same bot.
- It is not per symbol. One budget covers everything you trade.