Importing Trades via CSV

Import trades directly from your broker's CSV export files. This is the fastest way to log multiple trades at once.

PRO Feature

CSV import is only available on the PRO plan. FREE users must enter trades manually.

Supported Brokers

Currently supported brokers for CSV import:

  • TopStepX - Trade Performance export
  • NinjaTrader - Trade Performance export
  • Tradovate - Trade History export
  • MetaTrader 4 (MT4) - Account History export
  • MetaTrader 5 (MT5) - History Deals export
  • TradingView - Paper Trading export

More brokers are added regularly. If your broker isn't listed, you can still enter trades manually.

How to Import

  1. Click Add Trade in the sidebar
  2. Select your Asset Type (e.g., Futures)
  3. Choose Import CSV
  4. Select your Broker from the list
  5. Select the Export Type (if multiple options)
  6. Drag and drop your CSV file, or click to browse
  7. Review the parsed trades
  8. Select trades to import
  9. Click Import Selected

Understanding the Import Preview

After uploading, you'll see a preview table with:

  • Date/Time - When the trade occurred
  • Symbol - The instrument traded
  • Direction - Long or Short
  • Entries - Number of entry executions (for merged trades)
  • Qty - Total quantity/contracts
  • P&L - Profit/loss (colored by your theme settings)
  • Duration - How long the trade was held

Filtering

Use the Date dropdown to filter trades by date. This helps when your export contains multiple days.

Selection

  • Click the checkbox next to trades you want to import
  • Use the header checkbox to select/deselect all
  • The button shows how many trades are selected

Trade Grouping Settings

Broker exports show individual executions (fills), not complete trades. Tradavity groups these executions into trades based on your settings in Settings > Grouping.

Why Grouping Matters

Example: You buy 3 contracts of ES at different times, then sell all 3. Your broker export shows:

  • Buy 1 @ 5000.00
  • Buy 1 @ 5001.00
  • Buy 1 @ 5002.00
  • Sell 3 @ 5010.00

Without grouping, you'd have 4 separate entries. With grouping, these become 1 trade with 3 entries and 1 exit.

Grouping Mode

The main setting that controls how executions are combined:

Flat-to-Flat (Recommended)

Groups all executions from when you open a position (go from 0 contracts) until you close it (back to 0 contracts). This captures complete trade cycles.

  • You buy 2 contracts, then sell 2 contracts = 1 trade
  • You buy 2, sell 1, sell 1 = 1 trade (scaled out)
  • You buy 2, sell 2, buy 3, sell 3 = 2 separate trades

Per Order

Every single execution becomes its own trade. No grouping at all.

  • Buy 1, Buy 1, Sell 2 = 3 separate trades
  • Use this if you want to analyze each fill individually

Time Window

Groups executions that happen within X minutes of each other. You set the time window (default: 5 minutes).

  • With 5-minute window: executions at 9:00, 9:03, and 9:04 = 1 trade
  • Execution at 9:15 = new trade (more than 5 minutes later)
  • Useful when flat-to-flat doesn't work for your trading style

Merge Partial Fills

When ON: If an order fills in multiple parts at the same or similar price, combine them into one entry.

Example with merge ON:

  • Buy 5 @ 5000 (filled as 3+2) = Shows as single entry: Buy 5 @ 5000

Example with merge OFF:

  • Same order = Shows as two entries: Buy 3 @ 5000, Buy 2 @ 5000

Most traders want this ON to keep things clean.

Same Direction Only

When ON: A change in direction (buy to sell or sell to buy) starts a new trade, even if you're still in a position.

Example with same direction ON:

  • Buy 2, Sell 1 (partial close), Buy 1 (add to position) = This could create separate groups

Example with same direction OFF:

  • All executions group together regardless of direction until position closes

Keep this ON for most trading styles. Turn OFF only if you frequently flip positions without going flat.

Price Proximity

When ON: Only group executions if their prices are within X% of each other.

Example with 0.5% proximity:

  • Buy @ 5000, Buy @ 5020 (0.4% apart) = Groups together
  • Buy @ 5000, Buy @ 5050 (1% apart) = Separate trades

Useful if you take multiple unrelated trades on the same symbol throughout the day and want them separated.

How Settings Work Together

The grouping mode is applied first, then the additional rules filter the results:

  1. Grouping Mode creates initial groups (flat-to-flat, time window, or per order)
  2. Same Direction splits groups if direction changes (when enabled)
  3. Price Proximity splits groups if prices are too far apart (when enabled)
  4. Merge Partial Fills combines fills within each group (when enabled)

Recommended Settings

For most traders:

  • Grouping Mode: Flat-to-Flat
  • Merge Partial Fills: ON
  • Same Direction Only: ON
  • Price Proximity: OFF (unless you need it)

Manual Merge

If automatic grouping doesn't work for specific trades, you can manually merge them in the preview:

  1. Select two or more trades using checkboxes
  2. Click Merge Selected
  3. The trades combine into one with aggregated data

Manual merge is useful when you know certain executions belong together but the automatic grouping separated them.

What Gets Imported

From CSV imports, Tradavity captures:

  • Trade date and time
  • Symbol
  • Direction (Long/Short)
  • Entry and exit prices
  • Entry and exit times
  • Quantity
  • P&L (if provided)
  • Fees/commissions (if provided)

After import, you can edit the trade to add:

  • Strategy and setup
  • Psychology/emotional state
  • Notes
  • Screenshots
  • Tags

Troubleshooting

File Won't Parse

  • Ensure you selected the correct broker
  • Check that the file is in CSV format (not XLSX)
  • Some brokers have multiple export types - try a different one

Trades Not Grouping Correctly

  • Try a different grouping mode in Settings
  • Use manual merge for specific trades
  • Check that "Merge Partial Fills" is enabled

Wrong P&L Values

  • Verify your account's currency matches the export
  • Check multiplier settings for futures
  • Some exports don't include commissions - add fees manually after import

Duplicate Trades

Tradavity doesn't automatically detect duplicates. Before importing, check if you've already imported trades from that date range. Filter by date to avoid duplicates.