Module 2 / 2
Trading journal metrics
Formulas for win rate, R distribution, cost as a percentage of R, concentration and plan compliance, a link to expectancy, and a journal schema.
- Author
- Zordon Intelligence Sp. z o.o.
- Updated
- 12 min read
- Structure sources
- 2
This lesson explains which numbers to calculate from your trading journal and exactly how to calculate them. It is written for a trader who keeps notes but cannot draw conclusions from them, and for someone who is just designing a sheet and wants to collect data for specific metrics from the start.
A journal is a measuring instrument, not a chronicle
Most trading notes are event descriptions: what I bought, when I sold, how much came out. Such a record does not answer the question that really decides development — whether the result comes from edge or from dispersion. Only a set of measures calculated according to fixed formulas answers that.
Three rules distinguish a measuring instrument from a chronicle. First, every result is calculated in R, not in account currency, because account currency mixes position size with decision quality. Second, every basic entry is created before entry — after closing the position, memory smooths what you saw at the decision moment. Third, every field in the sheet exists because it enters a specific formula; a field without an assigned metric is maintenance cost, not information.
Minimum journal schema: fields and their metrics
| Field | What it is needed for |
|---|---|
| Entry date and time | time series; allows building cumulative R sum and detecting drawdown |
| Instrument and timeframe | comparing results between markets and focusing on one context |
| Setup name | setup concentration, that is, share of trades from one pattern |
| Entry price | denominator of result in R |
| Thesis invalidation level | second part of denominator; without it, planned risk cannot be calculated |
| Planned risk in account currency (1R) | converts result and cost into a common R unit |
| Position size | control whether actual 1R matches planned |
| Exit price | numerator of result in R |
| Transaction cost (commission, spread, swap) | cost as a percentage of R |
| Result in R | expectancy, R distribution, drawdown |
| Result in account currency | consistency with account history |
| Plan compliance tag | plan compliance, that is, process metric |
| One sentence about deviation | diagnosis of the cause of compliance drop |
| Own state on scale 1–5 | correlation with result; optional field, but cheap to fill |
The first eight fields — from entry date to exit price — are enough to calculate result in R, because they contain entry price, thesis invalidation level, planned risk in account currency, position size, and exit price. The rest comes in when you want to calculate a given metric — not earlier, because a sheet with thirty columns stops being filled.
Result in R as common unit
All metrics in this lesson operate on result expressed in R. The definition is one:
R_result = result_transaction_USD / planned_risk_USD
Planned risk is the distance from entry price to the level whose breakout invalidates the thesis, multiplied by point value and position size. In other words: the amount you lose if the trade is closed according to plan. The lesson on stop-loss and R-multiple explains how to determine this level.
Illustrative example: planned risk is 200 account currency units, transaction result is +340 account currency units. The result is 1.7R. The same transaction on an account twice as large would give 1.7R at twice the amount — that is why R allows comparing transactions from different periods and different accounts.
Win rate: formula and trap
win_rate = number_of_profitable_trades / total_number_of_trades
You record the result as a fraction or percentage. The value alone is misleading, however, because it says nothing about the size of wins and losses. A system with a 0.7 win rate and average win of 0.8R with average loss of 2R can be unprofitable, even though it wins most transactions.
Practical conclusion: win rate is a component of the expectancy formula, not a standalone assessment. You report it together with average win and average loss, never separately.
Expectancy: reference and interpretation
The expectancy formula, profitability threshold, and calculation on standard error are covered in the expectancy and drawdown lesson; we do not repeat them here so that the course does not circulate two versions of the same calculation. Positive expectancy is a necessary but not sufficient condition. A single average does not tell whether the sample allows distinguishing edge from noise — for that, standard error and the interval around E are needed. That calculation, together with its consequences for position size, is covered in the lesson on scaling position size; here, remember that E without a measure of uncertainty is an incomplete number.
R distribution: median, quartiles, and tail
Average easily hides the shape of distribution. Two samples with exactly the same expectancy can look completely different: one consists of many small wins, the other of losing trades and one large win. That is why you calculate distribution alongside average.
median = middle value after sorting results ascending (for even number of trades, average of two middle values)
lower_quartile = median of lower half of sample
upper_quartile = median of upper half of sample
large_win_share = number_of_trades_with_result_>=2R / total_number_of_trades
Interpretation is simple. Median significantly lower than average means the result is pulled by a few large trades — such a system is sensitive to missing one good entry. Lower quartile shows how deep typical losses go, and large win share shows how often they appear at all. If edge relies on a rare tail, the decision is about patience in taking every signal separately, not about trade count.
Transaction cost as a percentage of R
Cost is often omitted because it is not visible in the results table — and that is exactly what can turn positive expectancy into negative. You always calculate it in the same unit as result:
cost_in_R = transaction_cost_USD / planned_risk_USD
cost_as_percent_R = cost_in_R x 100
Illustrative example: planned risk is $200, round-trip cost is $20. Cost is 0.1R, or 10% of R. With average win of 1.5R and average loss of 1R, that difference does not decide the result. With a setup where wins are typically 0.5R, cost eats one-fifth of profit and changes the assessment of the entire pattern.
Cost consists of commission, spread, and holding fees such as swap — together described by the round-trip cost concept. You record it as one amount per transaction, not three separate numbers, unless you want to track the impact of holding fees separately. Expectancy calculated after costs is expectancy from results already reduced by these amounts — if you do not do that, you are measuring a version of the system that does not exist.
Setup concentration and plan compliance
These two metrics describe process, not result, and that is exactly why they are resistant to luck.
setup_concentration = number_of_trades_from_one_setup / total_number_of_trades
plan_compliance = number_of_trades_complying_with_rules / total_number_of_trades
Setup concentration is calculated for each setup separately, and you look at the largest share. If no setup exceeds a few per cent of the sample, you have nothing to measure — you have a collection of single events described by different names. Setup definitions that can be calculated are covered in the setup definition lesson.
Plan compliance is calculated as share of trades without a broken rule. A trade with one broken rule is non-compliant, even if it ends in profit. High compliance with negative expectancy means the problem lies in the plan itself. Low compliance with positive expectancy means the result comes from behaviours you do not control — and such a source of result disappears without warning.
Drawdown in R
The method for calculating drawdown in R — from the peak of the cumulative sum of results to the deepest trough after it — is covered in the expectancy and drawdown lesson. One rule remains: calculate drawdown in R, because the drawdown amount depends on position size and changes with it. When you also record it as a percentage of capital, keep both values side by side — they are needed for different decisions. Drawdown in R describes system quality; drawdown in percentages describes capital and psychological load.
When metrics say do not trade
- Median result is below zero, and the result is pulled by one trade. Edge depends on a rare event you cannot plan for.
- Cost as a percentage of R exceeds the threshold written in the plan. This metric is calculated, not omitted: if fees consume a significant fraction of R, more frequent trading worsens the result, not improves it.
- Plan compliance drops below your threshold. That is a signal that the data describe behaviour different from the one you want to measure.
- Setup names have no shared definitions, so concentration counts labels. Then setup share describes the name, not the pattern, and metrics calculated together describe neither of them.
Metrics table to fill
| Metric | Formula | Value | Trade count in sample |
|---|---|---|---|
| Win rate | wins / total | ||
| Average win in R | sum of winning R / number of wins | ||
| Average loss in R | sum of losing R / number of losses | ||
| Expectancy | formula in expectancy lesson | ||
| Median R | middle value of sorted series | ||
| Share of wins >= 2R | number >= 2R / total | ||
| Cost as a percentage of R | cost / 1R x 100 | ||
| Setup concentration | setup trades / total | ||
| Plan compliance | compliant / total | ||
| Maximum drawdown in R | largest drop from peak |
The trade count column is not decoration. A metric calculated on a very small sample changes with every additional trade, so without this column you do not know whether you are looking at a system property or a random week.
Common measurement mistakes
- Counting in account currency instead of R. Amount mixes position size with decision quality, so the result stops being comparable over time.
- Recording after the fact. Reconstruction after closing the position already contains outcome knowledge, so process metrics cease to be measurements.
- Metrics without sample size. Every value without the number of transactions behind it is incomplete.
- Omitting cost or entering it as an estimate. Underestimated cost overstates expectancy, and that is the metric that controls position size decisions.
- Changing setup definition during sample collection. A new definition starts a new sample, and old data no longer describe what you are doing.
- Mixing in-plan and out-of-plan trades in one average. Plan compliance is a separate metric precisely so that these two sets can be separated.
Measurable exercise
Over ten transactions, fill in the sheet before entry — setup, thesis invalidation level, planned risk in account currency, thesis, and chart snapshot — and after exit add exit price, cost, and result in R. Then calculate all metrics from the table above and record the number of transactions in the sample. The completion threshold: every metric must have a value or a no data entry. A separate review rhythm in which these numbers become decisions is covered in the journal and review lesson.
Why is a result in USD not enough to assess the process?
R compares the result with planned risk. USD mixes position size with decision quality, and that is what decides the process.
Common questions
How large a sample is needed for conclusions?
Dozens of transactions of the same setup, not a month of trading. With a small sample, every additional transaction shifts the metrics enough that you cannot distinguish a system property from a random week.
Can I keep a journal in a spreadsheet?
Yes. A sheet with columns: date, setup, planned risk in account currency, entry price, exit price, cost, result in R, and the plan compliance tag is enough to calculate all metrics from this lesson. Discipline of entry matters, not the tool.
What to do when the metrics come out weak?
First check whether the sample is large enough and whether costs are entered honestly. Only then change the setup definition or position size — the metric serves a decision, not an assessment of your own worth.
Why calculate these metrics at all, instead of looking at the account result?
The account result is one number that both edge and luck can generate, and distinguishing between them decides whether you are allowed to increase position size. Metrics break that result into components: they tell you where it comes from, how sensitive it is to costs, and whether it was achieved according to the plan at all. Without them, every decision about size, changing the setup, or taking a break rests on an impression that cannot be verified or repeated.
Advertisement
Key takeaways
- A trading journal makes sense only if you can calculate concrete numbers from it. This lesson provides formulas for result in R, win rate, R distribution with median and quartiles, transaction cost as a percentage of R, setup concentration, and plan compliance, while leaving the expectancy calculation to the expectancy and drawdown lesson. Each formula is assigned a field in the journal schema, so you know what to record and why.
Structure sources
The material is based on source documents. Variable values — fees, limits, regulatory figures — are worth checking at the source before making a decision.
- Course measurement method — journaling and metrics
- Babypips — trading journal — babypips.com
Disclaimer
- Educational material. Not investment advice or a recommendation. Trading involves the risk of losing capital.
- The materials are educational. They are not investment advice or a recommendation within the meaning of financial instruments trading regulations. Numbers in examples are illustrative unless a measurement date and source are given.
Who writes this and how we check it
The materials are written and verified by Redakcja Kurs Tradera — the rules are described on about the site: every number has a source, and we show gaps openly. Report a factual error via contact — corrections are described in the content.
Progress is stored only in this browser (localStorage) — there is no account and no copy on the server. Clearing site data will remove it. Manage your data