[01]// before the trade
Account balance, risk percentage, entry, and stop produce a lot size, dollars at risk, and reward to risk. Contract specs differ per instrument, so the symbol carries its own units per lot rather than assuming forex.
- Risk sizing
- Reward to risk
- Symbol specs
[02]// after the trade
Entry, stop, target, exit, outcome, notes, and a screenshot of the chart that was acted on. Closing a position computes P&L, R multiple, and hold time. Open positions stay pinned above closed ones.
- Trade records
- Screenshots
- Computed R
[03]// the pattern behind the trades
Win rate and expectancy sliced by session window, instrument, and hour of day. An hour-by-weekday heatmap shows when trading actually works. Aggregation runs in Postgres so the numbers come back already reduced.
- Session stats
- Heatmap
- Instrument breakdown
[04]// the thesis being tested
A named strategy with its timeframes and instruments, and trades tagged to it. Sandbox trades record an idea without touching the live record, so a setup can be tracked before it is traded.
- Definitions
- Tagged trades
- Sandbox record
[05]// what trading costs
Funded, live, and crypto accounts tracked side by side with the challenge fees, resets, payouts, and subscriptions attached to them. Receipts upload against the account. Categories are shared built-ins plus your own.
[06]// the setups that did not become trades
Structural observations logged separately from trades: rejections, breaks of structure, follow-through direction and timeframe. Optionally linked to the trade they preceded, so near misses are still data.
- Structure events
- Follow-through
- Trade links
[07]// the account itself
Username, display name, and the timezone every instant is rendered in, with a live clock so the choice has a visible consequence. Account deletion removes the profile, every owned row, and every uploaded file.
[08]// internal only
Market structure analysis fed by an ingest job: session ranges, signal events, and annotated price levels. Gated to a single internal role at the policy layer, so a general account gets no rows even if it reaches the route.
- Session ingest
- Signal events
- Custom levels