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.
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
- Click Add Trade in the sidebar
- Select your Asset Type (e.g., Futures)
- Choose Import CSV
- Select your Broker from the list
- Select the Export Type (if multiple options)
- Drag and drop your CSV file, or click to browse
- Review the parsed trades
- Select trades to import
- 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:
- Grouping Mode creates initial groups (flat-to-flat, time window, or per order)
- Same Direction splits groups if direction changes (when enabled)
- Price Proximity splits groups if prices are too far apart (when enabled)
- 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:
- Select two or more trades using checkboxes
- Click Merge Selected
- 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.