MindTrajour Logo
Getting Started
Application Basics

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).
  1. 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.)
  2. In MindTrajour, open All Trades and click Import from broker.
  3. 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.
  4. 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

  1. In Client Portal, go to Performance & Reports β†’ Flex Queries.
  2. Next to Activity Flex Query, click the + (Create) button and give the query a name like MindTrajour.
  3. 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.
  4. Under Delivery Configuration, set Period to Last 365 Calendar Days. Leave everything else as it is (Format XML, Date Format yyyyMMdd, Time Format HHmmss).
  5. Click Continue, check the summary on the review screen, and click Create.
  6. 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

  1. On the same Flex Queries page, click the gear icon next to Flex Web Service Configuration.
  2. Enable Flex Web Service Status, copy the generated Current Token (it's valid for one year), and click Save.

Connect in MindTrajour

  1. Open All Trades β†’ Auto-sync (FlexQuery), paste the Token and Query ID, and click Connect.
  2. 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.

Re-syncing keeps existing trades up to date

Statement periods overlap β€” that's fine and by design. Every time you re-import a file or sync again, the new data is compared against what's already in your journal:

  • Already imported and unchanged trades land in the collapsed "Previously added" section and are skipped. (You can still re-import a deliberate copy from there if you ever need one.)
  • A trade you imported as open that has since been closed at the broker is offered as an update: the preview marks it with an Update badge, pre-selected. Confirming adds the real exit to your existing trade β€” same trade, same notes and tags, now closed with the broker's actual exit data.
  • Trades you've edited by hand (a changed entry, extra orders, …) are marked Modified and left untouched β€” a re-import never overwrites your manual work.

So the safe routine is simply: export generously, sync often, confirm the preview.

Suggested bundles: rolls, wheels, and covered calls

The importer also spots trades that belong together and offers to group them on the spot:

  • Roll chains β€” a position closed and re-opened at a new strike or expiry on the same day is suggested as one bundle per chain, however many times you rolled.
  • Wheel cycles β€” a short put assigned into stock plus the covered calls written against those shares are suggested as one wheel bundle. Assignment, exercise, and expiry are read straight from your broker's execution codes.
  • Covered calls β€” short calls written while you hold the underlying shares are paired with the stock position.

Suggestions appear at the bottom of the preview with their member trades, pre-selected. Untick anything you don't want β€” accepted suggestions become regular trade bundles you can rename, extend, or dissolve at any time.

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 β€” and same-day roll chains are offered as a ready-made bundle suggestion.
  • 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.