DocumentationPricingMultiPrimeX Store
EnglishenالعربيةSoonDeutschSoonEspañolSoonفارسیSoonFrançaisSoonहिन्दीSoonItalianoSoon日本語Soon한국어SoonPortuguêsSoonРусскийSoonTürkçeSoon简体中文Soon繁體中文Soon

Controls

The cheapest bad trade is the one that never executed

Everything after execution is damage control. The only place a risk system genuinely saves money is in front of the order, and it has to be fast enough to be allowed to stay there.

CheckWhat it stops
notional_cap

An order larger than the client or firm is permitted

max_leverage

Effective leverage beyond the ceiling for that segment

concentration

Exposure that would crowd an instrument or counterparty

fat_finger

A size or price far outside this client's normal behaviour

instrument_permission

Trading in something this segment is not entitled to

session_state

An order into an instrument outside its trading session

Three design constraints

Pre-trade controls fail for predictable reasons

Fast enough to sit in the path

A check that adds meaningful latency will be removed the first time somebody complains about execution speed. The only pre-trade control that survives is one nobody notices.

Specific enough to be actionable

A rejection that says the order was blocked teaches nobody anything. Each check returns which control fired and what the boundary was, so the client or the desk can respond sensibly.

Not every check is a hard block

Some should reject, some should require an override, some should only warn. Making everything a hard block means overrides become routine, and a routine override is not a control.

See it live

The checks that sit in front of the order

Notional caps, leverage ceilings and concentration limits are visible per group, recalculated continuously rather than checked after the fact.

Order path diagram showing an order passing through pre-trade checks to fill, with a table of recent rejections

FAQ

Pre-trade controls: common questions

6 short answers to what teams ask before a demo.

The checks are designed to sit in the order path without being noticeable. This is not a nice-to-have: a control that measurably slows execution will be switched off the first time someone complains, and then you have neither speed nor safety.

A size or price test against what this client normally does rather than against a fixed number. An order fifty times a client's usual size is worth stopping even when it is inside the formal limit, because it is far more likely to be an error than an intention.

No, and they should not. Each control is configured to reject, require an override, or warn. Making everything a hard block leads to overrides being granted as a matter of routine, at which point the control has stopped functioning.

Which control fired and what the boundary was. A generic rejection guarantees a support contact and teaches the client nothing about how to place an acceptable order.

Platform margin checks look at that client on that platform. These add firm-level context — concentration across everything you run, counterparty exposure, and limits that no single platform can see.

Yes. A professional account and a retail one should not share notional caps or leverage ceilings, and applying one set to both means it is wrong for at least one of them.

Still have a question?

A specialist will answer it directly, with your set-up in mind.

Ask a specialist
Controls review

What would stop an order fifty times too large?

On most setups the honest answer is that it would execute and somebody would notice afterwards.

Call us+971 52 654 0123WhatsApp+971 52 654 0123Email usinfo@multiprimex.com
Book a demo