04 · Metrics
Mistake Detectors: How Limbix Flags Trading Mistakes
What each auto-detected trading mistake in Limbix looks for: revenge trades, oversized positions, overtrading and more, plus the ones only you can tag.
Limbix's mistake detectors flag common trading mistakes on each trade from rules applied to your own data: timing, size, stop, target and your daily pattern. Eight run automatically every time a trade is saved or imported. Two, FOMO and a moved stop, are never detected: only you can name them, so they count only when you tag them.
How it's calculated#
Each detector is a fixed rule. It reads the trade, the trades around it that day, your trades in the 30 days before it, and the limits you set. A trade can carry several mistakes at once. Each auto-detected mistake shows an AUTO badge on the trade.
Detection re-runs when a trade changes, along with the other trades that day and the next trade, because their flags can depend on it.
Every mistake belongs to a group, and screens that list mistakes show the group headers in this order:
| Group | What the mistakes in it share |
|---|---|
| Risk | Size and stops: what threatens the account. |
| Process | How the session was run. |
| Emotional | When the feeling placed the trade, not the plan. |
| Conviction | Backing off your own edge. Not a risk failure. |
Each mistake also carries the behavioural bias it is usually linked to. The labels come from behavioural finance. They describe a common pattern, not a diagnosis of you.
Impulsive#
Fires when the trade has no playbook linked.
- Group: Process · Bias: Action Bias
- This is the same test the Impulsive Trade Count uses.
Revenge Trade#
Fires when all three are true:
- The trade you opened just before this one was a loser.
- This trade opened within minutes of that loser closing.
- At least one of these is true:
- you tagged the trade with anger, angry, frustrated, revenge or revenge_mode,
- its quantity was well above your average quantity over the previous 30 days, checked only once you have enough trades in that window to know your usual size,
- you added the tag "revenge".
- Group: Emotional · Bias: Loss Aversion + Hot-Hand Fallacy
- Speed alone never fires it. A quick re-entry after a loss can be a planned second attempt. It takes a sign of tilt as well: the emotion, the size-up, or your own tag.
Oversized Position#
Fires when any one is true:
- Bigger than you planned: quantity above your Planned size, beyond a small allowance for rounding.
- Risked more than your rule allows: the trade's risk amount is above your Max risk per trade from Settings › NEX. Checked only when the trade is in your account currency.
- Bigger than you normally go: quantity far above your average over the previous 30 days, once you have enough trades in that window to know your usual size.
- Group: Risk · Bias: Overconfidence
- It compares what you risked, not the contract's face value. An old rule that compared quantity × price with account size fired on almost every futures trade, so it was retired. See Oversized Position.
Under-Conviction Size#
Fires when a winning trade's quantity is well below your reference size. The reference is your Planned size on the trade. Without one, it's your 30-day average quantity, once you have enough trades in that window to know your usual size.
- Group: Conviction · Bias: Loss Aversion (post-loss timidity)
- Needs the trade to be linked to a playbook with risk parameters.
- It only looks at winners: the question is whether you backed off a setup that then worked.
Cut Winner Early#
Fires when a winner was closed well short of its planned target: its realized R fell far below its target R. The target is the planned target R on the trade, or else the Profit target on its first linked playbook.
- Group: Conviction · Bias: Disposition Effect
- Needs the trade to be linked to a playbook with risk parameters, and a stop so realized R exists. See the R-multiple.
Overtrading#
Fires when the trade's number in the day, counted by open time in your timezone, is above your threshold: more trades than your own daily limit, or well above a normal day for you. The threshold is the lower of:
- your Max trades per day from Settings › NEX, and
- a count well above your average trades per trading day over the previous 30 days.
If only one exists, that one is the threshold. The trades within the threshold are not flagged, only the ones after it.
- Group: Process · Bias: Action Bias + Illusion of Control
Scaled In At A Worse Price#
Fires when you already opened a trade earlier that day on the same symbol and side, and this entry is worse than the most recent one: lower for a long, higher for a short.
- Group: Emotional · Bias: Anchoring + Sunk Cost Fallacy
- There is no P&L condition. It fires on a planned pyramid exactly as it fires on adding to a loser. If scaling in is part of your plan, write it into the playbook and read this flag with that in mind.
No rules followed#
Fires when the trade is linked to a playbook with at least one rule, and you marked every rule as violated.
- Group: Process · Bias: Action Bias (severe)
- The trade had a plan and none of it held. That is different from Impulsive, where there was no plan at all.
Moved Stop#
Never detected. Limbix reads your trade history, not your order history, so it can't see a stop being moved. To track it, add a custom mistake on the trade called "Moved stop". Your mistake analytics then count it as Moved Stop.
- Group: it's stored as a custom mistake, so the Analytics mistake tracker and the trade page list it under Process, with no bias label. The Dashboard's mistakes card files it under Risk.
- A loss that closed well past −1R is the footprint of a moved or missing stop. Loss Containment measures that part. See Skipped Stop Loss.
Custom mistakes#
Added by you. Type a mistake in your own words on the trade page, such as "sized up after two losses", and press Add. It is saved as a mistake and as a mistake: tag, so your own labels work in analytics and in trade log filters. Adding a tag that starts with mistake: creates one too. Custom mistakes are on every plan.
FOMO#
Never detected. FOMO is a feeling only you can name, so Limbix counts it only when you tag the emotion on a trade. It then shows up in the Emotional Heatmap and in FOMO Entries.
Worked example#
Your Max trades per day is 5. Over the previous 30 days you averaged 3.2 trades per trading day and 1.8 contracts per trade, across 25 trades. On a day like this, your own limit of 5 is the lower of the two Overtrading thresholds, so it is the one that counts.
| # | Time | Trade | What happened | Flags |
|---|---|---|---|---|
| 1 | 09:31 | NQ long, 2 contracts at 18,010, playbook ORB | Closed at 09:40 for −€300 | — |
| 2 | 09:43 | NQ long, 3 contracts at 17,980, no playbook, tagged Frustrated | Opened 3 minutes after a loser, with the feeling tagged | Revenge Trade, Impulsive, Scaled In At A Worse Price |
| 3 | 10:15 | ES short, playbook VWAP Fade | Winner closed at +0.6R against a 2R target | Cut Winner Early |
| 4 | 11:02 | ES long, playbook VWAP Fade | Planned size 2, traded 2 | — |
| 5 | 13:20 | NQ short, playbook ORB | Within your threshold | — |
| 6 | 14:05 | NQ long at 18,120, playbook ORB | Sixth trade of the day, above your limit of 5 | Overtrading |
Trade 2 was not flagged Oversized Position. It had no planned size, its risk stayed inside your max risk per trade, and 3 contracts was not far enough above your usual 1.8 to count.
When it shows "—"#
A detector that lacks its inputs simply doesn't fire. It never guesses.
| Detector | Can't fire without |
|---|---|
| Revenge Trade | A losing trade just before. The size-up test also needs a short history of trades in the previous 30 days |
| Oversized Position | A planned size, a max risk per trade with a risk amount in your account currency, or a short history of trades in the previous 30 days |
| Under-Conviction Size | A playbook with risk parameters, and a planned size or a short history of recent trades |
| Cut Winner Early | A playbook with risk parameters, a target R, and a stop so realized R exists |
| Overtrading | A max trades per day, or at least one trading day in the previous 30 |
| No rules followed | A playbook with at least one rule |
A trade with no mistakes shows none. Mistake counts and costs show zero, not "—", when nothing was flagged.
What's a good number of trading mistakes?#
Fewer is better, and zero is the goal. There's no band scale. What matters is which mistake costs you most. Mistake Cost ranks them by the net P&L of the trades that carry each one, and the Mistake Counter shows how many categories are active in your range.
How to improve it#
- Start with the costliest mistake, not the most frequent. See mistakes by cost.
- Tag emotions honestly. The Revenge Trade test reads them, and FOMO exists only when you tag it. See tag emotions.
- Enter a planned size and a target on each trade. Several detectors compare against your own plan before falling back to your averages. See add a stop and target.
- Set your max risk per trade and max trades per day. Oversized Position and Overtrading use them directly. See set your risk limits.
Where you'll see it#
- Trade page: the MISTAKES list on each trade, with AUTO on detected ones and a field to add your own. See mistakes on a trade.
- Trade log: filter trades by mistake.
- Analytics: the mistake tracker, grouped by Risk, Process, Emotional and Conviction, with the cost of each. See mistakes by cost.
- Discipline & Risk: the Cost per mistake card prices mistakes on trades that broke a rule (Pro). See cost of violations.
Detected mistakes never feed the Risk Score. The two systems read some of the same limits, but they reach their own conclusions, so one behaviour is never counted twice.
Frequently asked questions#
How does Limbix detect revenge trading?#
It needs three things: the trade just before was a loser, this trade opened within minutes of that loser closing, and there's a sign of tilt. The sign is an anger or frustration tag, a size well above your 30-day average, or your own "revenge" tag. Speed alone doesn't count. A planned second attempt at normal size and in a calm state stays clean.
Why wasn't my FOMO trade flagged?#
Because Limbix doesn't detect FOMO. It's a feeling, and no rule on price or timing can see it reliably. Tag the FOMO emotion on the trade and it counts in your emotional heatmap and FOMO entries. A detector that guessed would be wrong often enough to make you distrust every other flag.
Can Limbix tell if I moved my stop loss?#
No. Limbix reads your trade history, not your order history, so it only sees where a trade closed. Add a custom mistake called "Moved stop" to the trade when it happens. For the measurable side, Loss Containment scores how often your losses closed near your stop.
What is overtrading, and how is it measured?#
In Limbix, overtrading is taking more trades in a day than your own threshold: more than your max trades per day, or well above a normal day for you over the past 30 days, whichever comes first. Only the trades beyond the threshold are flagged. The first ones that day stay clean. Setting a max trades per day makes the line yours.
Can I remove a mistake Limbix detected?#
No. Auto-detected mistakes can't be removed by hand, because they're the result of a rule. If one is wrong, fix the data behind it: link the playbook, correct the planned size, or change the emotion tag. Detection re-runs when you save. Custom mistakes you added can be removed at any time.