deadman-guardian — a daily loss limit you cannot undo

It closes your positions at your limit, not your firm's.

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, flattens everything, cancels your working orders, and refuses new entries until the session rolls at 17:00 CT. You cannot turn it off for the rest of the day. That is the product.

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 26 of 26 named guarantees under 137 tests, 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. Measured inside the running platform, the full detect-and-cancel cycle was 315.9 milliseconds — of which 14.4 were ours and the rest belonged to NinjaTrader and the venue. A gap or a fast market goes straight through that. 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 137 tests, and the conformance statement is "26 of 26" rather than "it works". Two of those 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.