MetaTrader supports programs that analyse data, automate repeated tasks and, in some cases, send trading instructions. The label “automated” can hide several dependencies. A robust workflow identifies the program type, source code or vendor, permissions, account, platform version and monitoring plan before it is enabled.
Program types in MetaTrader
Expert Advisors
An Expert Advisor, or EA, is attached to the trading environment and can respond to events such as new price data. Depending on its code and permissions, it can analyse conditions, create alerts, send orders or manage positions. Its behaviour is limited to the rules implemented—not the intention the user believed was implemented.
Indicators and scripts
A custom indicator calculates and displays analytical information and does not automatically trade by itself. A script is generally designed to perform one action when launched. Libraries and services can support other programs. Correctly identifying the type matters when reviewing permissions and expected lifetime.
MQL4 and MQL5 are separate
MT4 uses MQL4 and MT5 uses MQL5. The languages share concepts but differ in program structure, trading functions, position and order models, events and testing capabilities. Copying an MQL4 file into an MT5 folder does not convert it.
A migration should begin with functional requirements and code review, then compile in the target environment and test again. Account credentials, open positions, settings and chart templates also do not move automatically. See MT4 vs MT5 for the broader platform transition.
Permissions and deployment
Auto-trading controls can exist at terminal, program and account levels. An EA may appear on a chart while trade permissions are disabled, or permissions may be enabled for a program with unintended settings. Confirm the exact symbol, timeframe, input values, maximum position logic and external dependencies.
Treat third-party code as software with access to a financial workflow. Verify its origin, licence, update process and requested integrations. Never disclose account credentials or recovery information to install a tool.
Testing before live use
Compile warnings, logic errors and missing data can all change behaviour. Use controlled tests, multiple periods and realistic costs. Inspect individual trades rather than relying only on an aggregate result. Backtesting Limitations and Strategy Tester Risk explains why a favourable simulation is not a forecast.
Demo or forward observation can reveal timing, order-state and operational issues that a historical run may miss. It still cannot reproduce every live condition.
Live monitoring and failure modes
An EA may stop or behave differently because of a platform restart, lost connection, changed symbol specification, unavailable data, permission change, code exception, full disk, computer sleep or server rejection. Conversely, closing a chart or terminal should not be assumed to cancel existing server-side orders or positions.
Monitor the Experts and Journal messages, account state, open orders, positions and resource status. Define a manual stop procedure that distinguishes disabling new instructions from closing existing exposure. Read Platform Connectivity and Operational Trading Risk for the system boundary.
An automation governance checklist
- Document purpose, owner, version and source.
- Review code or independent evidence of behaviour.
- Record account, symbol, timeframe and input settings.
- Test with realistic data, costs and adverse cases.
- Set position, loss and exposure controls outside signal logic.
- Confirm permissions immediately before activation.
- Monitor logs and server-confirmed account state.
- Keep a tested disable-and-recovery procedure.
- Reapprove every material code or platform change.
No EA removes leverage, execution or market risk. Automation can make a process faster and more consistent, including when the underlying rule is wrong.

