Free tool · no sign-up

What did your habits cost you?

Drop in a CSV of your past futures trades. In a few seconds you'll see how much money went to revenge trades, sizing up after a loss, overtrading, tilt and holding losers.

Your file never leaves your computer. It's read by this page, in your browser. Nothing is uploaded, and your trades aren't stored.

Drop your trades CSV here

Tradovate (Performance, Fills or Orders report), NinjaTrader 8 (Trades or Executions export), or a simple CSV

Which file?

Export your trades in about a minute.

The audit recognises the file by its column names, so you don't need to edit anything.

Tradovate: Performance

Reports → Performance → pick a date range → Download CSV. One row per round trip, with the P&L Tradovate calculated.

Tradovate: Fills or Orders

Reports → Fills (or Orders) → Download CSV. We pair the fills into trades first-in, first-out for NQ, MNQ, ES, MES, YM, MYM, RTY, M2K, CL, MCL, GC and MGC.

NinjaTrader 8: Trades

Control Center → New → Trade Performance (or Account Performance) → Generate → Trades tab → right-click → Export to CSV. One row per trade, with NinjaTrader's P&L.

NinjaTrader 8: Executions

Control Center → New → Account Performance → Generate → Executions tab → right-click → Export to CSV. One row per fill; we pair them into trades first-in, first-out, per account and contract, with the same point values as Tradovate fills.

Or the simple format

From any platform or spreadsheet: one row per trade with these columns. Exit time, Side and Qty are optional, but without them a few checks are skipped. Times are read as written, as M/D/YYYY h:mm:ss AM, DD.MM.YYYY HH:MM:SS or YYYY-MM-DD HH:MM:SS (a separate Date column with time-only entry and exit columns works too). Commas, semicolons or tabs between columns, and -84,00 style decimals, are all fine, and so are UTF-16 and older Windows (Windows-1252) files. NinjaTrader 8 exports with German, French or Spanish column names are recognised too (best effort: if yours isn't, the error lists the columns we found).

Download the sample CSV
Entry timeExit timeSideQtyP&L
10/13/2026 9:41:12 AM10/13/2026 9:47:30 AMLong2-84.00
10/13/2026 9:52:05 AM10/13/2026 9:58:44 AMShort4-126.50

How it counts

Plain rules, the same for everyone.

Revenge re-entry

A new trade within 10 minutes after a losing trade closed on the same account, even if the clock passed midnight.

Sized up after a loss

More contracts than the trade before, right after that trade lost.

Overtrading

Your 4th trade of the day and every one after it.

Trading on tilt

A trade entered after 2 or more losses in a row that day.

Held losers too long

A loser held more than twice as long as your median winning trade.

Best and worst hours

Total P&L by the half hour you entered, for half hours with at least 5 trades.

Days are calendar days of the entry time by default (overtrading, tilt and size-up reset at midnight; the 10-minute revenge window doesn't). Switch to futures sessions and a day runs from 6pm to 5pm and takes the next date, so Sunday evening counts as Monday; tell the page which time zone your file's times are in (New York, Chicago, London, UTC or this computer's) and the 6pm New York cut-off is placed exactly, daylight saving included; times written with an offset (like -05:00) are converted on their own. "As written" applies the cut-off to the times without converting them. With a commission per contract, every dollar figure is net of it: each trade pays for every contract it opened. With more than one account in a file, each account's day is counted on its own, and you can filter by account. The headline adds up the trades from every habit that lost money, counting each trade once.

Waitlist

Get the version that warns you live

One email when your invite is ready, with the founding-member details. No newsletter unless you ask for one.

We use your email only for the waitlist. Your trades file isn't sent with it. See the Privacy Policy.