Flatten all: cancel every working order and close every position

Flatten all cancels every working order and exits every open position on the account, from the Trading page or the top bar of any screen, and only reports success when the backend has verified that the broker's books drained.

Senzoukria · Documentation · Updated September 2026


Where to find it

Where
Trading page under the order ticket ("Flatten all"), and the top bar on every route ("FLATTEN")
Shown when
A broker connection is registered, even if degraded or reconnecting
Confirmation
Follows Settings → Trading → Order confirmation; 1 click by default

What it does

Flatten all is the escape hatch of the desk. One click asks the backend to cancel every working order, then to exit every open position, on the default connection. The backend treats the request as risk-reducing and accepts it while the connection is degraded or reconnecting, which is exactly when a trader needs it. It never claims success it could not verify: if the broker's books did not drain, the error returned reads "flatten incomplete … CHECK YOUR BROKER PLATFORM" and is shown under the button.

The button is gated on a connection being registered, not on it being ready and not on known exposure. The positions and orders panel can be stale or frozen, and a stale panel must never be the reason the exit is hidden. The guided tour states the same contract: it closes everything, from any screen, with one click, and never opens a position.

Behaviour

States and labels of the button
ElementDefaultEffect
LabelFlatten all · FLATTEN (top bar)Tooltip: "Cancel all working orders and close all open positions"
Confirmation stepOff (1-click)With 2-click mode: "Cancel N order(s) and close N position(s)?", then Confirm flatten or Keep
Busy stateFlattening…Button disabled until the backend answers
ErrorShown under the button, or as a tooltip in the top barMessage returned by the backend; never swallowed
HiddenNo registered connectionNothing to flatten

Manual brackets and the flatten epoch

Some gestures on a live position, such as a pending manual bracket, wait for a fill before placing their exit. Every flatten caller notifies a shared listener set so that any pending manual order for that connection is invalidated the moment the intent to flatten exists. Without this, a bracket armed before the flatten could place a fresh stop or target on an account that is now flat.

Exit orders built for a real position always sit on the opposite side of that position; the builders in the live trade actions module derive that side once so no surface can double a position by mistake.

Limits and pitfalls

  • Flatten reduces risk, so the confirmation step protects less than on an entry and mainly slows the exit; the setting is global and defaults to 1 click.
  • The request goes to the default connection; it does not flatten other saved connections or other accounts of the same login.
  • A successful flatten is verified against the broker's books, but always check the broker platform after an error message.
  • Copy trading is applied to orders sent from the ticket, not to flatten: the button does not close the followers' positions, which must be flattened on their own connection.

This page in other languages

Frequently asked questions

Why is the FLATTEN button visible while my connection is reconnecting?
The backend accepts flatten while the connection is degraded because it only reduces risk. Hiding it during a reconnection would remove the exit when it matters most.
Why did I get two steps on the button when I set 1-click trading?
You should not: the button follows the global Order confirmation setting. With "1 click — send immediately" the flatten is sent on the first click; with "2 clicks — confirm first" it asks before sending.
Does flatten touch my demo account?
No. It acts on the real broker connection. The demo panel has its own local "Cancel every working order" and close controls.

Keep reading