Skip to content
  • Licensed software only

Guide

Risk management controls every Expert Advisor should have

The inputs that keep an automated strategy inside your limits: position sizing, hard stops, daily and equity loss limits, exposure caps, spread and news filters, and how to test that each one actually fires.

7 min readPublished

An Expert Advisor's entry logic gets all the attention, but its risk controls decide whether you are still trading next year. The strategy determines how often you win; the controls determine how much a bad week costs. This guide lists the controls we look for when reviewing a tool's documentation, explains what each one does and does not protect against, and shows how to test on a demo account that a control actually fires rather than trusting the input label.

1. Position sizing

Sizing is the control that scales everything else. Three approaches are common:

  • Fixed lots. Simple and predictable, but risk per trade drifts as the account changes and as stop distances vary. Suitable for small tests, poor for long-term running.
  • Fixed fractional (risk percent). The lot is computed so that hitting the stop loss costs a set percentage of balance or equity — typically 0.25% to 1% per trade. Risk stays constant as the account grows or shrinks, and wider stops automatically mean smaller positions. This is the default we recommend traders look for.
  • Fixed ratio or step sizing. Lots increase in steps as profit accumulates. Reasonable for growing accounts; check that steps down are as fast as steps up.

Whatever the method, insist on a maximum lot cap. Sizing formulas fail when a stop is unusually tight or a balance value is misread, and the cap is the only thing between that bug and a ruinous order. Avoid tools whose only sizing option multiplies lots after losses; the maths of martingale sizing guarantees an eventual loss that dwarfs the gains.

2. Hard stop loss on every position

A stop loss placed on the broker's server protects you when the terminal is offline, the VPS reboots or the EA crashes. “Virtual” or hidden stops managed inside the EA do none of that. Some tools hide stops from the broker to avoid stop hunting; if so, they should still place a wider emergency stop on the server. Check the Trade tab while the EA runs on demo: every open position should show an S/L value. If it does not, you are unprotected during any disconnection — a risk that a VPS reduces but never removes.

3. Daily loss limit

A daily limit caps how much one day can cost. Two designs exist and the difference matters. A soft limit stops the EA opening new trades once the day's closed losses reach the threshold; open positions continue. A hard limit measures equity — including floating losses — and closes everything when breached. For prop-firm accounts only the hard version protects you, as Prop-firm compatibility explains. Check that the reset time is configurable and expressed in broker server time, and that the limit is based on the day's starting balance rather than a moving figure.

4. Equity or account-level stop

An equity stop closes all positions and disables trading when account equity falls below a level you choose — say 80% of the starting balance. It is the last line of defence against a strategy that has stopped working, and unlike a daily limit it does not reset. A good implementation also requires manual re-enabling so a broken strategy cannot resume the next day unsupervised. Where a tool lacks this control, a standalone risk panel such as Vector Risk Panel can supply it across every EA on the terminal.

5. Exposure caps

Limit the number of simultaneous positions, the total lots across positions and, for multi-symbol tools, the exposure to correlated pairs. Six EURUSD, GBPUSD and AUDUSD longs are largely one dollar-short position; a tool that sizes each independently at 1% is risking closer to 6% on one idea. Look for inputs such as “max open trades”, “max total lots” and “max trades per symbol”, and for grid or basket tools, a maximum number of grid levels and a maximum basket drawdown that closes the whole basket.

6. Spread and slippage filters

Spreads widen at rollover, at news and in thin sessions, and a strategy backtested at a one-pip spread should not trade when the live spread is five. A maximum-spread input prevents entries when conditions are worse than tested. A maximum-deviation (slippage) setting tells the broker to reject fills beyond your tolerance. Both are cheap to implement and their absence is informative about how a tool was tested; see Reading backtests critically.

7. News and session filters

A news filter pauses trading, and optionally closes positions, around scheduled high-impact events. A session filter restricts trading to the hours the strategy was designed for and, importantly, avoids the minutes around daily rollover when spreads spike and swaps are charged. Both should express times in broker server time with an offset input, because your terminal's clock and the broker's rarely agree.

8. Connection and error handling

Good tools handle requotes, “trade context busy” and “invalid stops” errors by retrying sensibly and logging clearly, rather than firing orders in a loop. They also notice when the terminal has been disconnected and reconcile positions on reconnection instead of opening duplicates. You can read this in the Experts log during demo testing and in the troubleshooting guide.

Testing that controls fire

An input named “Daily loss limit” is a claim, not a control, until you have watched it work. On a demo account:

  1. Set the daily limit deliberately small — a fraction of one percent — and let the EA trade until it is hit. Confirm in the Journal that positions were closed (for a hard limit) and that no new trades open until the reset time.
  2. Set the equity stop just below current equity and open a manual losing trade on another symbol. Confirm the EA flattens and disables itself, and check whether it re-enables on restart.
  3. Set the maximum spread below the current spread and confirm the EA logs a “spread too high” message instead of trading.
  4. Attach the EA to a symbol during a scheduled release with the news filter on and confirm the filter's log lines and behaviour.
  5. Check the Trade tab for a server-side stop on every position, then disconnect the terminal from the internet for a minute and confirm the stops remain on the broker's side when you reconnect.

Restore your intended settings afterwards. Twenty minutes of this testing tells you more about a tool than any backtest.

Choosing values

Controls need numbers, and the numbers come from the strategy's history. Take the tool's worst historical equity drawdown (see Understanding drawdown), multiply by one and a half to two, and make sure your equity stop and per-trade risk together keep that scenario inside what you can tolerate. Set daily limits below any external limit you face, with a buffer for slippage. Set spread filters slightly above the spread the backtest assumed. Then leave them alone; changing risk settings after a losing week is how controls get quietly switched off.

None of this is investment advice, and no control turns a losing strategy into a winning one. What controls do is make sure the strategy is still running when its edge, if it has one, gets the chance to show up.

All guides