CONNECT THE CALCULATION TO THE JOURNAL
Pre-trade ticket
Keep the assumptions you checked before a trade beside the result you reconcile afterwards. A stable trade ID links the plan, your six checks and the journal export.
This is a local record, not an order. Ticking every box does not establish readiness, guarantee an execution price or authorise a trade. Prices, costs and manual pip values are copied assumptions. Editing this ticket does not recalculate position size or risk.
This module does not send ticket fields to a server. Saving uses localStorage in this browser profile, readable by site scripts and people with access to that profile. Clearing site data removes the library; download backups. Other site scripts follow the site privacy policy.
Local trade library
CSV uses r_net, pnl_net, initial_risk, pair, setup, session, closed_at, trade_id, trade_state, account_currency. Planned rows have blank outcome fields and trade_state=planned; the journal analyser rejects them. Completed-only export is the simplest route to analysis. Exports contain your entries and monetary amounts: review them before sharing.
| Instrument / ID | State | Setup | Net R | Actions |
|---|
Up to 2,000 records and 1 MB in this library/backup. A merge keeps the existing record when an ID is duplicated; it does not overwrite it with imported content. When another tab changes the library, reload before saving. Download your current draft first.
Record lifecycle and limitations
Version 1.0.0, 26 October 2026. A plan stores assumptions and self-declared checks. A completed record additionally requires finite net realised P&L, positive documented initial monetary risk, an actual closing timestamp and explicit reconciliation. Planned targets and modelled SL losses never become realised results automatically. The tool does not contact a broker, verify documents or prove that a plan was frozen before execution.
The calculator transfer is read from sessionStorage in the same browser tab. It must target this ticket, be no more than 20 KB and less than 24 hours old. The ticket copies its assumptions without recomputing them. It does not infer exchange rates for manual pip values. A trade ID uses crypto.randomUUID() where available, with a local random fallback; the ID is a join key, not evidence of a transaction.
JSON imports are schema-checked before merging and limited to 1 MB and 2,000 unique IDs. Labels are displayed as text, and spreadsheet formula prefixes in exported labels are neutralised. Backups and exports are local files. There is no synchronisation across devices or independent verification of completed status.