MT5 EA Not Trading? Diagnose It Step by Step

An EA that is not trading may be waiting correctly, failing to initialize, lacking permission or receiving rejected requests. First determine which stage it reaches. Changing random inputs until a trade appears can hide the original problem.

Identify the running program

Record the account's demo/live status, broker server, exact chart symbol, timeframe, EA name and release. Confirm you are looking at the terminal that contains the intended compiled file. Save the active inputs before making changes.

Start troubleshooting on a demo account. A helpful evidence set includes the time of the observation, a settings export and the relevant log lines. Avoid sending account passwords or other login credentials with a support request.

Check permissions at both levels

MT5 controls automated trading at platform level and for individual EAs. Both can affect whether a robot may trade. The official setup guide explains those controls and dependency permissions.

Confirm whether the product actually requires external libraries or web access before enabling them. Do not enable every permission as a general repair. If the program failed during startup, fix that specific failure before investigating its entry logic.

Locate the stage that stopped

A troubleshooting decision path
What you observeWhat to investigate
No successful startupFile identity, inputs, dependencies and initialization messages.
Running, no signalRequired history, trading hours and documented entry conditions.
Signal, no requestSpread, exposure, session or other internal filters.
Request rejectedThe server return code and accompanying details.
Order accepted, no position yetWhether it is a pending order waiting for its trigger.

This sequence prevents you from treating every quiet chart as a permission problem. A robot designed to wait for a rare setup may remain idle while functioning correctly.

Use the actual rejection reason

The MQL5 trade-server code reference identifies, among others, 10014 for invalid volume, 10016 for invalid stops, 10018 for a closed market and 10019 for insufficient funds. Record the returned code rather than guessing from the absence of a trade.

For invalid volume, compare the requested amount with the symbol's minimum and step. For invalid stops, inspect the requested prices and applicable restrictions. For insufficient funds, investigate the proposed exposure and margin calculation; depositing more money is not a debugging method.

Send a report that can be reproduced

Describe one case: “At this time, on this symbol, I expected this action because of this rule; the log showed this outcome.” Include the release, terminal build, inputs and relevant log excerpt. State whether the issue occurs in the tester, on a demo chart or elsewhere.

Change one thing at a time and keep the previous evidence. If the product documentation does not explain when an entry should occur, request that explanation before modifying the strategy. The baseline testing guide can help create a controlled reproduction.

Back to top

Inspect the source projects

Review the delivered release, input guide and documented testing scope for each package.

Quantum Titan MT5The Gold Reaper MT5

Cart

One personal-use licence per project. Each project can be added once.

Your cart is empty

Choose a source project to get started.

Continue shopping