HardDeck — the risk guard I run on my own funded account

The hard deck is the altitude you don't fly below.

Why I built it

I wrote HardDeck after blowing an evaluation account. Your prop firm already runs limits against you — daily loss, trailing drawdown, a floor that ends the account the moment you touch it. HardDeck puts those limits on your side of the line: it enforces the daily loss limit, profit fence, trailing drawdown, and contract caps you configure, at the account level, flattens when you hit a floor, then locks you out until tomorrow's session with a debrief instead of a revenge trade. I run it live on my own funded account every session.

What it does

HardDeck is a NinjaTrader Add-On, not an indicator: it runs at the account level, nothing goes onto a chart. It starts disarmed. Once you arm an account it evaluates four rules on every update.

Once you are 80% of the way to any of the first three, the account card turns from ARMED to WARN.

A breach on the equity rules must be seen twice in a row before it locks, so one isolated bad snapshot cannot latch a lock. Contract caps skip that wait: position counts need no price, so an over-cap position is trimmed on sight.

On a breach HardDeck submits closing orders and cancels resting ones — exposure-increasing ones while you are in the position, all of them once flat. Then the day locks. The lock survives a NinjaTrader restart and clears at the 5:00 PM CT rollover. Tightening a rule applies immediately; loosening one waits for that rollover, so a bad afternoon cannot talk you into a bigger limit.

The lockout hands you the day's numbers — trades, wins, losses, largest losing trade, peak versus final P&L — plus notes raised only when the fills show it: entries speeding up, size growing, one trade doing most of the damage, a green day given back.

Presets for TakeProfit, Apex, Topstep and a Personal profile drop starting numbers into the form. They are illustrative only, not verified against any firm's current rulebook, and firms change their rules — check every number against your own account agreement before you arm. Slack alerts are optional; the guard behaves identically with none configured. I run it on my own funded account every session.

Settings that matter

Settings are per account, in the Risk Guard window (Control Center > New > HardDeck Risk Guard).

Setting Default What it changes
Armed off Nothing is enforced until you arm the account.
Daily loss limit 0 (rule off) Dollar floor on the day's P&L; a breach flattens and locks the session.
Profit fence 0 (rule off) Dollar ceiling on the day's P&L.
Profit fence alert-only off Fence warns at 100% but never flattens or locks.
Trail distance 0 (rule off) Dollars below the high-water mark counted as a breach.
Trail mode IntradayHwm IntradayHwm re-anchors to the day's opening equity; EodHwm carries the balance forward.
Contract caps by root empty Per-root position cap, e.g. ES 2, MES 20. Over the cap the position is trimmed to it.
Size breach locks day off Whether a cap breach also locks the session, not just trims.

Install

  1. Close NinjaTrader.
  2. Copy all five .cs files into Documents\NinjaTrader 8\bin\Custom\AddOns\.
  3. Start NinjaTrader, open the NinjaScript Editor, press F5 to compile.
  4. Open it from the Control Center: New > HardDeck Risk Guard.
  5. Arm a Sim account first: set a tiny daily loss limit, take a losing trade, and watch it flatten and lock before you point it at a funded account.

Requires NinjaTrader 8; built and tested on 8.1.x.

What it is not

HardDeck computes and enforces the limits you set. It does not give trading advice, does not tell you what or when to trade, and makes no claim about profitability. Futures trading involves substantial risk of loss.

HardDeck — $79 early access — first 20 buyers, then $129

Buy — early access

Built custom. I do this for hire — fixed quote, most jobs under a week. Get a quote →