Supported brokers/Tradovate trading journal

A trading journal for Tradovate and every prop firm account that runs on it.

Apex, Topstep, MyFundedFutures, Take Profit Trader, Lucid, Tradeify. If you trade evals you probably trade Tradovate, and you probably have three or four accounts open at once. Tradovate shows each one on its own. Actal puts them side by side with one set of rules, grades every trade on execution, and adds up what your mistakes cost across all of them.

Free during beta · No card · Verified on real exports

Does Tradovate have a trading journal?

No. Tradovate has a Performance tab under Account Reports that shows P&L, win rate and a few averages per account. There is no place to grade a trade, tag a mistake, write a plan or check a trade against a rule, and there is no view across your accounts. For evals that is the part that matters, because the rule you break on account three is the same habit you broke on account one.

What changes

Where Tradovate traders get stuck, and what a week with Actal looks like.

Today

Four evals open, four Performance tabs, and I fail them one at a time on the same mistake.

With Actal

Every account side by side, one dashboard, one set of rules. The mistake that failed account two is tagged, costed and your focus before account three is funded.

Today

The daily loss limit is the rule that ends evals. Tradovate enforces it and then forgets it. I never see how close I came.

With Actal

Set the limit as a rule and it is checked on every import. Stopping before it counts as kept, breaching it is red on the calendar, and the pattern across accounts is one chart.

Today

The Orders report has no commissions, so every journal I tried showed me more money than I had.

With Actal

One per-contract default, set once on the preview, applied to every trade. Net P&L matches the account. No merging Cash History into the file.

Today

Passed the eval, got funded, blew it up the same way. The green weeks in the eval taught me nothing.

With Actal

Grades follow the trader, not the account. A funded account starts with the eval's execution history behind it, so the habit that nearly failed the eval is already your focus.

Today

I plan the day and then trade whatever is moving. There is no place in Tradovate to even write the plan.

With Actal

Scenarios before the open, a closeout after. Plan adherence becomes a weekly number, and the P&L splits into in-plan and off-plan. For most eval traders that split is the whole story.

Today

Stats journals gave me a P&L calendar and a win rate. I already had those in Tradovate.

With Actal

A grade on every trade, mistakes in dollars, rules checked, one thing to fix each week. The things Tradovate cannot compute, not the things it already shows.

P&L per account and the order history stay in Tradovate, and that is fine. The Orders report is the only thing Actal needs from it.

Export in a minute

How to get the file out of Tradovate.

Written from Tradovate'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.

Orders first, Performance also works

Account Reports has more than one tab. Orders lists every order with its fill price, quantity and time, and only rows with Status Filled become fills. The Performance tab imports too, one row per closed trade with Tradovate's own P&L, which is handy if you only have that file. Orders is better, because it carries every fill and rebuilds scale-ins properly.

Same file for every prop firm

Apex on Tradovate, Topstep on Tradovate, MFF, Take Profit Trader, Lucid, Tradeify and NinjaTrader Brokerage all export the same Orders layout. Actal recognises it from the header. It does not matter whose logo is on the login page.

Commissions are set once, by you

The Orders report has no commission column. On the preview you set a round-trip commission per contract, and Actal applies it to every trade so net P&L matches the account instead of flattering it. It's saved on the account, so every later import uses it. The Cash History tab shows the real fees if you want to check the number.

Evals are accounts, not exceptions

Each Tradovate account becomes an account in Actal. Set the eval's daily loss limit as a rule and it is checked on every import. Stopping at the limit counts as a rule kept. A breach shows on the calendar the day it happens, in red.

Account Reports, Orders tab (the same file for Apex, Topstep on Tradovate, and other Tradovate-based prop firms)
  1. 1In the platform click the dropdown with your account name (the gear icon) and choose Account Reports; on the web platform it is Reports in the navigation.
  2. 2Select the Orders tab and set the date range. If the Fills tab is there, export that instead: it carries every fill and its commission.
  3. 3Click Download Report and save the CSV.
Columns to expect: orderId, Account, Order ID, B/S, Contract, Product, avgPrice (or Avg Fill Price), filledQty (or Filled Qty), Fill Time, Status.
  • The Performance report imports as well, one row per closed trade with Tradovate's own P&L. Orders is better than Performance because it carries every fill; the Fills report is better still, because it also carries each fill's commission.
  • This report carries no commissions, so the per-contract default you set on the preview screen is applied.
  • Only rows with Status = Filled become fills.
Account Reports, Performance tab
  1. 1Open Account Reports (the dropdown with your account name, or Reports in the web navigation).
  2. 2Select the Performance tab and set the date range.
  3. 3Click Download Report and save the CSV.
