📖 Documentation

Trading Journal — How It Works

A step-by-step guide to setting up accounts, exporting your trades, and getting the most out of the journal.

In this guide

1. Create your first account 2. Export from Tradovate 3. Export from Rithmic 4. Import the CSV 5. Configure commissions 6. Multiple accounts 7. Public sharing & Leaderboard Troubleshooting

Supported Platforms

The journal supports two trading platforms with different export formats.

T
Tradovate
Required file:Performance.csv
Format:Closed trades
PnL included:✓ Yes
Duration:✓ Yes
R
Rithmic
Required file:Order History.csv
Format:Order fills
PnL included:Calculated
Duration:Calculated
1

Create your first trading account

Each account in the journal corresponds to one trading account at your platform — for example, a Demo Tradovate, a 50K Apex Combine on Rithmic, or your funded live account. You can have as many as you want.

  1. Open the Trading Journal page
  2. Click + New Account at the top right
  3. Give it a name (e.g., "Tradovate Demo", "Apex 50K Eval", "TopstepX Funded")
  4. Choose the Platform (Tradovate or Rithmic) — this determines how trades will be imported
  5. Choose the Account Type (Demo, Live, Evaluation, or Funded)
  6. Set the starting balance and currency, then save
2

Export trades from Tradovate

Tradovate exports a single file named Performance.csv that contains every closed trade with PnL already calculated.

  1. Open the Tradovate desktop app or web platform
  2. Go to Account → Performance
  3. Select the date range you want to export
  4. Click Export → CSV
  5. Tradovate will save a file like Performance.csv or Performance(2).csv to your downloads
💡 Tip: If you export multiple times, only the new trades will be added — duplicates are detected automatically using the fill IDs Tradovate assigns to each leg.
3

Export trades from Rithmic

Rithmic exports a file named Order History.csv with individual order fills (not closed trades). Our journal automatically reconstructs your trades using FIFO matching.

  1. Open the R | Trader Pro application
  2. Go to Orders → Order History
  3. Select the date range
  4. Right-click the table and choose Save as CSV (or use the export icon)
  5. The file is typically named Order History.csv or Order_History.csv
ℹ How FIFO matching works: Every Buy fill closes the oldest open Short position (or opens/adds a Long). Every Sell fill closes the oldest open Long. PnL is calculated as (exit − entry) × quantity × point value. If at the end of the file you still have open positions, they are reported but not converted to trades.
⚠ Important: Make sure to export all your fills for the period, including those that closed trades. If you export only partial data, FIFO matching may produce wrong results.
4

Import the CSV file

  1. Open the journal and select the destination account from the top dropdown
  2. Click the Import CSV tab
  3. The platform selector should already match your account — if not, change it manually
  4. Drag your CSV file onto the dropzone, or click to browse and select it
  5. Wait for the confirmation: you'll see "X trades imported, Y duplicates skipped"
  6. If using Rithmic and there are open positions left, a warning will tell you how many
💡 Re-importing: You can import the same CSV multiple times safely — trades that already exist will be skipped automatically. This is useful when you keep exporting incremental data over time.
5

Configure your commissions

Commissions are per instrument, per contract, round-trip. For example, if you trade MNQ on a prop firm that charges $0.50 buy + $0.50 sell, set MNQ to 1.00.

New instruments are automatically added to the list when you import trades that reference them. Commissions are shared across all your accounts — if you change MNQ to $0.74, all your accounts using MNQ will reflect the new fee.

Net P&L vs Gross P&L: Gross P&L is the raw trade result. Net P&L subtracts commissions. The Equity Curve and most stats use Net by default.
6

Working with multiple accounts

Each account has its own trade list, equity curve, and statistics. Switch between accounts using the dropdown at the top of the journal.

7

Public sharing & Leaderboard

You can choose to make any of your accounts publicly visible. When public, the account appears on the community leaderboard and can be reached at a unique URL.

🔒 Privacy: Your real name is never shown publicly — only initials with asterisks (e.g., "M.R.***"). Your email and account ID are never exposed. Public viewers see all trade entries, exits, and timestamps but cannot see your other accounts or modify anything.

Troubleshooting

"Missing required column" error during import

You probably picked the wrong platform — for example, selecting Tradovate but uploading a Rithmic file. Re-check that the platform selector matches your CSV.

My Rithmic PnL doesn't match what R | Trader Pro shows me

The journal computes PnL as (exit − entry) × qty × point value. The point value defaults are correct for standard contracts but may differ for non-standard accounts. If your numbers are off by a constant factor, an admin can adjust the point value table to match.

Rithmic import says I have unmatched positions

This means your CSV ends with open positions — either the trades are still active or you exported only a partial range. Make sure to include all fills up to the point where positions were closed. The unmatched orders are not lost; they're simply not converted to trades.

"X duplicates skipped" message

This is normal — the journal recognizes trades you've already imported by their fill IDs. It's a feature, not an error. You can re-import the same file as many times as you want without polluting your data.

I traded an instrument not on the commission list

The journal extracts the root symbol from your contract (e.g., MNQM6 → MNQ). If a new symbol appears, it's added automatically with a default of $0 in commissions — just go to the Commissions tab and set the right value.

← Back to Trading Journal