Copy-paste formulas are only useful when the database contract is equally copy-pasteable. In Notion, the same expression can fail because a property was renamed, a rollup returns a list instead of a number, an empty denominator is treated as zero, or a percentage is scaled twice.
This guide defines the properties first, then gives formulas for per-trade values and period summaries. Every percentage formula below returns a decimal fraction for Notion’s Percent number format: 0.5714 displays as 57.14%.
1. Create the Database Contract First
Use one Trade Log database for source rows and one Performance Summary database for a month, strategy, account, or other declared cohort. Link them with a Relation. A summary row only describes the trade rows actually related to it.
Property names must match, including capitalization, spaces, and punctuation. If you prefer another name or currency, change both the property and every prop("…") reference. The broader trading-journal field guide explains why source IDs, timestamps, costs, account currency, and strategy version belong beside these inputs.
2. Notion Formula Syntax That Causes Silent Errors
- Percent format expects a fraction. Return
0.25to display25%; do not return25and then apply Percent formatting. empty(0)is true. A generic empty check can treat a legitimate zero like a blank. Use a separate eligibility or readiness field when zero and missing must be distinguished.- Formula output is not a cohort. A summary depends on which pages are related, not which rows happen to be visible in a filtered view.
- Types must line up. A rollup configured to “Show original” is a list; the formulas below require numeric Sum rollups.
- HTML must escape comparison operators. In article source, write
<for a literal less-than sign inside a formula block. The reader must see<.
3. Copy-Paste Per-Trade Formulas
Create these as Formula properties in the Trade Log. Numeric formulas return 0 when the denominator is absent or invalid. Treat that zero as a guard value until Eligible is checked; it is not evidence that the metric was measured.
Net outcome divided by planned risk. Both inputs need the same currency or normalized unit. A partial loss can be greater or smaller than negative one R; the formula reports the record rather than assuming every loss hit the initial stop.
This describes the plan at entry, not the realized R multiple. Stop and target must use the same distance unit. A zero result is a missing/invalid-input sentinel unless zero target distance is intentionally allowed by your schema.
Use the sum of this helper as the denominator. Cancelled orders, duplicate imports, open trades, and unreconciled rows stay unchecked and do not dilute win rate or expectancy.
The exact spelling of the Select option must match. Breakevens remain eligible but are not wins, so the denominator stays explicit.
Define “in plan” before the session. This flag measures recorded adherence; it does not establish that the plan is profitable or that a profitable exception was good process.
Positive eligible outcomes only. Sum this property in the summary database.
The source loss stays negative in Net P&L; this helper returns its positive magnitude for profit-factor arithmetic. The escaped less-than operator prevents the web page from truncating the formula.
4. Copy-Paste Performance Summary Formulas
Relate the intended Trade Log rows to one Performance Summary row. Add numeric Rollups using Sum for Eligible Trade, Winning Trade, Net P&L, Gross Profit, Gross Loss, R Multiple, and In-Plan Trade. Name the results exactly as follows:
| Summary rollup | Trade Log property | Calculation |
|---|---|---|
| Eligible Trades | Eligible Trade | Sum |
| Winning Trades | Winning Trade | Sum |
| Total Net P&L | Net P&L | Sum |
| Total Gross Profit | Gross Profit | Sum |
| Total Gross Loss | Gross Loss | Sum |
| Total R | R Multiple | Sum |
| In-Plan Trades | In-Plan Trade | Sum |
Read this beside every numeric summary. A guarded zero prevents an error but must not masquerade as a measured profit factor.
Format as Percent with two decimal places. The output stays on a zero-to-one scale; do not multiply it by 100 again. Interpret it with payoff distribution and the expectancy formula.
Gross profit divided by the positive magnitude of gross loss. When loss is zero, the numeric guard returns zero and Summary Readiness explains why the ratio is undefined. Do not label a fixed range “good” without costs, exposure, path, concentration, dependence, and uncertainty; see the profit-factor interpretation guide.
This is the historical mean of the included net outcomes, not a daily-income promise. Keep the unit, date range, eligibility policy, costs, sample size, uncertainty, and strategy version visible.
This averages realized R multiples. It is not “average R:R”: reward-to-risk is the entry plan, while realized R is an outcome normalized by planned risk.
Format as Percent. Use a predeclared checklist and audit missing labels; no universal adherence percentage proves discipline or future profitability.
5. Test the Formulas Before Using Them
Create a temporary summary linked to controlled test rows. The minimum acceptance matrix is:
| Case | Expected result | Failure it catches |
|---|---|---|
| No eligible trades | All guarded metrics 0; readiness explains absence | Division by zero |
| Eligible win only | Win rate 100%; PF undefined state | False finite profit factor |
| Eligible loss only | Win rate 0%; gross loss positive | Negative PF denominator |
| One win, one loss, one breakeven | Three-trade denominator | Breakeven silently excluded |
| Unreconciled duplicate | No change until Eligible is checked | Duplicate dilution |
| Zero or blank Planned Risk | R guard returns 0; row remains not ready | Infinite or misleading R |
| Win-rate result 0.5714 | Percent display 57.14% | Double percentage scaling |
Change one input at a time and compare the Notion result with hand arithmetic. The copy-paste expression is not verified for your workspace until these rows pass with your actual property types.
6. Prop-Rule Formulas: Store the Rule Before Calculating It
A generic percentage of “current balance” is not a universal daily-loss or maximum-drawdown formula. A named program may use balance, equity, a start-of-day reference, an intraday high-water mark, static or trailing thresholds, specific reset timezones, and different treatment of open P&L, fees, payouts, or platform events.
For a rule independently verified as static, store Reference Value, Maximum Loss Amount, Current Rule Value, Rule Type, Verified On, and Official Rule URL. Then these arithmetic helpers are safe only within that snapshot:
Do not adapt these helpers to trailing or intraday rules by changing one label. Those calculations require a time-ordered path and the exact current rule. The Notion prop-firm tracker guide covers the schema boundary; official program terms remain controlling.
7. What Notion Formulas Cannot Prove by Themselves
Formula 2.0 can work with properties on related pages using list functions such as map and filter. That is more capable than a strict “one row only” model. It still does not create a reliable ordered ledger automatically: previous-event semantics, intraday marks, corrections, partial fills, and deterministic cumulative state must be modeled and sourced.
A relation or rollup can aggregate linked pages, but it does not prove the relation is complete, deduplicated, correctly ordered, or reconciled to the broker or venue. A chart can visualize a prepared series; it cannot recover missing events. Trailing drawdown and breach replay need a source-frequency event path and a versioned rule engine, not a manually updated current-balance cell.
Where TSB Fits When Notion Reaches Its Boundary
Ownership disclosure: Trader’s Second Brain is our product. Notion is flexible for a hand-built log, custom notes, and transparent formulas. TSB is the relevant alternative when the decision needs repeatable imports, source reconciliation, account-aware fields, and a versioned analysis workflow. TSB recognizes 328 structured source profiles through canonical runtime truth.
That is not a claim that every import is complete or that TSB certifies program compliance. Preserve the source export, account and currency, import range, duplicate policy, excluded rows, rule snapshot, and reconciliation totals. Missing decisive data remains Not verified. The import-format guide explains the acceptance checks.
Methodology and Verification
This guide was reviewed on September 9, 2026 against Notion’s official formula syntax and functions, formula-error guidance, and relations and rollups documentation. The official syntax supports property references, comparisons, logical operators, if/ifs, let/lets, list functions, and numeric rollup calculations; the formula editor requires exact property references and compatible data types.
The prior page’s broken less-than HTML, incomplete challenge-status expression, double-scaled percentages, generic program rules, universal performance thresholds, deterministic profitability claims, and undocumented TSB automation claims were withdrawn. Production remains read-only until a separately authorized import.
Final Verdict: Copy the Contract, Not Just the Formula
A robust Notion trading formula names its input type, cohort, missing state, denominator, output scale, and acceptance test. Start with eligible reconciled rows, use positive loss magnitude only where the metric requires it, keep Percent outputs on a zero-to-one scale, and expose undefined ratios instead of decorating them as zero.
Formulas can make a journal consistent. They cannot make incomplete source data complete or turn a historical mean into proof of an edge. Treat each summary as a versioned calculation whose inputs can be inspected and reproduced.