Analytics
Crypto Trading Analytics: Win Rate and Profit Factor
Updated Ninja Terminal team
Short answer
The Ninja Terminal analytics page turns your closed positions into trading statistics: total PnL, win rate, profit factor, average win and loss, fees paid, and trade count. It adds an equity curve, daily realized PnL, and breakdowns by symbol and exchange. All figures cover the history fetched from your exchanges.
A trading journal only helps if it is honest and effortless. Ninja Terminal already collects your closed positions from each connected exchange, so the analytics page needs no manual entry and no CSV exports. Open /analytics and the numbers are computed from the same position history you see in the positions panel.
What metrics does the analytics page show?
Six tiles sit at the top of the page.
| Metric | How it is calculated |
|---|---|
| Total PnL | Realized PnL in the range plus the current unrealized PnL of your open positions |
| Win rate | Wins divided by wins plus losses. Breakeven trades are excluded |
| Profit factor | Gross profit divided by gross loss. Shown as a dash when there are no losses |
| Avg win / loss | Average profit of winning trades, and average loss of losing trades |
| Fees paid | Sum of fees on the closed positions |
| Trades | Count of closed positions, with the average holding time |
A trade here means a closed position, not an individual fill. Each entry in the exchange’s position history counts as one trade, and its realized PnL is the figure reported for it. Read the definitions of realized PnL and unrealized PnL if the split between them is unfamiliar.
Which charts and breakdowns are included?
- Equity curve. Cumulative realized PnL, plotted at each close in time order.
- Daily realized PnL. Realized PnL summed into one bar per day. Days are cut at UTC midnight, not at your local midnight.
- By symbol. One row per market, with trades, win rate, fees, and realized PnL, sorted from best to worst PnL.
- By exchange. The same columns, grouped by exchange, which shows whether one venue or one style is carrying your results.
The two tables answer the question most traders actually have. Which markets and which venues make money, and which ones only look busy?
How do I narrow the range?
A range filter offers Today, 7D, 30D, 90D, 1Y, and All, plus a custom start and end day. Presets are rolling windows. “7D” means the last seven times twenty-four hours, not seven calendar days. Today starts at your local midnight. A trade belongs to the range in which it closed, because that is the moment its PnL is realized.
The account filter at the top right limits every number to one account, or shows all accounts together. This is the quickest way to compare two accounts on the same exchange.
What are the limits of these numbers?
Exchanges cap how far back they report closed positions, and the cap differs by exchange. The page therefore describes the fetched history, and it says so in its heading. It does not claim lifetime performance. If you need a full record, keep your own exports from each exchange.
Other limits to keep in mind:
- Statistics describe the past. They do not predict results.
- Win rate alone says little. A high win rate with a low profit factor can still lose money, so read the tiles together with average win and loss.
- Profit factor depends on the range. A short range with one large loss will look very different from a quarter.
Where do I find it?
Analytics lives on its own page inside the app. The data comes from the position history of the accounts you connected under accounts and key security. The same closed positions appear one by one in the Position History tab of positions and orders. Ninja Terminal supports Binance, OKX, Bybit, and Hyperliquid, and the analytics combine them.
This page is a description of a reporting tool. It is not tax, accounting, or investment advice.
Frequently asked questions
How does Ninja Terminal calculate win rate?
Win rate is winning trades divided by winning plus losing trades. Breakeven trades are excluded from both counts. A trade is a closed position, and it wins when its realized PnL is above zero.
How does Ninja Terminal calculate profit factor?
Profit factor is gross profit divided by gross loss across closed positions. If there are no losing trades in the selected range, the page shows a dash instead of a number.
Does the analytics page cover my full trading history?
It covers the history fetched from your exchanges. Exchanges limit how far back they report closed positions, so the figures describe that fetched window and are labeled as such.
Can I filter analytics by account or date?
Yes. You can filter by one account or all accounts, and choose Today, 7D, 30D, 90D, 1Y, All, or a custom date range.