Interactive Brokers Trading Journal: Flex Query Setup + Multi-Asset Import
Last updated: May 14, 2026
Interactive Brokers is one of the most powerful trading platforms in the world — and one of the most journal-unfriendly out of the box. The Flex Query system can dump every fill across every asset class in a single CSV, but the configuration is genuinely confusing the first time you set it up. Pick the wrong fields and the data imports incorrectly. This guide walks through the IBKR Flex Query setup that produces clean journaling data, the multi-asset import workflow, and the things that trip up most generic journals.
Why IBKR is uniquely powerful (and uniquely confusing)
IBKR's Flex Queries can produce the cleanest trade data in the industry. Exact fills, exact fees, exact commissions, full Open/Close indicators, Order IDs that enable accurate multi-leg grouping, currency-tagged P&L for international equities. When configured right, an IBKR Flex Query is journaling gold.
The catch: Flex Query configuration is presented as a flat list of ~80 possible fields with no guidance on which combinations actually work. Pick wrong and:
- No Order ID → multi-leg options can't be grouped, your iron condors show as 4 unrelated trades.
- No Open/Close Indicator → scale-in / scale-out fills can't be reconstructed correctly.
- No Asset Class field → futures and forex get misclassified as equity, R-multiple math breaks.
- No Foreign Currency fields on international trades → P&L gets lost in currency conversion.
- No Settlement Date or Trade Date → some journals can't even map the trades to a chronological timeline.
The same flexibility that makes IBKR great for sophisticated traders makes the export confusing for new users. The good news: once you have the right Flex Query saved, you re-run it forever in two clicks. The pain is one-time.
The IBKR Flex Query that actually works
Set up a Trades Flex Query with these fields. Save it once and re-run it weekly or monthly going forward.
Required fields (without these, the data is unusable)
- Symbol — the trading symbol (or root for futures/options)
- Trade Date / Time — when the fill executed
- Asset Class — Equity, Option, Futures, Cash (forex), etc.
- Quantity — number of contracts/shares/units
- Trade Price — fill price
- Open/Close Indicator — whether this fill opened or closed a position
- Buy/Sell — direction
- Currency — for non-USD denominated trades
- IB Commission — per-fill commission/fee
Strongly recommended fields (multi-leg + scale-in/out support)
- Order ID — needed for multi-leg options grouping
- Trade ID — unique per fill, useful for deduplication on re-imports
- Underlying Symbol — for options, the underlying ticker
- Strike — for options
- Expiry — for options and futures
- Right (Put/Call) — for options
- Multiplier — contract multiplier for options/futures (TradersForge has built-in lookups but explicit is safer)
Optional but useful
- Foreign Currency / Currency Conversion fields — for international equities
- Notes / Order Reference — if you tag orders in TWS, the tags come through
On the Import & Connect page, TradersForge documents the exact field selections to copy into your IBKR Flex Query setup. Skip the trial-and-error — copy the template, save the query in IBKR, and you're done.
Step-by-step: setting up the Flex Query
- Log into IBKR Account Management (the management portal, not TWS).
- Navigate to Reports → Flex Queries.
- Click Create New Flex Query → Trades Query.
- Name it something memorable: "TradersForge Journal Export" works.
- In the Sections list, expand Trades and select the fields listed above.
- In Format, choose CSV (more reliable than XML for downstream parsers).
- Set Time Period to "Last N Calendar Days" — start with 365 for backfill, then change to 7 or 14 for ongoing weekly exports.
- Save the query.
- Run the query: Reports → Flex Queries → Run for your saved query → download CSV.
- Drop the CSV into TradersForge's Import & Connect page.
Re-running for ongoing journaling
After the first backfill, change the Time Period on your saved Flex Query to a shorter window (e.g., last 14 days). Run it weekly or monthly. TradersForge dedupes by Trade ID — only new trades since your last import get added. You can also configure IBKR to email the Flex Query results on a schedule, but the manual run is fine for most users.
Multi-asset journaling: one query, all asset classes
IBKR's real strength is multi-asset support. One Flex Query can include stocks, options, futures, forex (Idealpro), and international equities — all in one CSV.
Stocks
Asset Class = "Equity." R-multiple uses dollar-share math. Per-symbol expectancy works the same as for any other broker.
Options
Asset Class = "Option." Multi-leg grouping uses Order ID. Strike, Expiry, and Right come through. R-multiple uses ×100 multiplier per contract.
Futures
Asset Class = "Futures." TradersForge's built-in contract multiplier lookup applies (ES, NQ, MES, MNQ, RTY, CL, GC, etc.). For exotic futures not in the lookup, you can override the multiplier per trade.
Forex (Idealpro)
Asset Class = "Cash." Pair information comes through Symbol + Currency fields. R-multiple uses pip-based math (~$10/pip per standard lot for major USD-quoted pairs).
International equities
LSE, TSE, ASX, etc. — all flow through. Currency Conversion fields let TradersForge convert P&L to USD if you include them; otherwise P&L is shown in trade currency.
IBKR journaling gotchas
TWS doesn't do this — only Account Management
A common confusion: Trader Workstation (the desktop trading platform) is for execution and analysis. The export workflow lives in IBKR Account Management (the web portal). Reports → Flex Queries is in the portal, not TWS.
IBKR uses Trade Date AND Settlement Date
For most journaling, Trade Date is what you want — the date the fill executed. Settlement Date is the post-fill clearing date (usually T+1 or T+2). Make sure your Flex Query includes Trade Date specifically; importing settlement-only data shifts everything by 1-2 days.
Commission can show as separate line items
IBKR sometimes splits exchange fees + clearing fees + commission across multiple line items. The "IB Commission" field typically captures the total; the fragment fields capture pieces. TradersForge sums them to net commission per fill, but if you only include partial fields, you'll show under-stated fees.
International trades and currency conversion
A LSE trade might be denominated in GBP. Your TradersForge journal can show this in GBP (no conversion) or in USD (using the FX rate at trade time, if you include the Currency Conversion fields in the Flex Query). Pick one approach and stay consistent.
Flex Query has a daily run limit
IBKR limits Flex Query runs (typically a few per hour, dozens per day). Running the same query repeatedly for testing can rate-limit you. Save the query once, run it on a real schedule, and don't re-run for casual checking.
Going further: API + Flex Web Service
For high-volume IBKR users who don't want manual Flex Query runs, the Flex Web Service exposes the same data via a REST API. This is on the TradersForge roadmap for native integration. For now, the manual workflow is supported and works well — most users find weekly Flex Query runs are enough for active journaling.
TWS API is a separate, more complex integration option (live order/position events) but it's overkill for journaling and adds operational complexity (a TWS instance has to stay running). Flex Query CSV is the recommended path.
Frequently asked questions
Does Interactive Brokers have a built-in trading journal?
IBKR has powerful reports — Activity Statements, Realized P&L reports, etc. — but they're tax/accounting documents, not trading journals. No setup tagging, no per-strategy expectancy, no R-multiple, no AI review, no journal entries. Active IBKR traders typically pair the platform with a separate journal.
How do I export trades from Interactive Brokers for journaling?
In IBKR Account Management (the web portal, not TWS), navigate to Reports → Flex Queries. Create a Trades Flex Query with the right field selections (Symbol, Trade Date, Asset Class, Quantity, Trade Price, Open/Close Indicator, Order ID, IB Commission, etc.). Save the query, run it for your date range, export CSV. TradersForge's Import page documents the exact fields to use.
Why does the Flex Query need Open/Close Indicator and Order ID?
Open/Close enables correct scale-in/scale-out reconstruction (so a position that scaled in twice and out twice imports as one trade, not four). Order ID enables multi-leg options grouping (so iron condors stay grouped). Without these, the data imports but loses the position-lifecycle info that makes analytics work.
Can I import multi-asset trades in one go?
Yes — one Flex Query covers all asset classes simultaneously. Stocks, options, futures, forex (Idealpro), and international equities all flow through. Per-asset-class analytics (R-multiple per asset, per-symbol expectancy, etc.) work independently after import.
Does TradersForge support IBKR international equities?
Yes. International trades (LSE, TSE, ASX, etc.) flow through the same Flex Query. Include the Currency Conversion fields in your query for USD-converted P&L; otherwise P&L stays in the trade currency.
Is there a live API integration for IBKR?
Native Flex Web Service integration is on the TradersForge roadmap. For now, manual Flex Query CSV export is the supported path. Most active IBKR users run a weekly Flex Query — fast and reliable. TWS API integration is also on the roadmap but is more operationally complex.
How often should I run the Flex Query?
For backfill, run once with a 1-year+ date range. Going forward, weekly is typical for active traders; monthly works for swing/position traders. TradersForge dedupes by Trade ID so re-importing overlapping date ranges is harmless.
Read next
Options journaling is harder than stock or futures journaling, and most generic trading journals do a poor job of it. A multi-leg iron condor isn't one row — it's four legs that need to be tracked as a single position lifecycle. The trade's outcome depends not just on price movement but on IV crush, time decay, assignment risk, and early exit math. This guide covers what makes options tracking different, what to log per trade (single-leg and multi-leg), how to import from the major options brokers, and the analytics that actually tell you whether your options strategy has edge.
Most traders evaluate themselves by P&L: "I made $400 today." But P&L tells you almost nothing about whether you traded well. A $400 win on a $2,000 risk is a poor trade. A $400 win on a $100 risk is excellent. R-multiple is the unit that fixes this — it normalizes every trade by the risk you took, so a 2R day is a 2R day whether you risked $50 or $5,000. This guide covers what R-multiple is, how to compute it correctly, why it's the unit that separates serious traders from gamblers, and how to track it across futures, stocks, options, and forex.
Forex journaling has a few dimensions stocks and futures don't — pip-based risk math, the session structure of the 24-hour market (Asian / London / New York), spread cost as a real-time variable, and the broker-vs-broker variance in fills and commissions. This guide covers the journaling fields that actually surface forex edge, how to import history from MetaTrader 4/5 and Interactive Brokers, the per-session analytics that matter, and the pitfalls that quietly destroy expectancy in currency trading.
A futures trading journal isn't just a spreadsheet of trades — it's the feedback loop that turns a discretionary trader into a consistent one. This guide covers every field a futures journal needs, why each matters, and how to set it up either as a spreadsheet you maintain manually or as an automated journal that pulls trades from your broker. Heavy emphasis on what futures-specific journaling requires that stock or options journals don't.