RisbotBeta
Performance

Breakdowns

Slicing a period by symbol, direction, day and hour - and the execution card beside it.

A breakdown cuts one period into buckets and runs the same maths on each. There is no second set of formulas here: any number a slice shows is the number the summary card would show if that slice were the whole period. That is what makes a row comparable to the card it came from, and to every other row beside it.

Each bucket is one line, not a card. Twelve symbols would otherwise be twelve screens, and the job of a breakdown is to make the outlier obvious.

Where to find it

Open a period from πŸ“ˆ Performance, then πŸ“Š Breakdowns on the report card.

πŸ“Š Breakdowns ────────────────── Choose a slice. πŸ“– How this panel works9:35 PM

← Back here returns to that period's card, not to the main menu - the whole drill-down stays inside the period you picked.

Reading a slice

πŸ“Š Symbol Β· Last 14 days ────────────────── ETHUSDT $115.20 Β· 4t Β· 75% Β· +1.34R BTCUSDT $63.30 Β· 6t Β· 50% Β· +0.49R πŸ“– How this panel works9:35 PM

Every row is a label followed by the same fields, in the same order:

FieldMeaning
LabelThe bucket - a symbol, a weekday, an hour.
$115.20Net P&L for that bucket, after fees.
4tHow many closed trades are in it.
75%Win rate within the bucket, rounded to a whole percent.
+1.34RExpectancy in R - the average trade in the bucket, measured against its planned risk.

The R figure obeys the same coverage rule as the card: it describes only the bucket's enriched trades. When that is fewer than the whole bucket, the count follows it: a row ending +0.60R (2/7) is a bucket of seven trades whose R was computed from two of them. A bucket with no enriched trades at all simply stops after its win rate.

The order of the rows is part of the answer

Rows are sorted by net P&L, highest first, so the best and worst buckets sit at the two ends where they are easiest to find. Day of Week and Hour of Day are the exceptions: those run in their natural order, Monday to Sunday and 00:00 upward, because a weekday table shuffled by profit is unreadable.

A very wide slice is capped at 40 rows, with a closing line:

…and 12 more

Telegram refuses a message over 4096 characters, and a symbol table crosses that at around 85 buckets. The cut always takes the bottom of the order that is already on screen - only slices sorted by P&L are ever long enough to be cut, so it takes the lowest-P&L buckets and what survives is the top of it.

An empty period says so, in the same words the card uses:

No trades in this period.

The six slices

Symbol

One bucket per market, from the exchange's own symbol name. This is the slice that answers "is one pair carrying the account" - and, more often, "is one pair quietly funding the losses".

Long / Short

Two buckets, Long and Short, taken from the direction the position was actually opened in - reconstructed from your fills, not from what the order asked for.

Order Type

Limit or Market, from what the bot recorded when it placed the entry. A trade the bot did not place has nothing recorded and lands in Unknown.

Day of Week

Mon through Sun, by the day each trade closed, in your own UTC offset rather than UTC or the exchange's clock.

Hour of Day

The closing hour, 00:00 to 23:00, again local. Both this and Day of Week bucket by close time, so a trade held overnight is counted where it ended, not where it began.

Strategy

Where the trade came from. Four buckets are possible:

BucketMeans
sniperPlaced by Sniper Entry.
manualPlaced by Manual Entry.
ExternalNot placed by the bot at all - you opened it yourself on the exchange.
UnknownThe bot placed it, but no risk-ledger row survives to say how.

External is worth its own look: it is the only figure anywhere in the manual that measures how much of your trading happens off-system.

A breakdown does not go back to the exchange

Opening a slice reads the mirror the report card just refreshed; it does not sync again. Neither does ← Back from a slice to the card. A round trip to Bybit for every drill-down would spend real time to learn nothing new - the period's trades have not moved since the card that led you here was built.

The consequence is worth knowing: if you want genuinely fresh figures, re-pick the period from the picker rather than pressing Back and forward again.

Execution

βš™οΈ Execution on the report card is the other half of the story. Everything on the summary card is about trades that reached the exchange; this card is about what the bot attempted, including the requests that never became trades at all.

βš™οΈ Execution Β· Last 14 days ────────────────── πŸ“₯ Alerts 10 (10 executed Β· 0 rejected Β· 0 failed) Discipline πŸ“ Deviation avg 2.48% Β· worst 7.44% (3/10) πŸ“Š Risk vol 0.00% 🎯 Peak risk 0.81% (cap 2.50%) Β· 0 over πŸ“… Traded 10 of 12 days πŸ“– How this panel works9:35 PM

Alerts counts attempts, not trades

10 (10 executed Β· 0 rejected Β· 0 failed) counts every request the bot logged in the period - each one either executed, turned away by a rule, or failed outright.

It is not a trade count. Each leg of a scale-in is its own attempt, so an Add To Position shows up here as an extra attempt while the summary card still counts the whole thing as one trade. The two numbers are supposed to differ.

Rejections name the rule that fired

When attempts were rejected, a Rejections block lists each reason with its count and its share, most common first. That share is of all attempts, not of the rejections - a reason covering half the rejections in a quiet period may be a few percent of the attempts.

Only rejections are grouped this way. A failed order carries whatever error the exchange returned, which is free text, and grouping arbitrary error strings would produce one row per distinct message rather than a table worth reading.

Discipline is about your sizing, not your results

The three rows below the heading say nothing about whether the period made money. They say whether the risk you took was the risk you intended.

RowWhat it measures
πŸ“ DeviationHow far your losses overshot their plan, as a percentage - average and worst.
πŸ“Š Risk volHow much the planned dollar risk varied from trade to trade, relative to its own average.
🎯 Peak riskThe largest share of the account any single trade planned to risk, against your cap.

Deviation is the row that catches slippage. A loss that came in exactly where the stop was placed deviates by 0.00%; the example's worst 7.44% is one stop that filled past its trigger and cost more than it was supposed to. Winners are excluded on purpose - deviation asks whether the stop held, and a winning trade never tested it. (3/10) is how narrow the figure's own base is: three trades measured, out of the ten that have a planned risk on record - because only the losses among them can be measured this way.

Risk vol is a spread, not a level. 0.00% means every trade in the period planned to risk the same amount; a large number means the sizing moved around, which is worth knowing whether or not the period was profitable.

Peak risk is compared against your Max Risk Per Trade - (cap 2.50%) Β· 0 over is that account's configured ceiling and how many trades exceeded it. It measures a whole trade, scale-in legs included, rather than the initial leg's setting, so a position added to three times is judged on everything it ended up risking.

Each of these rows is a tier-two figure, and the entire Discipline block is absent for a period with no enriched trades in it.

Traded closes the card

10 of 12 days is trading days against calendar days: how many days in the period saw at least one trade, out of how many the period spans. It uses the same span the summary card's per-day rate does, so the two cards never disagree about the same period.

A period where the bot did nothing at all renders one line:

No activity in this period.

Like a breakdown, this card does not re-sync - the report card that led here already did.

On this page