EA operations resources

Code Review

Debug an MT5 EA that compiles but does not trade.

A zero-trade backtest can come from disabled trading, no historical data, strict filters, a signal that never triggers, invalid execution, or risk gates blocking every order. Treat it as an evidence problem, not a reason to loosen risk blindly.

Search intent

The EA compiles but produces zero trades or unexpectedly few trades in MT5 Strategy Tester.

Open the free EA desk

Cluster

Code Review

Tool path

mql5 code review

Reader

mq5 developer

Confirm the EA is allowed to trade

Before changing strategy logic, verify the tester settings, symbol, timeframe, historical bars, auto-trading permissions, and account mode.

Correct symbol and timeframe
Enough bars and ticks
Trade permissions
Tester model and date range

Log every blocking gate

The EA should print why it skipped the tick: spread too high, session closed, max trades reached, risk guard failed, signal false, invalid volume, invalid stops, or unsupported filling mode.

Signal state
Spread filter
Session filter
Risk gate
Trade retcode

Test signal and execution separately

A valid signal can still fail execution, and a valid execution path can still have no signal. Keep those diagnostics separate so the next edit is based on proof.

Signal debug mode
One controlled test order in tester only
Retcode logging
No live-account action

Use the tool

Use Workfusion Backtest Estimate or MQL5 Code Review to turn a zero-trade run into a concrete next debugging step.

Related guides

Continue the EA build path.

Optional guide follow-up

Open the free desk first. Opt in only if this guide matches your EA build or compiler blocker.

Choose the workflow you want, then opt in only if you want Workfusionapp updates.