EA Not Trading? Check the MT5 Environment Before Changing the Strategy
An Expert Advisor can be attached to a chart, show no obvious error and still open no trade.
That does not automatically mean the EA is broken.
When an EA is inactive, it is useful to separate two different questions:
-
Can the current MetaTrader 5 environment support EA operation?
-
Has the EA’s own strategy found a valid entry condition?
A terminal permission, account restriction, disconnected server, stale quote, closed trading session, missing historical data or broker-side symbol condition belongs to the environment side.
An indicator filter, trading-hour rule, spread limit, cooldown, volatility condition or proprietary entry setup belongs to the EA’s internal strategy side.
Changing EA settings before separating these two areas can make troubleshooting more difficult.
Ninja MT5 Doctor was created to check the environment side first.
What Is Ninja MT5 Doctor?
Ninja MT5 Doctor is a free MetaTrader 5 environment-diagnostic utility.
The current MQL5 version is Version 1.0.
It runs in Expert Advisor format because it uses MT5 functions available to an EA-format program. However, it is not a trading EA and it is not an indicator.
Doctor does not:
• Send orders
• Modify orders or positions
• Close positions
• Delete pending orders
• Generate BUY or SELL signals
Instead, it captures one completed snapshot of the current MT5 environment.
The snapshot can include information about the terminal, account permissions, open charts, selected historical data, the latest quote and the symbol of the chart where Doctor is attached.
Keep the Target EA on Its Original Chart
MetaTrader 5 permits only one Expert Advisor on each chart.
Do not remove the EA you want to inspect and replace it with Doctor on the same chart.
Use this setup:
-
Leave the target EA on its original chart.
-
Open another normal MT5 chart.
-
Confirm that no Expert Advisor is attached to the new chart.
-
Attach Ninja MT5 Doctor to that separate chart.
-
Wait until the diagnostic snapshot is completed.
The separate chart can contain candles and indicators. It only needs to have no other Expert Advisor attached.
Attaching Doctor directly to the target EA’s chart would replace that EA.
Use one active Doctor instance per account in the same MT5 terminal.
Understanding the Diagnostic States
Doctor displays four main diagnostic states.
CHECKING
CHECKING means Doctor is still requesting and organizing the selected information.
Do not treat CHECKING as the final result. Wait until the state changes.
READY
READY means the completed snapshot did not find a warning or definite blocker among the checks implemented by Doctor.
READY does not mean:
• A BUY or SELL signal exists
• The target EA must open a trade
• The target EA’s private logic is correct
• The target EA is operating perfectly
• The strategy will be profitable
• Future operation is guaranteed
An EA can correctly remain inactive while Doctor shows READY because the EA’s own entry conditions have not been met.
WARNING
WARNING means that one or more items require manual review or interpretation.
A warning does not automatically prove that an EA cannot operate.
The meaning may depend on the current market session, selected symbol, broker environment or requirements of the target EA.
Read the individual diagnostic item instead of judging the result only by the word WARNING.
BLOCKED
BLOCKED means Doctor detected a clearer environmental condition that may interfere with EA operation.
The specific blocked item should be reviewed before changing the target EA’s strategy settings.
Correcting an environmental blocker still does not guarantee that the target EA will immediately trade. The EA must also satisfy its own entry and risk conditions.
The Four Dashboard Areas
OVERVIEW
OVERVIEW summarizes the main environment checks.
Depending on the information available from MT5, these can include:
• Broker-server connection
• Terminal Algo Trading status
• Account trading permission
• Account EA permission
• Doctor’s own program permission
• Symbol trade mode
• Broker-published trading sessions
• Latest-tick freshness
• Current spread
• Volume rules
• Reference margin information
• Broker-published execution and order capabilities
The displayed values are a snapshot.
Spread, quotes, sessions, margin and broker specifications can change after the check has been completed.
HISTORY
Some Expert Advisors require historical bars before their indicators or entry conditions can be calculated.
HISTORY displays synchronization and copied-bar information for the selected timeframes checked by Doctor.
This is an environment reference.
It does not prove that another EA has every timeframe, symbol or number of bars required by its private logic.
CHARTS
CHARTS lists open charts and, where MT5 exposes the information, the name of an attached Expert Advisor.
This can be useful when several charts and EAs are operating in the same terminal.
However, Doctor cannot inspect another EA’s private source code, hidden variables, internal state or current entry decision.
Seeing an EA name in CHARTS does not mean Doctor knows why that EA has or has not opened a trade.
SPECS
SPECS displays broker-published properties for the symbol on Doctor’s own chart.
These can include contract size, volume rules, execution mode, filling mode, Stops Level, Freeze Level and other symbol properties.
Broker specifications can differ even when two brokers use similar symbol names.
Remember that SPECS refers to Doctor’s host-chart symbol. It does not automatically inspect every symbol used by every EA in the terminal.
Save a Baseline Report
After the snapshot has been completed, press SAVE REPORT.
Doctor saves local HTML and CSV reports under:
MQL5/Files/NINJA_MT5_Doctor/
The HTML file is intended for normal human review.
The CSV file contains structured diagnostic information that can be compared or processed separately.
The reports are stored locally. Doctor does not upload them, and the account login number is excluded.
Saving a report before changing anything gives you a useful baseline.
A Practical Troubleshooting Sequence
Instead of changing several EA settings at once, use a more structured process:
-
Run Doctor.
-
Wait until CHECKING changes to READY, WARNING or BLOCKED.
-
Review OVERVIEW, HISTORY, CHARTS and SPECS.
-
Save the first report.
-
Identify one item that requires attention.
-
Change only that item.
-
Press RUN AGAIN.
-
Save the new report.
-
Compare the results.
Changing Algo Trading, the symbol, the chart, history settings and target EA inputs at the same time makes it difficult to identify which change affected the result.
RUN AGAIN creates a new one-time snapshot.
Ninja MT5 Doctor is not a continuous monitoring system.
Full English Video Guide
I published a longer English walkthrough showing the complete workflow in MetaTrader 5:
EA Not Trading? Check Your MT5 Environment with Ninja MT5 Doctor (Free)
https://www.youtube.com/watch?v=F6AESJA7D2E
The video is approximately 6 minutes and 9 seconds long.
It covers:
• The correct separate-chart installation
• OVERVIEW
• HISTORY
• CHARTS
• SPECS
• CHECKING, READY, WARNING and BLOCKED
• RUN AGAIN
• SAVE REPORT
• HTML and CSV reports
• The limits of what Doctor can inspect
This is the main operating guide for users who want to see the complete process.
55-Second Overview
A shorter overview is also available:
EA Not Trading? Check MT5 First | Ninja MT5 Doctor
https://www.youtube.com/shorts/ePkyn6hUmfk
This 55-second Short summarizes the main idea:
Before changing an EA’s strategy settings, first separate possible MT5 environment issues from the EA’s own entry conditions.
The Short is a quick introduction.
The longer video provides the more complete operating explanation.
What Doctor Cannot Tell You
Doctor cannot inspect another EA’s private logic or current internal decision.
For example, it cannot determine whether another EA is waiting for:
• An indicator threshold
• A moving-average crossover
• A breakout
• A volatility filter
• A news filter
• A spread limit
• A scheduled trading time
• A cooldown period
• A maximum-position rule
• A proprietary risk condition
Doctor also cannot prove that another EA is free from programming errors or that it will operate correctly under every future market condition.
If Doctor shows READY and the target EA still does not trade, the next step is normally to review:
• The Experts log
• The Journal log
• The EA’s input settings
• The required symbol and timeframe
• The EA’s trading schedule
• Spread and volatility filters
• Position and order limits
• Historical-data requirements
• The EA’s own documentation
• The actual market conditions required by the strategy
Sometimes no trade is the correct result.
A selective EA may remain inactive because its setup is simply not present.
A Practical First Filter
Ninja MT5 Doctor is intended to answer a limited but useful question:
Does the current snapshot show an MT5-side warning or blocker that should be reviewed before changing the EA strategy?
It does not claim to identify every possible cause.
It does not predict the next trade.
It does not evaluate profitability.
Its purpose is to make the first stage of EA troubleshooting more structured, repeatable and easier to document.
Risk Notice
This utility and article are provided for technical and informational purposes.
A Doctor diagnostic state is not investment advice, a trading signal or a guarantee of EA performance.
Test software and configuration changes on a demo account before using them on a live account.
Ninja MT5 Doctor is available free on the MQL5 Market:
https://www.mql5.com/en/market/product/190553


