deadman-guardian — a daily loss limit you cannot undo

Your limit, not your firm's — sealed until the market closes.

deadman-guardian is a NinjaTrader 8 add-on that watches your day's P&L and, when you reach a personal loss limit you set stricter than your firm's, asks the platform to cancel your working orders and flatten everything, then reads the account back to check, and marks the account locked until the session rolls at 17:00 CT — a state whose only enforcement is to keep attempting to flatten: nothing here can prevent an order from reaching your broker. You cannot turn it off for the rest of the day. That is the product — and how often that check has actually confirmed is on the how-it-works page, in full.

Status: in testing — not yet released. No users. Soak in progress.

The repository is private and there is no release, no download and no price. The last soak run (2026-08-21, 12:28 UTC) drove the add-on through six attack scenarios on NinjaTrader's Sim101 simulated account and passed 6 of 6. It has never been run for a full session on a funded account, and this banner will say so until it has.

Why believe any of this? The specification was written before the first line of C#, the implementation ships 25 of 26 named guarantees — and names the one it does not — and the same discipline is public in two repositories you can read today — including one where the published result is that nothing worked. The method, in full ↓
Built by Roberto Rodriguez — github.com/Roberto9210

Before anything else: four things it does not do

It does not bound your loss

It bounds your exposure and removes your discretion. Between reaching your limit and the position actually closing, the market keeps moving — and the closing is an attempt that has to be observed to succeed, not a step that is assumed to work. A gap or a fast market goes straight through that, and so does a flatten that does not verify. Three prop firms say the same thing about their own daily loss limits, in their own words; they are quoted on the compatibility page.

It does not work at every firm

Of sixteen firms researched, seven ban third-party automated tools in language that plainly covers this one — and three of those have now told us so in writing, by name. Four permit it outright, one runs a formal approval process we have applied to, and four are ambiguous enough that we have asked for a ruling and are waiting. Check the compatibility table before you install anything. If your firm prohibits it, don't install it — this table exists so you know before you write to us.

At two firms it can cause a violation you did not commit

Elite Trader Funding and Top One Futures require every trade to stay open at least ten seconds. If your limit is hit within ten seconds of entering, the guard flattens anyway — and that flatten breaches their rule. We do not defer the exit to satisfy a timer, because holding a position that is already past your limit is its own risk. The reasoning and the size of the exposure are on the compatibility page under the ten-second problem.

It cannot stop a determined you

Close NinjaTrader, delete the add-on, reopen: you are unprotected, and nothing in the design can prevent that. What it can do is make the bypass a deliberate, premeditated act that leaves a mark in an append-only record — instead of a moment of weakness at 14:30.

What it does

How it works, with its limits stated on the same page →

What it is not

Not a strategy. Not signals. Not an optimiser. It never opens a position — the only orders it ever sends are cancels and flattens. It opens no socket: no telemetry, no cloud, no licence check, no auto-update. It reads your fills and your account's P&L, locally, and writes to three files on your disk.

The method, and why it is the whole pitch

The specification was written before the first line of C#, including a section titled "What this does not protect against." The implementation carries 26 named guarantees, and the conformance statement is "25 of 26" rather than "it works" — and it names the one that is not implemented. G8 says "orders after lockout are cancelled and logged", and since 2026-08-27 the guard deliberately does the opposite, because cancelling on sight cancelled its own flatten and four orders of the trader's. The guarantee's text is not rewritten to match the code: the gap is real, and rewriting it would delete the gap from view. That number is now computed from the specification rather than typed by hand — it read "26 of 26" for the six days from 2026-08-27 to 2026-09-02, after G8 stopped being implemented, because nothing obliged a hand-written number to go down. Two of the guarantees are about what the code is not: one asserts by reflection that the core library references no NinjaTrader assembly and no network stack; another that no double appears anywhere on its public surface, because money is decimal or it is a rounding bug waiting for a bad day.

The platform behaviour it depends on was measured inside the running NinjaTrader process, not assumed — including the finding that no pre-submit hook exists in 2,912 scanned types, so enforcement is detect-and-cancel and the pages here say so.

Same discipline, in public, in two repositories you can read today:

What this site is not

There is no price here, nothing to buy, no mailing list and no performance claim of any kind — this tool does not trade, so it has no returns to report. There are no trackers, no analytics and no cookies: this site loads nothing from a third party.