Stop re-typing every fill. Bring your real history in.
If you trade through Interactive Brokers β or any broker that runs on the IB platform, such as CapTrader, LYNX, Estably, or WH-SelfInvest β you don't have to re-enter months of fills by hand. MindTrajour reads the exports IB produces and reconstructs your trades for you.
There are two ways to get your history in:
- CSV upload β export a file from Client Portal and drop it in once.
- FlexQuery connection β connect the IB Flex Web Service once, then sync on demand with a single click.
Both routes use the same engine: individual executions are grouped into trades, multi-leg strategies are detected where unambiguous, and a roll is recorded as two trades (a close and an open) so your statistics reflect realized outcomes. Anything that can't be mapped cleanly is kept as a read-only history row, so your year-to-date performance stays complete.
Option 1 β Upload a CSV
The importer understands the common Client Portal exports, in English or German:
- Activity Flex Query or Trade Confirmation Flex Query exports (flat CSV with one row per execution), and
- full Activity Statements (the multi-section account statement download).
- In your broker's Client Portal, go to Performance & Reports β Statements and open the Activity Statement. Set Period to Custom Date Range, pick your From and To dates, keep Multi-Account Format on All-in-One Summary, and click Download CSV. (A Flex Query CSV export works too β there, include all available columns; the importer reads what it needs and ignores the rest.)
- In MindTrajour, open All Trades and click Import from broker.
- Drop the file in. You'll see a preview of every rebuilt trade, its detected strategy (or "unsupported"), and which rows are new versus already imported.
- Tick the trades you want (everything new and importable is pre-selected; already-imported trades are unchecked) and confirm. Re-importing the same file is safe β duplicates are skipped automatically.
Performance & Reports β Statements β Activity Statement with a Custom Date Range β Download CSV β Import from broker in MindTrajour
Option 2 β Connect FlexQuery (sync on demand)
The IB Flex Web Service lets MindTrajour fetch your statement directly, so you don't export a file every time. Both query types work; we recommend an Activity Flex Query for importing history β it can cover up to a year, while a Trade Confirmation Flex Query only covers a short window (e.g. "today").
Create the Flex Query
- In Client Portal, go to Performance & Reports β Flex Queries.
- Next to Activity Flex Query, click the + (Create) button and give the query a name like
MindTrajour. - Under Sections, click Trades. In the dialog that opens, set Options to Execution (one row per fill β this is what the importer expects), click Select All for the fields, and hit Save.
- Under Delivery Configuration, set Period to Last 365 Calendar Days. Leave everything else as it is (Format
XML, Date FormatyyyyMMdd, Time FormatHHmmss). - Click Continue, check the summary on the review screen, and click Create.
- Back on the Flex Queries list, click the β next to your new query and copy the Query ID.
Enable the Flex Web Service and get the token
- On the same Flex Queries page, click the gear icon next to Flex Web Service Configuration.
- Enable Flex Web Service Status, copy the generated Current Token (it's valid for one year), and click Save.
Connect in MindTrajour
- Open All Trades β Auto-sync (FlexQuery), paste the Token and Query ID, and click Connect.
- Click Sync now, review the rebuilt trades in the preview, tick the ones you want, and import.
Performance & Reports β Flex Queries β create an Activity query with Trades (Execution, all fields), Period Last 365 Calendar Days, enable the Web Service, copy the Query ID and token, connect and sync in MindTrajour
Your token is stored securely and is never shown again after you save it. Activity Flex Query data is end-of-day: a fill you make today lands in IB's statement overnight, so it appears on the next day's sync. Requests are gently rate-limited, so syncing is for catching up rather than live streaming β and nothing is saved until you confirm the preview, so syncing never silently creates trades.
Want commissions and fees imported too? Use the Activity Flex Query above β it includes the per-fill commission, so your trades arrive with their fees filled in. A Trade Confirmation query reports commissions as
0(fees are finalized after settlement), so trades imported from one show no fees. The premium itself imports correctly from either query type.
Working with multiple trading accounts
Each FlexQuery connection is tied to the MindTrajour trading account that's selected when you connect. Switch trading accounts and you can connect a different Query ID and token for each β or copy an existing connection from another account with one click when both accounts share the same IB credentials. You can review and disconnect all of your broker connections under Account β Broker connections.
Which brokers does this cover?
All brokers that run on the Interactive Brokers platform. Examples: Interactive Brokers, CapTrader, LYNX, Estably, and WH-SelfInvest. They share the same Client Portal and export formats, so one integration covers them all.
What gets imported
- Single-leg calls and puts, verticals, calendars, diagonals, and other unambiguous strategies are mapped to a full MindTrajour trade you can open and edit.
- Stock trades are rebuilt as long/short positions (with average entry/exit price) when stock trading is enabled on your account.
- Rolls become two trades β the closing trade and the new opening trade.
- Contract multipliers are read from your export, so mini and index options with a non-standard multiplier import with the correct premium. (If an export doesn't state a multiplier, the standard 100x is assumed.)
- Non-USD fills are converted to USD automatically using the daily exchange rate of each fill's trade date. The preview tells you which currencies were converted; if a rate is ever unavailable, those amounts keep your broker's original values instead.
- Anything ambiguous or unsupported is shown in the preview as "unsupported" and isn't imported, so nothing is created that we can't model correctly.
A few current limitations to be aware of:
- Complex multi-expiry structures beyond two legs (e.g. double calendars) are still split by expiry and may arrive as separate trades.
- Exotic strategies that don't match a known leg pattern are kept as read-only history rows rather than editable trades.
Open All Trades
Something missing? Write us at hello@mindtrajour.com β we read every message.