Control strategy and account trading risk
Configure per-trade sizing and fleet limits, understand pause/stop/flatten behaviour and inspect the recorded result of protective actions.
Reviewed 2026-10-24 · Windows & macOS
On this page
View full-size screenshot ↗Use controls with a clear scope#
Per-trade sizing, algorithm parameters, account limits and fleet actions solve different problems. Check the exact account and session before editing any of them. Real, Demo/Paper and Simulation retain different execution authorities, and several instances can share one account's funds.
A stop loss is an execution instruction under its venue/model rules. Gaps, slippage, costs and FX can make actual loss differ from a planned amount. Risk controls do not establish strategy profitability or guarantee liquidation at a displayed price.
Set future protected-entry risk#
The current desktop Risk per trade dialog configures a GBP target. It is labelled Size protected entries to a fixed GBP risk target, and Gross stop-loss risk uses £. It does not automatically change currency to match a USD, EUR or other account. The default request is 50 GBP; a configured default is not proof that a sizing policy was installed.
- Select the exact cTrader algorithm session and verify its broker account currency is GBP. For bulk changes, check every selected account.
- Choose Set Risk per Trade… or Set Risk for N Sessions….
- Enable the fixed-GBP policy and enter a positive Gross stop-loss risk, or disable the policy deliberately.
- Choose Apply or Apply to N and read the action result.
- Inspect the session's Risk column/details: verify the effective enabled state, amount/currency, policy version and last sizing decision before relying on it.
Enabling this dialog's GBP target on a non-GBP account is rejected with a currency-mismatch error; do not assume it applied. The API can configure a target whose currency explicitly matches the broker account, but the current desktop dialog cannot enter that alternative currency. At startup, a mismatched configured currency leaves the fixed-risk policy unavailable rather than installing it. Correct the configuration and verify the effective policy; a Running session alone does not establish that fixed-risk sizing is active.
Before a new protected automated entry, the host uses its attached stop, contract multiplier, account currency and required fresh conversion rate to choose a quantity on the exact broker grid. The closest permitted quantity is selected; equal-distance ties round downward. If calculated size is below the broker minimum, the minimum can exceed the target. Read the last sizing decision.
Spread-bet _SB products use account-currency stakes and do not apply the symbol quote-asset FX rate again. Non-spread-bet entries requiring conversion are rejected when a required conversion quote is unavailable or older than 30 seconds.
Updates affect future protected entries only. Existing positions, SL/TP and submitted pending orders are not resized. Manual entries and position-reducing exits are not resized either. The policy persists with the strategy run and can be configured while warmup is still installing the engine policy. It is infrastructure configuration, not an optimisation parameter.
Configure fleet limits#
Open an account chip or Kill switch · N algorithms… in the Strategies fleet strip to access Risk limits and Breach log. Review the exact account and its currency. Optional unset limits are off.
| Limit | Measurement and effect |
|---|---|
| Daily loss | Realized since 00:00 UTC plus current account unrealized P&L; breach kills algorithm exposure and blocks new entries, including manual, while breached |
| Gross exposure | Sum of absolute position lots; new entries blocked at/over the limit |
| Open positions | Account position count; new entries blocked at/over the limit |
| Per-session loss | Algorithm session's daily realized plus owned unrealized loss; that session stops |
| Orders per minute | Orders created by one algorithm in the last 60 seconds; that session pauses |
| Feed silence | Duration of stale/disconnected/failed input for an algorithm; that session pauses |
Account-level measurements include manual positions. Session limits target algorithms. The monitor checks periodically and logs a breach transition; it is not a tick-by-tick guarantee. Unavailable means a mark/measurement is missing, not zero risk. Inspect the log and response after an intervention.
Distinguish pause, stop and manual override#
Pause rejects new local algorithm entries while allowing exits, closes, cancels and protection changes. Resume permits entries again subject to other gates. Remote session pause currently returns an unsupported result; do not assume a remote instance was paused because the local button was clicked.
Stopping ends session processing. It does not inherently close broker positions. The Stop confirmation lists owned open positions and offers Also close the position at market. Close acceptance is required before that combined path stops the session. Verify broker outcome afterwards; queue acceptance is not a completed fill.
A manual action on algorithm-owned exposure uses a manual override. Choose pause then act, act and keep running, or act and stop. Decide whether to cancel its other working orders. LIVE overrides require a reason and live confirmation and record the chosen action in the audit. Keeping an algorithm running can allow it to re-enter after you close its position.
Use Flatten all and Kill switch correctly#
Flatten all cancels orders and closes positions in the chosen mode/account scope. Its review can ask what to do with each owning strategy: pause before flattening, keep running, or stop. Review the working-order cancellation choices, account counts and LIVE reason/confirmation. A dry run counts intended targets; actual broker failures still appear in the response.
Kill switch targets algorithms: it cancels/closes algorithm-owned targets and stops algorithm sessions in scope, including those warming up or remote. Manual chart sessions and their owned positions remain. It does not create a permanent global block on manual trading. Restart algorithms explicitly after resolving the cause.
Review the per-account result and breach/audit entries. A command that reports partial errors is not a successful full liquidation. Reconcile remaining positions and working orders through the exact account view.
Keep order-entry settings separate#
Account trading settings include Demo confirmation, time-limited one-click mode, click-size cap, stake presets and default slippage. LIVE confirmation cannot be disabled, and one-click mode is not allowed on LIVE. A UI click-size cap is an order-ticket guard, not a universal server-enforced risk budget for algorithms or API clients.
Factor/Liquidity Risk forecasts analyse portfolios; they do not replace these live operational gates. Backtest drawdown stops and simulated margin settings apply to their historical run, not automatically to a broker account.
Recover after intervention#
Read the breach reason, current usage, feed health, open orders and owned positions before resuming. Fix stale pricing/history/connection faults rather than repeatedly restarting. If an action is disabled, its reason distinguishes unsupported remote operations, API disconnection and missing capability. Preserve the audit/run IDs when investigating unexpected behaviour.