A trading journal for NinjaTrader that grades the trade, not just the P&L.
NinjaTrader tells you what you made. It does not tell you if you moved the stop, took the third trade after your two-trade limit, or traded a setup that was not in your plan. Actal takes one export a day from NinjaTrader 8 and does that part. Rules checked on every trade, a grade on execution, mistakes added up in dollars, one thing to fix each week.
Does NinjaTrader have a built-in trading journal?
Sort of. NinjaTrader 8 has a Journal display inside Trade Performance. You right-click an execution or a trade, pick Add Journal Note, and type. That is it: a text note attached to a trade, with no grade, no mistake tags, no rules, no plan and no way to see what a habit has cost you over a month. Trade Performance itself is a good stats screen, with P&L by instrument, by time and by day, plus MAE and MFE. Most NinjaTrader traders who keep a real journal use the stats there and a journal outside the platform for the rest.
Where NinjaTrader traders get stuck, and what a week with Actal looks like.
Green week, no idea why. Red week, no idea why. Trade Performance shows the P&L by hour and by instrument and I still cannot tell you what I did right.
Every trade has a grade and a reason. You can see which ones were good trades that lost and which were bad trades that got paid, and after twenty of them you stop mixing the two up.
I have typed moved stop again into the Journal note five times this month. Nothing happens with it.
Moved stop is a tag with a running cost. This month it says minus $1,306 and it becomes the one thing you work on this week, with the count on the dashboard every morning.
My rule is two trades a day. NinjaTrader will happily let me take the fifth one at 10:15 and never mention it.
Rules are checked on every import. The broken one is the first thing you see, in red, on the day it happened. Stopping at your limit counts as a rule kept.
Sim101, an eval and the funded account. Three reports, three windows, and the same mistake on all of them that I only notice in hindsight.
All accounts side by side, one dashboard, one execution score. A habit that shows up on all three is obvious in a week, not a quarter.
I plan the day in my head. By 10:30 the plan is whatever the market is doing.
A, B and C scenarios written before the open, a closeout after it. Within a month you know how often you traded against your own plan, and that number moves.
I tried a stats journal. Four hundred charts and I still did not know what to fix on Monday.
One weekly focus, picked from the most expensive mistake first. Fix it, then the next one. Three months of that is a different trader.
MAE and MFE, P&L by hour and instrument, and the executions with commissions all stay in Trade Performance. Actal does not replace them. It grades what they cannot.
How to get the file out of NinjaTrader.
Written from NinjaTrader's own documentation and checked against real files where we have them. The same guide shows on the import page and next to any error.
The Executions tab lists every fill with commission, an entry or exit flag and the position size after the fill. Actal rebuilds the round trips from the fills and uses NinjaTrader's own flags to check itself. If they disagree, you see a warning on the preview, not a wrong trade in your journal.
NinjaTrader writes the commission on every execution, so net P&L is right without setting a default. If you use a sim account with zero commission, that is what gets imported.
A sim account exports the same file as a live one. Keep Sim101, an Apex or Topstep eval you run inside NinjaTrader, and the funded account side by side, each as its own account, with one set of rules or separate ones.
NinjaTrader writes a 12-hour clock with no timezone, for example 2025-12-17 10:49:10 PM. Actal reads it in your profile timezone and shows the first trades on the preview so you can check the times before anything is saved.
- 1In the Control Center choose New > Trade Performance.
- 2Pick the account and the date range, then click Generate and open the Executions tab.
- 3Wait for the grid to fill, right-click inside it and choose Export; under Save as type pick CSV and save.
- The E/X column and the Position column are used as checks; the round trips are rebuilt from the executions themselves.
- Commissions in the file are used as-is.
- Times are written as date plus a 12-hour clock with no timezone (for example 2025-12-17 10:49:10 PM); they are read in your profile timezone.
- Verified against a real export from this platform.
Control Center, Account Performance, Generate, then the Executions tab and right-click, Export. The columns are close enough that the same importer reads it. If it is not recognised, the column mapper takes it in one pass.
The web platform is Tradovate underneath. Its file comes from Account Reports, Orders tab, and it has no commission column. The Tradovate page has that guide, and Actal recognises both files by their header, so import whichever you have.
If you also log into R | Trader, its Order History exports one day per file with commission and a timezone in the header. Use whichever is easier; NinjaTrader's Executions tab is usually the quicker one.
Every trade checked against your rules, then graded.
Daily loss limit, max trades, size and cooldowns are checked the moment the file lands. Then each trade gets a grade on execution with your own setup criteria as the checklist, a mistake tag if there was one, and the chart marked up so the lesson sticks.
Five things that happen with NinjaTrader files, and the fix.
You exported the Trades tab or the Summary. Actal needs the Executions tab. Go back to Trade Performance, switch the display to Executions, right-click the grid and Export as CSV.
Trade Performance only shows the account and date range you generated. Check the account dropdown and the dates, click Generate again and export. Nothing you already imported is doubled.
Two usual causes. One: a position was open across the date range, so one side is in the file and the other is not. Export a wider range. Two: NinjaTrader shows P&L per instrument with its own point value; check the symbol setup in Actal if a contract looks off by a fixed factor.
The file has no timezone. Set your profile timezone to the one NinjaTrader shows in the Control Center and import again. The preview shows the times before you save.
Partial fills and scale-outs are normal and are rebuilt into one trade. If you see two, the fills are in different accounts or the export cut across a day boundary. Export the full day for one account.
Sim, eval, funded and live, side by side.
Each NinjaTrader account becomes an account in Actal with its own rules where they differ, and one dashboard across all of them. A habit that shows up on every account is easy to see.
NinjaTrader questions
Import today's NinjaTrader session. Grade it tonight.
One export, one minute, and the rules tell you how the day actually went. Free while in beta, no card, everything unlocked.