Getting the trades in

Why your trading journal is always out of date

Three ways to get trades into a journal, the point at which each one breaks, and the failure you will not notice for a fortnight.

A journal is only as useful as it is current. The analysis, the patterns, the honest look at a bad week — all of it assumes the trades are in there. And the reason they are not is almost never a decision; it is that getting them in costs something every single day, and the cost is paid at the worst possible moment.

Typing them in

The default, and the one that fails most reliably. Every trade needs instrument, direction, size, entry, exit and time, and an active session produces a lot of them. Fifteen to twenty minutes at the end of a day — often a day that went badly, which is exactly when the appetite for clerical work is lowest.

It also introduces errors in a particularly unhelpful direction. Transcription mistakes are not random: the trades most likely to be entered wrongly, or quietly not at all, are the embarrassing ones. A hand-kept journal tends to flatter, and it flatters precisely where the information was.

Exporting a CSV

Better, and still a manual step you have to remember. The real problem is retention: most platforms only keep a limited window of order history — often around two weeks. Miss a few exports and those trades are not late, they are gone. There is nothing left at the source to import.

That makes CSV a good tool for one job and a poor one for another. Excellent for backfilling history once, when you start. Unreliable as the thing keeping the journal current, because it depends on you remembering, forever.

A CSV needs a timezone, and it usually does not say

Exported timestamps frequently carry no zone. Read as your computer's local time when they were something else, evening fills land on the wrong session — and since a futures trading day rolls at 17:00 Chicago rather than midnight, a few hours of error moves trades to the wrong day and every daily figure computed from them. If an importer does not ask which zone a file is in, it is guessing.

Connecting the platform

The version that survives, because it costs nothing per day. A browser extension reads fills from the platform’s own order history as they appear; a desktop add-on reports them from inside the trading application. Either way the journal fills itself, and the only thing left for you to write is the part that needs a human.

Two questions are worth asking of any such connection before you set it up.

What can it actually do?

There is a large difference between handing over your platform password and installing something that authenticates with a revocable token limited to submitting fills. The second can be turned off individually without changing anything else, and cannot place an order. Prefer it, and check.

Does it pair fills into trades correctly?

A fill is one execution. A trade is the round trip. Scale into a position across three fills and out across two and that is five fills and one trade — and if the importer treats each fill as a trade, your trade count, win rate and average size all describe something that did not happen. Stop-and-reverse sequences are the harder case: one order that closes a long and opens a short has to become the end of one trade and the start of another.

The failure that is silent, and how to catch it

This is the part worth knowing regardless of which tool you use.

An extension that reads a platform’s page is reading a layout. Layouts change — a broker panel gains a column, a label is renamed, a grid starts rendering only the rows on screen. When that happens the reader finds nothing, and finding nothing is indistinguishable from a day with no trades. So it reports success. The journal shows no error. It simply stops filling, and you find out weeks later when you go looking for a trade that is not there.

The one check worth doing weekly

Compare the newest trade in your journal against the last day you actually traded. If the journal's most recent entry is four days old and you traded yesterday, capture has stopped — whatever the status indicator says. It takes five seconds and it is the only reliable signal, because a silent failure will not announce itself.

And check whether the P&L includes commissions

Most auto-logged data is gross. Neither a chart platform’s order history nor a typical fill feed carries the fee, so an imported trade often arrives without one — while the firm’s own dashboard reports net. The two then disagree, permanently, by whatever you have paid the broker, and at a few dollars a round turn that is a large number by the end of a year.

A journal that can apply your commission rate on top of imported trades will match the firm. One that cannot will always read slightly better than reality, which is the wrong direction for a tool you are using to make decisions.

What good looks like

Or connect it once and stop thinking about it

Choptick logs fills from TradingView, NinjaTrader, TopstepX, Tradovate and Hyperprop on a revocable token, pairs them into trades, dedupes on the broker’s own ids and applies your commission rate — with CSV import for everything from before.

See Choptick

Written for traders trying to keep a journal current. Platform behaviour and history retention change — check your own platform’s current limits. Nothing here is financial advice.