← Back to all toolsThe Discipline Score

Framework · Interactive

The Discipline Score

The regime score grades the market. This grades the trader. Ninety-nine rules from Schwager's Market Wizards, read cover to cover, split into what a computer can actually enforce and what it can't — then wired into a live score, a stop-first position sizer and a pre-trade gate.

Every rule carries the trader and the page. No paraphrase, no folklore.

Your discipline score

Fifteen checks drawn only from the mechanically enforceable rules. Answer honestly for the trade in front of you — the score is worthless if you flatter it.

In plain English

This is a pre-flight check for one specific trade. Fifteen questions, each taken from a rule a Market Wizard actually stated — chosen because a machine can check it, not because it sounds wise.

Six are hard rules. Those act as vetoes rather than points: breaching one doesn’t cost you a mark out of fifteen, it means don’t take the trade. A checklist that lets you average away a broken rule isn’t a checklist, it’s a permission slip.

How to use it. Run it before you enter, not after. Scoring low usually means make the position smaller or wait for a cleaner setup — not argue with the checklist.

0of 15
0 pass 0 caution 0 breach
Answer the checks below

Hard breaches are not scored — they are vetoes.

Tudor Jones: “Every day I assume every position I have is wrong.” The score is a mirror, not a permission slip.

Stop-first position sizer

Kovner inverted the usual order: set the technical stop, then solve for size. Widen the stop and the unit count falls while the dollar risk stays identical — that is the whole point, and it is the opposite of what most traders do.

In plain English

Most people pick how much to buy first, then put the stop wherever that size allows — usually too close, so ordinary wobble knocks them out of trades that were right.

Do it the other way round. Decide what price would prove you wrong: that’s the stop. Then work out how many shares make that stop cost exactly 1% of your account. Size is the answer, not the input.

Example. £100,000 account risking 1% = £1,000. You buy at 100 and 95 proves you wrong, so you’re risking £5 a share: 200 shares. Now suppose the honest stop is further out at 90 — £10 a share — so you buy 100 shares. Either way you lose £1,000 if you’re wrong. The stop moved; the risk didn’t.

If the maths says buy 0 shares, that isn’t a bug. The trade is too big for your account at an honest stop. Skip it rather than shrinking the stop to make it fit.

Units200
Risk budget$1,000
Stop distance5.00%
Notional$20,000

The rulebook

Bucket A is mechanically enforceable — sizing, stops, drawdown, screens. Bucket B can only ever be a warning. Bucket C is judgement, and any tool claiming to automate it is selling you something.

In plain English

All 99 rules from the book, sorted by whether software can genuinely hold you to them.

A — enforceable. Arithmetic. “Risk no more than 1%” is a number a computer can check. Most of the useful ones live here.

B — warning only. Real patterns that need a human to judge. “The market shrugged off bad news” is a genuine signal; deciding whether today counts is not something you can hard-code.

C — judgement. Things like “get out when you don’t understand what’s happening.” Worth knowing, impossible to automate. They’re here so the split stays honest, not to pad the count.

Every rule shows the trader, the page, and the original quote. Filter by bucket, by trader, or search the text.

Where they contradict each other

A single blended “Market Wizards indicator” would be incoherent. These four conflicts are load-bearing — both sides came from twenty-year records, so pick a side deliberately rather than averaging them away.

In plain English

The traders in this book disagree with each other, sometimes flatly, on four questions that actually matter.

That isn’t a flaw and it shouldn’t be smoothed over. Blend O’Neil’s “buy strength” with Marcus’s “strength means it’s over” and you get something that fires on nothing and means less than either.

What to do with it. Read both sides and pick one on purpose, knowing you’ve picked. Where the disagreement does resolve — usually because the two men meant different holding periods — the card says so underneath.

Relative strength

Entry signal, or exhaustion signal?

O'NeilBuy RS above 80. Winners averaged 87 before the advance began.
vs
Marcus“By the time you get a high relative strength figure, the stock has exhausted itself.”

Reconciles on base quality: O'Neil buys high RS only from a tight base, never more than 10% extended.

Is trend following dead?

Asked and answered twice, in the same book.

MarcusOver “unless there is a particular imbalance in a market that overrides everything else.”
vs
SeykotaProfitability merely cycles; undercapitalised traders get shaken out. “Longevity is the key.”

Dennis splits the difference: crowding is real, so avoid the intermediate term “like the plague.”

Fundamentals: required or noise?

The widest gap in the book.

Kovner“I can't hold a position unless I understand why the market should move.”
vs
SeykotaA distant fourth. What you read is “funny-mentals.”

Kovner's own resolution is the best line in the book: technicals are a thermometer, not a crystal ball.

Turns, or the middle?

This one does not resolve.

Tudor Jones“The very best money is to be made at the market turns.” Markets trend only ~15% of the time.
vs
Dennis“I made a lot of money going short sugar at 60 cents, but I lost much more going long sugar at 6 cents.”

Both records span two decades. There is no synthesis here — only a choice.

The scripts

Seven Pine v6 scripts implementing the enforceable rules. Each carries the trader and page in its header comment.

In plain English

Pine is TradingView’s scripting language. These are indicators and strategies you paste into the chart editor and run on any symbol.

They implement the Bucket A rules only — the ones that are arithmetic. Nothing here pretends to automate judgement.

Worth knowing. The trend engine deliberately won’t trade all the time: it stays flat unless a volatility filter says conditions suit trend following. That’s Marcus’s own caveat, built in rather than ignored.

ScriptImplementsSource
wizard_position_sizerStop determines size; 1% and 5%-per-idea caps; rejects stops inside the rangeKovner · Hite · Marcus
wizard_failed_breakoutTight congestion, breakout, then failure to hold; 3rd/4th/5th extreme-bar exhaustionMarcus · Kovner
wizard_market_toneGap-hold, response asymmetry, close location, peer lag, crowding runsMarcus · Hite
wizard_trend_engineRegime-gated Donchian; three lights; time stop; no profit targetMarcus · Hite · Dennis
wizard_oneil_base_breakoutBase depth, new high, volume ≥+50%, RS rank and trend, 7% stopO'Neil · Ryan
wizard_three_leg_scoreFundamentals + technicals + tone, sized 5–6× when all three alignMarcus · Kovner
wizard_equity_governorEquity-curve state machine: normal → reduced → minimal → haltMarcus · Tudor Jones
Coming soon · invite-only

Run this on your own charts

The same logic as this page, as TradingView scripts: LL Wizards Rules plots the enforceable rules — position sizer, failed-breakout, equity-curve governor.

Invite-only. Published as a protected script — access is granted per TradingView username, so the source stays closed. Link goes live once it’s uploaded.