Skip to content
Home Workflows Import trades from Tradovate
Workflow Imports Tradovate

Import trades from Tradovate without losing cost data

Export the right Tradovate report, normalize timestamps/symbols, clean partial fills, and map columns so your trading journal stays net and comparable.

Quick answer

Export Fills with fees, clean, map, import. Grab the Fills CSV, convert timestamps, standardize symbols, combine partial fills, keep commissions/fees columns, then map timestamp, account, symbol, side, qty, price, and costs into your journal.

Time: 10–15 minutes Difficulty: Easy Outcome: Clean Tradovate CSV ready for ProfitPulse

What you’ll learn

A clean Tradovate import prevents broken analytics. Export the right report, normalize timestamps and symbols, and keep costs attached so net P&L and R-multiples stay honest.

Best for
Best for
Tradovate futures traders who want accurate, net P&L journaling.
Non-negotiables
  • Always import net numbers (include commissions/fees).
  • Standardize symbols (ES/MES, NQ/MNQ) and timezones before mapping.
  • Combine partial fills to avoid duplicate trades.

Overview

Tradovate exports are straightforward once you know which columns matter. This guide shows exactly what to export, how to normalize, and the field mapping to keep metrics intact.

You’ll finish with a CSV that matches your statement and flows into ProfitPulse without manual clean-up.

Pro tip

Save a mapping template once; reuse it daily for fast imports.

What you need before you start

Collect these inputs before you start.

Inputs
  • Tradovate Fills CSV with commissions/fees.
  • Account timezone and target journal timezone.
  • List of canonical symbols (ES, MES, NQ, MNQ, CL, MCL).
Tools
  • ProfitPulse CSV import template.
  • Spreadsheet or CSV editor.
  • Tradovate statement for P&L cross-check.

Shortcut: If you want this workflow automated, use a trading journal app that supports imports + analytics (ProfitPulse).

Step-by-step: import Tradovate trades without losing costs

Follow these steps to go from Tradovate export to a clean, net P&L journal entry.

  1. 1

    Export your Tradovate fills (with fees)

    Go to Reports → Fills, select your date range, and export CSV. Ensure commissions/fees columns are included.

    • Use the Fills report, not the Orders-only view.
    • Include commissions/fees and account fields.
    • Export a statement for later cross-check.
    Goal: You have a Fills CSV with costs for the correct dates.
  2. 2

    Normalize timezone and symbols

    Convert timestamps to your journal timezone and normalize symbols so filters and charts align.

    • Apply timezone conversion (e.g., CST → EST/UTC).
    • Rename symbols to canonical tickers (ES/MES, NQ/MNQ, CL/MCL).
    • Keep account/accountId columns if you use multiple accounts.
    Watch for: Wrong timezones or symbols create duplicate trades and broken stats.
  3. 3

    Combine partial fills and costs

    Group partial fills by order ID. Calculate weighted average prices and sum costs once per side.

    • Aggregate entries and exits separately if you scale in/out.
    • Add commissions/fees after grouping, not per line if they’re duplicated.
    • Flag any manual adjustments you make.
    Done when: Each trade has one entry and exit row with net costs attached.
  4. 4

    Map fields to your journal

    Line up Tradovate columns to journal fields so analytics work immediately.

    • Timestamp → execution time (converted); Account → account name/ID.
    • Symbol → canonical ticker; Side → long/short; Quantity → contracts.
    • Price → entry/exit; Commission/Fee → costs; Order ID → grouping.
    Tradovate column Map to journal Notes
    Timestamp execution_time Convert to target timezone.
    Account / AccountId account Keep if you trade multiple accounts.
    Symbol symbol Normalize ES/MES, NQ/MNQ, CL/MCL.
    Side side (long/short) Use buy/sell or 1/-1 consistently.
    Quantity size Contracts filled (after combining partials).
    Price entry_price / exit_price Weighted average if scaled.
    Commission / Fees costs Sum once per side after grouping.
    OrderId order_id Use to merge partial fills.
    Goal: Columns align to your journal schema.
  5. 5

    Validate net P&L and metrics

    Cross-check totals before finalizing so analytics are trustworthy.

    • Compare CSV net P&L to the Tradovate statement for the same dates.
    • Spot-check 3–5 trades for correct side, size, price, and costs.
    • Confirm micro vs e-mini multipliers match your journal settings.
    Done when: Net P&L and counts match your statement.
  6. 6

    Save the template and repeat

    Lock in your mapping so daily imports are a two-minute task.

    • Save the cleaned CSV as a template with formulas for conversions.
    • Set a recurring reminder post-session to export and import.
    • Automate imports in ProfitPulse once you’re confident in the mapping.
    Outcome: Reliable, repeatable imports.
Checklist (copy/paste)

Run this every time you import.

  • Export Fills CSV with costs.
  • Convert timezone and normalize symbols.
  • Combine partial fills; attach costs once.
  • Map fields and validate P&L vs statement.

Common mistakes (and how to avoid them)

Dropping commissions/fees

Skipping cost columns makes profit factor and expectancy meaningless.

Wrong timezone

Leaving CST timestamps in EST/UTC reviews offsets trades and messes up session tags.

Symbol drift

Mixing ES/MES or NQ/MNQ without normalization splits stats and doubles trades.

No validation vs statement

If you skip the net P&L cross-check, your journal can drift from reality without you noticing.

Metrics that matter (so you don’t “review by vibes”)

If your workflow touches performance, anchor your review to real metrics like profit factor, expectancy, net P&L, R-multiples, and drawdown.

Troubleshooting

My CSV doesn’t show commissions-where do I get them?

Export the full Fills report or pull the daily statement and add commissions/fees before importing.

Partial fills are creating duplicate trades.

Group by order ID and side, use weighted averages, and sum costs once.

My timestamps are off by hours.

Check CST vs your review timezone and daylight savings. Convert once for all rows before importing.

Micros and e-minis show the same P&L.

Normalize symbols (MES vs ES) and confirm your journal uses the correct multiplier per instrument.

Frequently asked questions

Which Tradovate report should I export?

Use Reports → Fills for the day or date range and include commissions/fees. Daily statements are helpful for cross-checking net P&L.

Does Tradovate include commissions and fees in the CSV?

Yes, the fills report includes commissions/fees columns. Keep them so the journal reflects net P&L.

How do I handle partial fills?

Group rows by order ID, compute weighted average price for entry/exit, and sum costs once before importing.

How often should I import Tradovate data?

Daily is best-export after the session so costs and context are fresh. Weekly is okay if you keep a consistent mapping template.

Can I import sim and live trades together?

Yes, but keep the Account column so you can filter. Review sim separately so it doesn’t distort live performance metrics.

How do I handle micros vs e-minis?

Normalize symbols (MES/ES, MNQ/NQ, MCL/CL) and ensure your journal uses the correct tick value/multiplier per instrument.

Next step

Turn this workflow into a system.

ProfitPulse is a trading journal app built for cost-aware, risk-weighted review. Import trades, tag setups, track net P&L, and review edge using expectancy, profit factor, and drawdown.