TradeReview AI / Brokers / NinjaTrader
A trading journal that reads your NinjaTrader export
NinjaTrader's Trade Performance report exports executions with entry and exit times to the second, which is the most useful thing a futures journal can be given: it makes hold-time and hour-of-day analysis exact rather than approximate. The instrument column carries the contract month, and that is handled rather than treated as a new instrument every quarter.
How the import actually works
Export your trade history from NinjaTrader as a CSV and drop it into the journal. There is no template to fill in first.
The mapper reads the header row and matches your broker's column names against the ones it knows - date, symbol, side, qty, price, fees and a realised P/L column under any of a dozen spellings, from P/L to Realized PnL to Net Profit. Where a column is named something it has not seen, you pick it once from a dropdown and it remembers that file shape for next time.
It also works out what kind of instrument the file holds from the symbols themselves, so the right contract maths is applied without you configuring anything. If it guesses wrong, there is a row of buttons at the top of the import screen to correct it.
Rows that are not trades - transfers, dividends, interest, fees charged to the account - are skipped rather than logged as mystery positions.
A point is not a dollar, and the journal knows the difference
This is where futures journals usually go wrong. A spreadsheet that subtracts the entry price from the exit price gives you a number of points, not money. One point of Micro Nasdaq is $2. One point of Micro Crude is $100. One point of the full E-mini S&P is $50. Treat them all as dollars and a good day and a terrible day can come out looking identical.
TradeReview AI carries a multiplier for every common contract root and applies it when it reconstructs a trade's P/L. If your file already contains a realised P/L column it is used as-is; the multiplier only steps in when the money has to be worked out from prices. You can also set the point value by hand on the import screen for a contract the table does not know.
A sell that opens a position is a short, not a mistake
Futures exports list fills, not finished trades, and the same contract code appears on both sides. A naive importer sees a sell with nothing open and either skips it or logs a phantom position.
The pairing here reads it the way a trader would: a sell with nothing open starts a short, and the buy that follows closes it. Fills are matched first in, first out, so a position scaled into over four fills and out over two becomes one round trip with one entry price, one exit price, and the fees from all six.
Contract months do not confuse the chart
MNQZ5, MCLX6, ESH6 - a futures symbol carries its expiry month and year, so the same instrument has a different code every quarter. Left alone, a journal treats each one as a separate instrument and your Nasdaq history breaks into four unrelated piles a year.
The root is extracted from the code, so MNQZ5 and MNQH6 group as the same contract, and the chart opens on the continuous symbol rather than on an expired month.
Questions
Does it handle NinjaTrader's contract month codes?
Yes. The root is extracted, so ES 03-26 and ES 06-26 group as one instrument and the chart opens on the continuous contract.
Can I import executions rather than finished trades?
Yes. Executions are paired first in, first out into round trips, including positions scaled into and out of over several fills.
Is it free?
Yes. Unlimited trades, CSV import, the full dashboard, entry and exit screenshots, trade replay and PDF reports are free with no card. AI coaching, AI agents and automatic broker sync are on paid plans.
Do I have to give you my broker password?
No. CSV import needs nothing but the file. Automatic sync on paid plans goes through SnapTrade or the broker's own API, which use read-only connections - the journal can never place a trade.
Import yesterday's session
Export it from NinjaTrader, drop the CSV in, tag the setups, and open the hour-of-day breakdown. That one chart is where most traders find their leak.