Importing from TopstepX: Trades export or Orders export?
Export the Trades tab, not the Orders tab. The Trades file has the fees and the P&L, and its times carry a UTC offset, so nothing is guessed. The Orders export imports too, but it has no fees, and a cancelled order that was partly filled is left out.
What to do
- 1
On the TopstepX trading page, open the Trades tab at the bottom.
- 2
Click Export at the bottom right of the module and pick the date range.
- 3
Download the CSV.
- 4
In Actal click Import trades, pick the account, and drop the file. It is recognised by the EnteredAt, ExitedAt and ContractName columns.
- 5
Check the preview and click Import N trades. There is no commission box, because the file carries its own fees.
Trades export or Orders export
| Trades export | Orders export (orders_export.csv) | |
|---|---|---|
| What a row is | One closed round trip with entry, exit, size, fees and P&L. | One order. Only Status = Filled rows count. |
| P&L | Taken from the file. | Prices times the contract's point value. |
| Fees | In the Fees column, counted as the trade's commission. | None. The preview asks for a commission per contract. |
| Side | From the Type column, Long or Short. | From the Side column: Bid is a buy, Ask is a sell. |
| Partial fills | Not an issue, the row is the trade. | A cancelled order with a fill price is left out, because the file does not say how many contracts filled. |
| Times | Carry a UTC offset. | Carry a UTC offset. |
Use the Orders export only if the Trades tab is not available for your account.
What the Trades file gives
- Each row becomes one trade, with the P&L TopstepX computed and the fees as commission.
- If the file's PnL turns out to be net of fees, the gross is recovered from the prices, so fees are never counted twice. The preview notes it: "N row(s) carried P&L net of fees; gross P&L was recovered from the prices so fees are not counted twice".
- If the file's P&L differs from prices times point value by more than 2%, the row gets a note saying so. The file's number still wins.
- Times like 05/07/2024 13:33:37 +00:00 carry their offset, so your profile timezone is not used to read them. They are shown in your timezone.
- A contract Actal has no point value for is still imported with the file's P&L. R and points stay empty until the symbol is set up.
- TradeDay and TradeDuration are not read. The day a trade counts on comes from your trading day setting.
What the Orders file gives
- Only orders with Status Filled become fills. Cancelled, rejected and open orders are counted in a note and ignored.
- The price is ExecutePrice. Type is the order type (Market, Limit, Stop) and StopPrice is where a stop was set, so neither is the side or the fill price.
- Round trips are rebuilt from the fills, like a Tradovate Orders file.
- Pick a date range that starts with no position open. A closing order whose opening order is before the range is ignored with a note instead of being turned into a made-up trade.
- A cancelled order with a fill price was probably partly filled. The file does not say how many contracts filled, so it is left out and the preview tells you to use the Trades export instead.
- No fees in the file, so the preview asks for your commission per contract, round trip.
Topstep on Tradovate or Rithmic
TopstepX is Topstep's own platform. If your Topstep account runs on Tradovate, export the Orders report from Tradovate instead, see Which Tradovate file should I import?. On Rithmic, use the Rithmic export guide on the import page.
Questions people ask
Did this not answer it?
Ask from the Feedback page in the app. The founder answers every question there, and the answer ends up in this help centre. Not signed in? Email hello@actal.io.