TDLab — Trading Discipline Lab
All guides
Accounts & data

Import a Custom CSV

Updated Sep 26, 20265 min read

Custom CSV is a closed-trade format: each row must already represent one complete trade, not an order fill that still needs to be paired.

Required file: Custom CSV

Choose the matching source in Add trades → File / Report. Upload the original export without renaming columns or changing values.

Export the correct file

  1. Use one closed-trade row per line

    Prepare one row for every closed trade. Do not use this profile to submit raw entry and exit fills that still need to be matched.

  2. Include the required headers

    Required: Symbol, Side, CloseTime and either NetPnL or GrossPnL. Recognized aliases include Instrument/Ticker, Direction/Action, Closing Time/Closed and Profit/Realized PnL. Side accepts BUY/SELL and Long/Short.

  3. Add optional data when available

    Optional fields include OpenTime, Size, EntryPrice, ClosingPrice, StopLoss, TakeProfit, Ticket, Fees, or Commission plus Swap. Comma, semicolon and tab delimiters are accepted. A minimal header is Symbol,Side,CloseTime,NetPnL.

  4. Set the file timezone

    Choose the clock used by the timestamps. Use a fixed UTC offset only when it never follows daylight saving; otherwise choose the matching city. Upload the file and verify the preview before importing.

Before you import

Rows with a symbol, direction, valid close time and P&L are imported. If NetPnL is paired with separate costs, TDLab reconstructs gross P&L and applies costs exactly once.

Format and data limitations

This profile accepts CSV only. A missing required header rejects the file; an individual row with missing or invalid required values is skipped. Missing Size defaults to 1. Stop loss, take profit, prices and open time stay empty when absent. Custom CSV does not reconstruct round trips from fills.

Import it into TDLab

  1. Open the trading account that should receive the trades.
  2. Open Add trades and select File / Report.
  3. Select this exact platform/source and the timezone used by the file timestamps.
  4. Upload the file and compare the time preview with a known execution.
  5. Confirm the import, then check imported and skipped rows in Import History.

Need a starting file?

Download the free Custom CSV import template with a blank CSV, a filled example and field notes.

Return to the file import overview to compare all supported sources.

Put the evidence to work.

Connect your real trades with behavior, rules and historical market context. Start free for 7 days.