Import guide
How to Import NinjaTrader Trades Into Fillbook
Two real ways to get NinjaTrader trade history into Fillbook: a live auto-sync add-on that pushes each fill as it happens, or a manual CSV export for backfilling history the add-on wasn't running for. This guide covers both, plus the specifics — required fields, timezones, commissions, duplicates, and what to do when something doesn't land right.
The two supported methods
Live auto-sync (a NinjaScript add-on you install inside NinjaTrader) is the going-forward method — it only reports fills from the moment it's active, not your past history. CSV export is the backfill method — it's how you get trades from before the add-on was running into Fillbook. Most traders use both: CSV once for history, then the add-on for everything after.
Method 1: Live auto-sync (NinjaScript add-on)
This installs a small add-on directly inside your NinjaTrader 8 platform. It listens for fill events on your own accounts and sends each one to Fillbook the moment it happens — it cannot place, modify, or cancel orders, and never touches your broker login.
- In Fillbook, go to Import → NinjaTrader auto-sync and generate a sync token.
- Download the add-on file (FillbookSync.cs) and open it in a text editor. Paste your token into the one configuration line at the top — the Fillbook endpoint is already filled in.
- In NinjaTrader 8: Tools → Import → NinjaScript Add-On… and select the edited file. NinjaTrader compiles it automatically.
- Restart NinjaTrader (or use Tools → Edit NinjaScript → Compile). The add-on then runs silently in the background — no window to open, no button to click for each trade.
Stated plainly: this add-on is written against NinjaTrader 8's documented add-on APIs, but has not been independently verified against a live NinjaTrader installation in the writing of this guide. If NinjaScript's compiler reports an error on import, it's typically a one-line fix (property/event names have occasionally shifted slightly between NinjaTrader versions) — Fillbook's own source comment on the file says the same.
Method 2: Manual CSV export (for history before the add-on, or if you'd rather not install it)
NinjaTrader's Control Center can export your trade history directly as a CSV that Fillbook's importer reads with automatic column mapping.
- In NinjaTrader's Control Center, open the Performance tab.
- Right-click the results grid and choose "To Excel (CSV)".
- In Fillbook, go to Import → CSV, choose NinjaTrader from the platform list (or map columns manually if the auto-detected mapping needs a correction), and confirm.
Required fields and formats
Fillbook's importer needs, at minimum, a date, symbol, side, quantity, entry price, and exit price on each row; commission/fees and a close date are optional but improve accuracy. NinjaTrader's Performance-tab export uses "Market pos." for side and "Entry price"/"Exit price" by name — Fillbook's column-mapping recognizes these headers automatically, but always double-check the mapping screen before confirming, since a NinjaTrader version or a customized grid layout can rename a column.
Timezones
The live add-on sends each fill's timestamp using your NinjaTrader session's own clock, in ISO 8601 format — in practice, whatever timezone your trading computer's operating system is set to. Confirm that timezone matches the one you actually intend before relying on time-of-day analytics, since a PC set to the wrong system timezone would misreport every fill by that same offset. A CSV export carries whatever timestamp format NinjaTrader's grid displays, which follows the same system-timezone setting.
Commissions
The live add-on reports each execution's commission value directly from NinjaTrader's own Execution.Commission field, per fill. A CSV export's commission column (if your Performance-tab layout includes one) maps to Fillbook's fees field the same way. Either path, verify a handful of imported trades against your own statement the first time — a futures commission is easy to mis-map to the wrong column if a broker's export layout differs from NinjaTrader's default.
Duplicate handling
Fillbook keys each imported trade by its own fill data, so re-running the same CSV export twice upserts rather than double-counting the same trades — safe to re-export and re-import if you're not sure what's already in Fillbook. The live add-on only ever reports genuinely new fills as they occur, so it does not re-send history on restart. The one case to watch: running the CSV import for a date range that overlaps with a period the live add-on was already covering live can, depending on exactly how each trade's fill data lines up, occasionally require a manual check in your Trades table rather than an automatic guarantee either way — when in doubt, use CSV for periods strictly before you turned the add-on on.
Reconciling imported counts and P&L
After an import, compare Fillbook's trade count and net P&L for the imported date range against NinjaTrader's own Performance tab for the same range. A mismatched count usually means a filter (date range, account, or instrument) differs between the two views rather than a missed trade; a mismatched P&L most often traces back to a commission or fee that didn't map to the right column — check the Import Wizard's column-mapping screen for that specific field before assuming a calculation error.
Common failures and recovery
If nothing syncs at all with the live add-on, first confirm you actually replaced the placeholder token in the config line — the add-on intentionally does nothing until that's done. If NinjaTrader's compiler rejects the file, copy the exact error text; it's almost always a minor API-name mismatch between NinjaTrader versions, not a fundamental incompatibility. If a CSV import reports fewer rows written than the file contains, check the Import Wizard's summary for skipped rows — a blank or unreadable required field (a merged header cell, an unexpected currency symbol) causes a row to be skipped rather than imported with a guessed value.
Let Fillbook track your NinjaTrader history from here
Once your trades land in Fillbook, R-multiple, Edge Score, and rule-based behavioral detection run automatically — no separate spreadsheet to maintain.
Start free trial →Frequently asked questions
Only if you want history from before the add-on was running plus ongoing live sync. If you're starting fresh, the add-on alone is enough going forward; use CSV export just once to backfill anything earlier.
No — it only reports fills from the moment it's active. Past history needs the CSV export path instead.
Copy the exact compiler error. It's typically a one-line fix tied to a property or event name that shifted slightly between NinjaTrader 8 versions, not a sign the whole approach is broken.
Yes for the add-on (it reads fills from any account visible inside your NinjaTrader installation, regardless of which firm or data feed backs it) and yes for CSV export the same way.
See the full NinjaTrader trading journal overview on NinjaTrader Trading Journal — Fillbook.Not ready to connect yet? Log trades manually with the Free Futures Trading Journal Template (Spreadsheet) — Fillbook.
NinjaTrader® is a registered trademark of NinjaTrader Group, LLC. Fillbook is an independent product and is not affiliated with, endorsed by, or sponsored by NinjaTrader.