78.7%
of one firm's failed evaluations ended on a daily-loss-limit breach.
Firm-published; no methodology given; one firm's prop-firm evaluations, not stock accounts.
The sample trader's equity curve: 112 fictional trades, trough −$774, peak $3,441, end $3,238.
The Referee · Free analyzer now · Alpaca pilot late December 2026
Drop a TradingView or broker export, free and in your browser, nothing uploaded. See where you make money, where you give it back, and three draft rules written from your record. Declare the ones you keep; on your Alpaca account the Referee holds them, and a fill against your own rule is closed seconds after it lands, logged, and sent to your partner. Pilot late December 2026.
Worst % column on the closing fill.Open DevTools and watch the Network tab: nothing leaves. Turn Wi-Fi off after the page loads and it still works.
Next step
The Referee is the paid part, in pilot with Alpaca traders from late December 2026: the rules you ratify, declared before each session and held on your Alpaca account by an app on your own computer, with a partner who sees every breach. Join the waitlist and you hear first when the pilot opens.
Analyze another file ↑We only get your email address, never your trades or your rules. Unsubscribe anytime.
The record
trades
win rate
summed return
on 3rd trades of the day
Sample trades are fictional (public/sample-trades.csv). Your own numbers appear the moment you drop a file.
A fictional trader. The patterns are real because the engine found them, not because we drew them.
Rules found is step one. Rules kept is the product. Join the Referee waitlist →How it works
I stop after 2 trades a day.
Your record shows: 26 third trades, 42% winners, −0.81% a trade. Solid.
Any broker CSV with symbol, side, quantity, price, time. TradingView trade lists too. Fills are matched into round trips, duplicates dropped.
Every trade is tagged: New York entry time, trade number of the day, what came before, direction, hold time. Here, by trade of the day. Your 1st trades: 45, 73% winners, +0.94% a trade. Your 3rd: 26, 42% winners, −0.81%.
Your record shows 26 third trades of the day, net −$2,346. Solid: n = 26, 95% interval −1.53% to −0.10%, which excludes your average of +0.33%. The draft reads: I stop after 2 trades a day. Keep it, strike it, or change the number. The rule is yours.
Thu Apr 9 in this record: a loss closes at 11:12. At 11:15 the same trader fills a short, 3 minutes after that losing exit, the 3rd trade of the day. Your rule says: no entry before 11:22. With the Referee on your Alpaca account, that fill is closed seconds after it lands, the breach is logged, and your partner is told. The flatten is after the fill. The declaration and the red panel are before it.
The flatten is after the fill. Nothing on this page says otherwise.
Why the minutes after a loss
Not for lack of information. The window is the minutes after a losing trade, before the next entry. Three outside findings, each with its source and its caveat.
78.7%
of one firm's failed evaluations ended on a daily-loss-limit breach.
Firm-published; no methodology given; one firm's prop-firm evaluations, not stock accounts.
31.2% vs 27.0%
Professional floor traders who lost money in the morning were about 16% more likely to take above-average risk that afternoon, and placed more and larger trades.
Coval and Shumway, Journal of Finance 60(1), 2005
CBOT proprietary traders, 1998 data; not retail, not stocks.
37%
of traders in one vendor's dataset showed revenge trading, at about $1,917 each.
hoc-trade, from its own 500,000-account dataset
The vendor's own definition and data; not peer-reviewed.
Every number above is someone else's, cited with its source. Every number below is the sample's, yours, or labelled illustrative.
None of these is a claim about the Referee. It has no result yet; the pilot is where it gets one.
The rulebook
You write them while calm, in your own words, with your own numbers. The analyzer drafts; you ratify. Before the session you declare the ones that bind today. The Referee's job is to hold them, not to have opinions about your trades.
"I stop after 3 trades a day."
The fill that opens a 4th trade is a breach: flatten, seconds after it lands.
"A stop is on within 15 seconds of every fill. I never widen it."
A fill with no stop at 15 seconds, or a stop moved away from price, is a breach: flatten.
"200 shares. Not 300."
Say the size when you press "I'm taking this". An opening fill more than your tolerance above it is a breach.
"After 2 losses I stop for 20 minutes."
The next-trade state goes red when the 2nd loss closes; a fill inside the window is a breach: flatten.
"I don't enter within 10 minutes of a losing exit."
Red at the losing exit; a fill inside 10 minutes is a breach: flatten.
The Referee never sets a level or a size. It holds the number you wrote.
Your daily loss limit is a rule too: realized plus open loss past your number closes everything and, if you choose, locks the rest of the day.
A fill can break more than one of your rules at once. Each one is logged as its own breach, and each counts toward your breaches-a-day limit.
Times and the partner's name are illustrative; the two tags on the Apr 9 trade (3 minutes after a losing exit, 3rd trade of the day) are the engine's on the fictional sample, which trades shares, as the Referee does on Alpaca.
Thu Apr 9 · private · illustrative
Rules kept 4 of 5
Declared before the fill: 2 of 3 fills
One breach cost you the spread on two fills, plus a few seconds of price.
HYPOTHETICAL PERFORMANCE RESULTS HAVE MANY INHERENT LIMITATIONS, SOME OF WHICH ARE DESCRIBED BELOW. NO REPRESENTATION IS BEING MADE THAT ANY ACCOUNT WILL OR IS LIKELY TO ACHIEVE PROFITS OR LOSSES SIMILAR TO THOSE SHOWN. IN FACT, THERE ARE FREQUENTLY SHARP DIFFERENCES BETWEEN HYPOTHETICAL PERFORMANCE RESULTS AND THE ACTUAL RESULTS SUBSEQUENTLY ACHIEVED BY ANY PARTICULAR TRADING PROGRAM. ONE OF THE LIMITATIONS OF HYPOTHETICAL PERFORMANCE RESULTS IS THAT THEY ARE GENERALLY PREPARED WITH THE BENEFIT OF HINDSIGHT. IN ADDITION, HYPOTHETICAL TRADING DOES NOT INVOLVE FINANCIAL RISK, AND NO HYPOTHETICAL TRADING RECORD CAN COMPLETELY ACCOUNT FOR THE IMPACT OF FINANCIAL RISK IN ACTUAL TRADING. FOR EXAMPLE, THE ABILITY TO WITHSTAND LOSSES OR TO ADHERE TO A PARTICULAR TRADING PROGRAM IN SPITE OF TRADING LOSSES ARE MATERIAL POINTS WHICH CAN ALSO ADVERSELY AFFECT ACTUAL TRADING RESULTS. THERE ARE NUMEROUS OTHER FACTORS RELATED TO THE MARKETS IN GENERAL OR TO THE IMPLEMENTATION OF ANY SPECIFIC TRADING PROGRAM WHICH CANNOT BE FULLY ACCOUNTED FOR IN THE PREPARATION OF HYPOTHETICAL PERFORMANCE RESULTS AND ALL OF WHICH CAN ADVERSELY AFFECT ACTUAL TRADING RESULTS.
The replay says nothing about what that day would have made. The pilot measures breaches per trader-week, not P&L.
No share button.
The spread and the seconds of price are what no export can show. Private by design. The day card and the Record Card are planned, not built yet.
What "pre-trade" means here
Two things, and only two. The declaration you confirm before the session, and the next-trade state the Referee computes the moment the previous trade closes, so the panel is red before your hand moves. No retail broker lets an outside app veto an order before it is accepted, so the flatten itself is after the fill, seconds after. Your record shows the fill. The breach log shows the rule.
Draft said 2. You set 3. The rule is yours.
What the $19 is for
Alpaca takes what your account allows; it doesn't know the rules you wrote while calm. The Referee runs on your computer, watches every fill on your Alpaca account, and holds those rules: the trade count, the re-entry window, the cooldown, the stop, the size, the daily loss and the rest.
Declare
Confirm the day's plan once before the open, with a timestamp. Before each entry, one button: "I'm taking this".
Red before your hand moves
When a trade closes, the panel already knows what your rule says about the next one: "no entry before 11:22".
Flatten
It cancels the symbol's open orders, then closes the position through Alpaca's close-position call, which can only reduce. The fill stays on your record; the breach goes on your breach log. Reach the breach limit you set for the day, and the rest of it is locked.
Partner
Paste a Discord or Telegram webhook, and every breach and every flatten is posted there, for the person you choose.
Breach log
Every breach, with the rule, the time and what the Referee did, and every declared and undeclared entry, in the log on your computer. The history is what makes the next declaration a real one.
Record Card
A PNG of your rules-kept score with the hypothetical-results statement baked in, in full. Not built yet: it comes after the pilot.
Illustrative. The number is invented; the statement is not.
It holds your rules. It never opens a position.
The partner
Paste your partner's Discord or Telegram webhook into the Referee's settings, and every breach and every flatten is posted to them: the rule, the time, and what the Referee did. It costs them nothing. They cannot trade and cannot change a rule.
Names and times are illustrative. The rule and the mechanics are the product's.
Invite your partner when you join ↓
Your partner sees the breach. And the lock.
Illustrative
The Referee · 11:15
Sam filled 3 minutes after a losing exit. Rule: no entry within 10 minutes. Flattened at 11:15:02. Breach 1 today.
The Referee · 13:02
Sam is locked out for the rest of the day: 3 rule breaches today, and the limit is 3. Every new entry will be closed.
Honest limits
Everything here is also in the FAQ. It is here so you do not have to look for it.
No retail broker lets an outside app veto an order before it is accepted. The Referee answers the fill: in market hours, seconds after a fill that breaks a declared rule, it cancels the symbol's open orders, closes the position at market, and logs the breach. The flattened fill stays on your record, and a market close in a fast stock can fill worse than you expect. "Pre-trade" means two things only: the declaration before the click, and the next-trade state computed when the previous trade closes.
The Referee is an app on your computer, and your Alpaca keys stay there, in a file only your user account can read. It holds your rules only while it runs: closing it, or a laptop going to sleep, stops it, and the kill switch stops it flattening anything, at once. When it starts again it reads the fills it missed today, and still closes a trade that broke a rule if that trade is open. A close that was under way when it stopped is not retried, so check your positions after a restart. If the pilot shows people switch it off when it matters, we will say so, and the product becomes the declaration and the partner at a lower price.
There is no order ticket. The Referee cancels orders and closes positions through Alpaca's close-position call; it never opens a position or adds to one. It is not a lock nobody can undo: you can always turn it off, which is why your partner sees the breach.
The Referee connects to an Alpaca account with your own API keys, paper or live, and holds rules on US stocks and ETFs. Paper comes first. Other brokers come after the pilot, if it works, and only where the broker's API lets an app read your fills and close a position. On any broker, the free analyzer works with your export today.
The Referee is designed to reduce rule breaches, the daily-loss kind above all. The Alpaca pilot will measure breaches per trader-week, dry-run versus enforced, intent-to-treat. Nothing is proven yet. We will publish the number either way.
Alpaca will not close shares that an open order still holds, so the Referee cancels the symbol's orders first, waits for Alpaca to confirm, then closes. That takes seconds, and longer when Alpaca is slow or rate-limits the account. Outside regular market hours a market close can wait for the open, and on a margin account under $25,000 Alpaca's pattern-day-trader protection can refuse a close: then the Referee retries, and tells you and your partner it could not close. The pilot publishes the real latency.
Partial fills, scale-ins, bracket legs, flips, missed fills and reconnects are exactly where a flatten can be wrong. So: the Referee starts in dry run and flattens nothing until you switch it on; there is a visible kill switch; every action it takes is in its log; and any wrong flatten in the pilot gets a post-mortem before flattening goes back on. The gate is under one wrong flatten per hundred trader-weeks.
The Referee never chooses a trade, a level or a size. It holds the sentence you wrote and the number you put in it. The analyzer shows your record; it does not tell you what to do with it.
At launch, live flattening is for US accounts. Elsewhere the Referee runs in dry run: it declares, logs and posts to your partner, and decides nothing automatically. No cohort comparisons anywhere outside the US.
No order ticket, no veto, no AI inside the app, no mobile app, no options or crypto rules, no broker but Alpaca, no market replay, and no comparisons of you with other traders, of any kind. If you use Claude, it can read your Referee through MCP on your own Claude subscription; it cannot change a rule or switch the Referee off.
If the pilot says it doesn't work, this page will say so.
Pricing
No AI credits, no auto-charging trial, no tiers. The price is published now so you can judge the pilot's result against it.
Free
$0
forever, in your browser
Referee
$19 a month
or $169 a year ($14.08 a month)
Alpaca pilot · late December 2026
What you need
Alpaca
paper or live, with your own API keys
An Alpaca account and its API keys, which stay on your computer; we never see them. A computer that is on while you trade: macOS, Windows or Linux. For a partner, a Discord or Telegram channel.
One click. Your rules, breach history and partner settings stay on your computer for when you come back.
The pilot runs first, at this price, with the money-back. If its breaches-per-trader-week number does not hold, the Referee does not launch at this price, and this page says so.
One plan. No credits. No auto-charging trial.
Honest statistics
Every group's average is shrunk toward your overall average in proportion to how few trades it has. The fewer the trades, the less the engine believes them, and a draft rule cites a number only when the group is solid and its 95% interval excludes your average. Here is the exact rule, on the sample.
adjusted = (n × group avg + 10 × overall avg) ÷ (n + 10)
10 is the number of phantom average trades mixed into every group.
Read the rule in src/core/analyze.ts →
Shrinkage makes the report quieter than your spreadsheet. That is the point.
n = 3 · raw −1.17% · adjusted −0.01% too few
The report would call this: nothing, too few trades.
Methodology and data
npm run report -- --tz America/New_York your-trades.csv. Read the engine on GitHub →What this page does request: the page itself, its styles and scripts, fonts from Google Fonts, and the fictional sample file from this site (for the river above and the sample button). Nothing in those requests is about you or your trades.
What leaves your machine, and what never does
There is no upload button because there is nothing to upload to.
Get your file
Strategy Tester and Bar Replay exports include each trade's worst point, so the stop check runs on them.
Export your executions or fills as CSV, not your positions. The file needs columns for symbol, side, quantity, price and time; common column names (ticker, action, shares, fill price, timestamp…) are detected automatically. Fills are matched into round-trip trades, first in, first out.
Optional: a Worst % column on the closing fill turns on the stop check.
If the page can't read a file it says so and lists what it expected. Nothing is sent either way.
Rungs
The free analyzer and the rulebook are step one. The Referee's first rung is Alpaca, paper accounts first. Other brokers wait for the pilot's number.
Drop an export, see your record, and get three draft rules written from it.
The app on your computer watches an Alpaca paper account and logs what it would have closed, without closing anything. The legal memo lands before anyone pays.
Alpaca traders, paper accounts first, the real price with the 14-day money-back, alternating dry-run and enforced weeks. Measured in breaches per trader-week.
Flattening on live accounts, once paper weeks show the Referee closes the right trades and nothing else.
After the pilot: other brokers, only where a broker's API lets an app read your fills and close a position; and a private rules-kept score with a shareable Record Card.
No launch date beyond the pilot is promised. You'll hear from us when there is something to try.
Late December 2026: Alpaca traders, paper accounts first, alternating dry-run and enforced weeks, at the real price with the 14-day money-back. On another broker? The analyzer works with your export today, and you will hear if the Referee comes to yours. The Referee is designed to reduce rule breaches; the pilot measures breaches per trader-week, and we publish the number either way.
Joining with 3 draft rules. They stay in this tab; we get your email.
Invite your partner
They get your breach posts in a Discord or Telegram channel, nothing else. Send this yourself; we don't take their address.
We get your email, your platform and whether you have a partner in mind. Never your trades, never your rules, never anyone else's address. Unsubscribe anytime. trades sent: 0 bytes
FAQ
Your broker takes any order your account allows; it doesn't know your rules. The $19 buys the hour after a loss, held by something other than willpower: a declaration you confirm while calm, a panel that is red the moment a trade closes against your next-trade rule, a close seconds after a fill against that rule, a lock for the rest of the day when you reach your limit, a partner who sees the breach, and a breach history that makes next week's declaration honest.
The fill stands; the position does not. Seconds after a fill that breaks a declared rule, the Referee cancels the symbol's open orders and closes the position, the breach is logged and your partner is told. The fill stays on your record. What is before the click is the declaration and the red panel.
Yes. Closing it, letting the computer sleep, or pressing the kill switch stops the Referee holding your rules, and nothing stops you doing that. When it starts again it reads the fills it missed today, and still closes a trade that broke a rule if that trade is open. A close that was under way when it stopped is not retried, so check your positions after a restart. How often people switch it off is a pilot metric; if it is common, the Referee becomes the declaration and the partner at a lower price, and we will say so.
It gets flattened anyway. On the sample's record, the re-entry 6 minutes after a losing exit on Wed Mar 11 closed green. The rule was the trader's; the Referee never predicts a trade. Your record shows what the pattern does on average, and one trade does not change that. The panel shows which rule you were inside, and the rule is yours to change tomorrow, while calm.
No. It holds the sentence you wrote and the number you put in it. It never chooses a trade, a level or a size, and the analyzer never tells you to take or avoid a trade; it shows your record and lets you write the rule. It is an educational tool, not investment advice. Past results do not predict future results.
No. The Referee is designed to reduce rule breaches, the daily-loss kind above all. The Alpaca pilot will measure breaches per trader-week, dry-run versus enforced, intent-to-treat. Nothing is proven yet, and we will publish the number either way. The reason we think the minutes after a loss matter is other people's work, cited above with its caveats: Coval and Shumway's study of one exchange's professional traders, OneFunded's own figure for its own failed evaluations, and hoc-trade's own dataset. None of that is evidence the Referee works. The pilot is.
Max trades a day; no entry within N minutes of a losing exit; a cooldown after N losses; a stop attached within N seconds and never widened; a maximum position size, and your declared size; a daily loss limit, realized plus open, that closes everything and locks the rest of the day; entry hours; a maximum number of open positions; and a lock after N breaches in a day. For each one you choose: flatten, or only warn. Your words, your numbers. Other patterns the analyzer finds, like your shorts or your 2 pm entries, are shown but are not rules the Referee holds.
The declaration before the session and the next-trade state computed the moment the previous trade closes. The flatten is after the fill.
It can, which is why it starts in dry run and flattens nothing until you switch it on, there is a visible kill switch, it can only ever reduce a position, every action it takes is in its log, and the gate for the pilot is under one wrong flatten per hundred trader-weeks.
Breaches per trader-week, dry-run weeks against enforced weeks for the same traders, counting everyone who started; also time with the Referee switched off, wrong flattens, declaration-before-fill and undeclared trades. If breaches do not fall, the flatten ends and the product becomes the declaration plus the partner, or the analyzer stays free and nothing is sold. Either way this page says so.
Cancel in one click; your rules, breach history and partner settings stay on your computer. Moving from paper to live is a switch in the Referee's settings, and each account keeps its own history.
Today, the free analyzer: drop your broker's fills export and you get your record and three draft rules to keep by hand. The Referee needs a broker whose API lets an app read your fills and close a position; Alpaca is first. Tell us your broker when you join the waitlist.
No. The analyzer runs in your browser. The Referee runs on your computer: your Alpaca keys, rulebook, fills and breach log stay there. It talks to Alpaca, and to your partner's Discord or Telegram webhook if you set one. If you join the waitlist, we hold your email.
At launch, live flattening is for US accounts. Elsewhere the Referee runs in dry run: it declares, logs and posts to your partner, and decides nothing automatically. No cohort comparisons outside the US.
A draft cites a statistic only when the group is solid (15 trades or more) and its 95% interval excludes your average. On the sample, the 3rd-trade rule qualifies (26 trades, interval −1.53% to −0.10% against an average of +0.33%); the 10-minute rule does not (13 trades, an early signal), so it is your rule with no number; the stop rule never can, because a fills export cannot show whether a stop was attached. Rules without numbers bind from trade one.
No. The sample is a fictional share trader generated by a script in the repository (scripts/make-sample.py) with planted patterns. The Apr 9 scenario applies the Referee's rules to the sample's record to show the mechanics, and says so where it appears. Every number from the sample is computed from that file by the engine, live, in this tab.
No. The file is read in your browser's memory and never sent anywhere. Open the Network tab in your browser's developer tools, drop a file, and watch nothing go out. The only things this site ever sends are your email address, your platform and whether you have a partner in mind, if you join the waitlist.
Yes. It runs on your computer, so it costs nothing to run and stays free: your record, and three draft rules written from it. The Referee is $19 a month or $169 a year, and is not for sale until the pilot has run.
Yes. The engine lives in src/core with tests in test/, and the command-line tool prints the same report and the same three drafts: npm run report -- --tz America/New_York your-trades.csv.
Free. In your browser. Nothing uploaded.