◆SOL/USD——◆BTC/USD——◆ETH/USD——◆JUP/USD——◆BNB/USD——◆ARB-BOT-07+$1,240.21◆GRID-STP-04+$450.00◆MKT-NEUTRAL-01-$12.40◆SNIPER-03+$880.00◆SOL/USD——◆BTC/USD——◆ETH/USD——◆JUP/USD——◆BNB/USD——◆ARB-BOT-07+$1,240.21◆GRID-STP-04+$450.00◆MKT-NEUTRAL-01-$12.40◆SNIPER-03+$880.00
QWNT.AI/Blog
EducationNovember 2, 20266 min read

How to Read an AI Trading Agent's Performance (And What Most Dashboards Hide)

Win rate is the number every dashboard shows and the least useful one. Here are the four measures that actually tell you whether an automated strategy is working, and how to compute them yourself.


Open almost any automated trading dashboard and the first number is win rate. It is the least informative figure on the screen, and a strategy can post a flattering one while losing money steadily.

Here are the measures that actually decide the outcome, roughly in order of how much they matter.

1. The payoff ratio, not the win rate

A strategy wins some trades and loses others. What matters is the size of each.

Average win divided by average loss is your payoff ratio. Combined with win rate it tells you whether the strategy has positive expectancy at all:

Expectancy = (win rate × average win) − (loss rate × average loss)

A 47% win rate with wins of 25% and losses of 35% gives you roughly (0.47 × 25) − (0.53 × 35), which is about −6.8% per trade. No improvement to entry timing rescues that. The arithmetic was settled before the first trade.

A 40% win rate with a payoff ratio of 3:1 is a good strategy. A 60% win rate with a payoff ratio of 0.5:1 is a slow loss. The dashboard shows you 60% and you feel fine.

2. Realised losses against your configured stop

This is the check almost nobody runs, and it is one query.

If your stop-loss is set at 15%, your average losing trade should land close to −15%. If it lands at −35%, your risk control is not doing what the configuration says. The gap tells you something important:

  • A small overshoot is normal slippage.
  • A large overshoot means the stop is triggering into a book that cannot absorb your size.
  • A very large overshoot, or losses clustered at −100%, means positions are not being exited at all.

Those are three different problems with three different fixes, and you cannot tell them apart from a P&L chart. We wrote up what 958 live trades showed about this, including the one we did not expect.

3. Holding time against intended horizon

Every strategy has a horizon. A momentum sniper expects to hold for minutes. A trend follower expects days.

Split your closed trades by how long they stayed open and look at the average return in each band. If positions held far longer than intended show much worse returns, those are not patient trades. They are usually stuck ones, and a stuck position is not protected by anything.

In our own data the trades held beyond a day averaged dramatically worse than everything else. That was the clue that led to a real bug, not a market observation.

4. Why each position closed

Most systems record that a position closed. Far fewer record why.

Without an exit reason you cannot separate:

  • a stop that triggered and filled cleanly
  • a stop that triggered and slipped badly
  • a sell that was attempted and failed
  • a position nobody tried to exit at all

All four look identical in a list of closed trades. We ran for months without this and it hid a genuine defect the whole time.

If you are evaluating a platform, ask whether it records exit reasons. If you are building one, record them before you optimise anything else.

What to ignore

  • Cumulative P&L on a paper account. Simulated fills are optimistic by construction, and the gap widens exactly where liquidity is thinnest.
  • Any annualised figure from under three months of data. Short samples annualise into nonsense in both directions.
  • Total trade count. High activity is not evidence of edge. A well-configured agent declines most opportunities, and a good scanner finds nothing on most cycles.

A five-minute audit

Run these against your own closed trades, whatever platform you use:

  1. Average win, average loss, win rate. Compute expectancy. Is it positive?
  2. Average losing trade versus configured stop. How big is the gap?
  3. Returns grouped by holding time. Is there a bad tail?
  4. Can you see why each position closed? If not, that is your first fix.
  5. Fixed costs per trade as a share of position size. Below a certain size the costs rewrite the strategy, which we covered in how much capital you actually need.

None of this requires trusting anyone's marketing. All of it is computable from your own trade history, and if a platform will not give you that history in a form you can compute on, that is worth knowing too.

←All articles