Columns to expect: symbol, _priceFormat, _priceFormatType, _tickSize, buyFillId, sellFillId, qty, buyPrice, sellPrice, pnl, boughtTimestamp, soldTimestamp, duration.
  • One row per closed trade with the P&L Tradovate computed, so the money is taken as stated.
  • There is no side column: the leg that came first opens the trade, so a row sold before it was bought is a short.
  • Scale-ins and partial exits are already paired by Tradovate. If you want every fill, and the averages worked out here, export the Fills or Orders report instead.
  • No commissions in this file, so the per-contract default you set on the preview is applied.
  • Timestamps carry no timezone; they are read in your profile timezone, like the Orders report.
Other ways to get the file
Tradovate web platform

Same report. In the top navigation open Reports, choose the account, select the Orders tab, set the dates and click Download Report. The file is identical to the desktop one.

NinjaTrader Brokerage

If you log into the NinjaTrader web platform or the NinjaTrader desktop connected to NinjaTrader Brokerage, the account is on Tradovate. The web platform exports this Orders report. The desktop exports the Executions tab, which has commissions; that guide is on the NinjaTrader page.

Apex or Topstep on Rithmic

Some evals run on Rithmic instead. Then the file comes from R | Trader, File, Order History, one day per file, with commission included. The Rithmic guide is on the supported brokers page.

After the import

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.

Rules judged on import, broken ones first
A to F on execution, P&L in a separate column
Mistakes with a running dollar cost
One thing to fix each week
actal.io/trades/9e54…
Trade review
3 of 7 in the queue
MNQZ5Short · 4 contracts
28 Aug 10:42 → 11:07 · Apex Eval 50K
−$418.50
23,412.25 → 23,464.50 · 25 min
Add screenshot
Paste or drop a chart, then draw your entry, stop and target on it
stop moved here
▤ libraryDraw on chart
marked up
10:55 Price came back to entry and I moved the stop instead of taking the flat. Third time this month.
Rule break on this trade
Kept trading after the daily loss limit ($750) was hit
2 trades after the line, netting −$418.50.
Discipline grade
A1
B2
C3
D4
F5
D · Rules broken, position held past the plan.
Mistakes
Moved stopTraded past daily loss limitChasedRevenge
Tags
pullbackopen driveNY session
Strategy
Opening drive
State
Frustrated
Trade 3 of 7 in the queue
J / K to move · 1–5 to grade · ⏎ to save
Save & next
When the import goes wrong

Five things that happen with Tradovate files, and the fix.

The file is rejected

You downloaded a different report, like Cash History or Fills. Go back to Account Reports and pick Orders (or Performance, which also imports). The Orders file starts with orderId or Order ID.

P&L is higher than my Tradovate account

Commissions. The Orders report has none. On the preview set the round-trip commission per contract to what your firm charges (both sides together, so double the per-side rate), and net P&L will match. You can change it in Settings, Accounts, and apply it to trades you imported before you set it.

Trades are missing

The report is per account and per date range. Check you picked the right account in the dropdown before downloading, and that the range covers the days. Nothing already imported is doubled if you export again.

A trade is open with no exit

The exit was on the next day and the range ended at midnight, or the position was flattened by the firm. Export a day either side. If the firm closed it, the fill is still in Orders with Status Filled.

Times are off

Tradovate writes the fill time in the platform's display timezone with no zone in the file. Set your profile timezone to match what the platform shows and import again.

actal.io/settings/rules
Settings
Risk rules
Risk rules
Your own limits, checked against every trade automatically. Stopping at a limit is a rule kept; the trades taken after a line is crossed are what break it.
1R = $250R size
Pause
Stop for the day after losing 3R ($750)Daily loss limit
every account · hit 4×, respected 2×, last 90 days
Pause
At most 6 trades per dayMax trades per day
every account · kept every day, last 90 days
Pause
Wait 15 min after a losing tradeCooldown after a loss
every account · broken on 1 day, last 90 days
Pause
Only trade between 09:30 and 11:30Trading window
every account · kept every day, last 90 days
Pause
Stop for the day after 3 losses in a rowStop after consecutive losses
every account · hit 1×, respected 1×, last 90 days
Pause
Also for

Sim, eval, funded and live, side by side.

Each Tradovate 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.

Apex Trader Funding
Topstep accounts on Tradovate
MyFundedFutures, Take Profit Trader, Lucid, Tradeify
NinjaTrader Brokerage web platform
Questions

Tradovate questions

Click your account name, then the gear, then Account Reports. Pick the Orders tab, set the dates, Download Report. Drop the CSV on the import page, set the commission default on the preview, click Import. About a minute.