If you search “mt4 ea not working on vps”, start with the terminal settings before assuming the VPS or the EA is broken. Most failures come from a disabled trading permission, the wrong login, a missing dependency, a restart, or an EA that is correctly waiting for its rules.
What you need before troubleshooting
Keep these details in front of you:
- The broker name, account number, account type, and exact server name.
- The chart symbol and timeframe where the EA is attached.
- The EA file and any
.set, indicator, or DLL files it requires. - The approximate failure time, VPS time zone, and recent Experts and Journal messages. Do not share credentials.
Use a demo account while testing changes. A working EA can still lose money, and a VPS cannot make a trading strategy profitable.
Step 1: Turn on AutoTrading and check the smiley face
Why: MT4 has both a platform-wide switch and an EA-level permission. Either one can stop an EA from sending orders.
In the MT4 terminal on the VPS, click AutoTrading on the toolbar so it is enabled. Then open the chart, look at the top-right corner, and confirm that the EA is attached with a smiling status icon. Right-click the chart, choose Expert Advisors > Properties, open Common, and tick Allow live trading.
If the toolbar switch turns off again, check it after restarting MT4.
Success looks like: AutoTrading is enabled, the EA name and smiley are visible on the chart, and new entries appear in the Experts tab when the EA initializes.
Step 2: Allow DLL imports and WebRequest only when required
Why: Some EAs use an external DLL or call a remote service. MT4 blocks these capabilities unless you explicitly allow them.
Go to Tools > Options > Expert Advisors. Enable Allow DLL imports only if the EA developer says the EA needs a DLL you trust. If the EA uses WebRequest(), enable Allow WebRequest for listed URL and add the exact trusted URL required by the EA. Do not enable every URL as a guess.
Open the EA properties again and check its Common tab for any per-EA DLL permission. Reattach the EA after saving. The official MT4 setup documentation notes that WebRequest URLs must be listed manually and DLL imports are disabled by default.
Success looks like: the Experts tab no longer reports a blocked DLL or WebRequest call, and the EA initializes without a missing-library message.
Step 3: Confirm the EA, chart, symbol, and timeframe
Why: An EA can be running normally while being attached to the wrong market or timeframe.
Check that the file is an MT4 EA, normally an .ex4 or .mq4 file, rather than an MT5 .ex5 or .mq5 file. In Navigator > Expert Advisors, right-click and refresh if it is missing. Drag it onto the intended chart and confirm its inputs.
Verify the broker’s symbol name. A suffix such as EURUSDm or EURUSD.a can prevent an EA expecting EURUSD from finding the market. Also check the timeframe: an EA designed for M15 will not necessarily act on H1.
Success looks like: the chart shows the intended symbol and timeframe, the EA name is visible, and its inputs match the setup that worked on your previous computer.
Step 4: Log in with the correct account and server
Why: A VPS copy of MT4 can be connected to a demo account, a different broker server, or an investor login even when the terminal looks open.
Open Navigator > Accounts and confirm the account number and server. Use the broker’s master or trading password, not the investor password. Investor access can view the account and run analysis but cannot trade or run automated trading.
If the account shows a connection error, select the correct server from File > Login to Trade Account and reconnect. Check the connection indicator and confirm that prices move in Market Watch. A terminal without current quotes cannot execute a live order.
Success looks like: the VPS terminal is connected to the intended account and server with the trading password, and live quotes update normally.
Step 5: Keep the terminal running after an RDP disconnect
Why: Closing MT4, signing out of Windows, or ending the process stops the EA. Disconnecting your Remote Desktop window is different from closing the terminal, but verify the process before leaving.
Leave MT4 open with the EA attached. Disconnect the RDP session instead of selecting Sign out or closing the terminal. Reconnect later and confirm the chart, smiley face, and account connection.
Success looks like: reconnecting to the VPS shows the same MT4 instance, open charts, account login, and attached EA.
Step 6: Check for a Windows Update restart
Why: A Windows restart can leave MT4 closed, logged out, or waiting at the desktop. Active hours reduce inconvenient update restarts, but you still need to check the terminal.
In Settings > Windows Update, review recent update activity and set active hours around the times you normally manage the VPS. This reduces the chance of an inconvenient restart during your normal management window.
After a restart, open MT4 and verify the account, AutoTrading, EA chart, and Experts log. If the EA does not return to its chart, reattach it after confirming the correct setup.
Success looks like: the terminal is open after a restart, the trading account is connected, and the EA is attached with its permissions intact.
Step 7: Check broker time, market hours, and the Windows clock
Why: Many EAs contain trading-hour, news, spread, or day-of-week filters. A time-zone mismatch can make a valid strategy appear inactive.
Compare broker server time with the EA’s trading window. Do not assume the VPS and broker clocks use the same time zone. If the EA uses local Windows time, make sure the date, time zone, and synchronization are correct.
Check whether the market is open for the symbol. During a weekend, holiday, symbol pause, or broker session break, a quiet EA may be behaving correctly. If price bars are not arriving, no new tick can trigger it.
Success looks like: the symbol is receiving fresh ticks, the market is within the EA’s allowed session, and the VPS clock is accurate for any local-time rule.
Step 8: Read Experts and Journal instead of guessing
Why: MT4 records whether the EA loaded, was blocked, lost its connection, or had an order rejected.
Open the bottom Terminal panel and review Experts and Journal from the time the problem began. Copy the exact message. Typical findings include:
| Message pattern | What to check next |
|---|---|
| AutoTrading or live trading disabled | Steps 1 and 2, including the EA’s Common tab |
| DLL or WebRequest blocked | Step 2 and the EA developer’s required dependencies |
| Not enough money, invalid volume, or stops are invalid | Account balance, lot size, minimum volume, and stop-distance rules |
| No connection or no prices | Account server, Market Watch, broker connection, and Step 7 |
| No message after startup | Correct chart attachment, correct terminal instance, and whether ticks are arriving |
The MT4 Experts tab documentation explains that this area contains EA operation messages and saved logs. Share only the error text when asking for help.
Success looks like: you can identify whether the failure is a permission, connection, account, order-validation, or strategy-condition problem.
Step 9: Rule out an EA that is waiting by design
Why: “No trade” does not always mean “not working.” An EA may be initialized and waiting for its entry conditions.
Check inputs for spread, trading hours, news filters, maximum daily loss, open trades, one-trade-per-bar rules, and symbol restrictions. Confirm free margin and valid lot size. A strategy can correctly remain flat when its conditions are not true.
If it reports initialization and continues receiving ticks without an error, avoid changing random permissions. Test the same inputs on a demo account or in the Strategy Tester, then ask the EA vendor about its signal conditions.
Success looks like: you know whether the EA is idle because its rules are not met or because an actual terminal, account, or VPS problem remains.
Verify the fix in a controlled order
After each change, wait for a new tick and check the Experts log:
- The correct account and broker server are connected.
- Market Watch is receiving live prices for the intended symbol.
- AutoTrading is enabled and the chart shows the EA with a smiley face.
- The EA’s live-trading permission and only its required DLL/WebRequest permissions are enabled.
- The VPS clock, broker session, chart timeframe, and EA filters are correct.
- The Experts and Journal tabs show initialization without a new error.
For the complete setup, see MT4 VPS: Move Your EA and Run It 24/7. For sizing, see MT4 and MT5 VPS requirements.
Troubleshooting
- No smiley or no EA messages: confirm the correct chart and terminal instance, then repeat Steps 1–3.
- Connection or login errors: recheck the broker server and trading password in Step 4.
- A new error after a restart: review Windows Update history, reopen MT4, and read the latest Journal entry.
FAQ
Why is my MT4 EA not trading on a VPS but it works on my PC?
The VPS terminal may use a different account, server, chart symbol, timeframe, or EA permissions. Compare the VPS Experts and Journal tabs with the working PC, then check AutoTrading, live trading, DLL/WebRequest requirements, and the broker’s symbol suffix.
Why does my MT4 EA show a sad face?
A sad face normally means the EA is attached but automated or live trading is not permitted. Turn on AutoTrading, open the EA’s Common settings, enable Allow live trading, and check the Experts tab for the exact reason.
Can an MT4 EA run after I disconnect from Remote Desktop?
Yes, provided the VPS stays on, MT4 remains open, the account remains connected, and the EA stays attached. Disconnect RDP rather than signing out or closing the terminal, then reconnect to verify the chart and logs.
Why did my EA stop after a VPS restart?
The restart may have closed MT4, changed its login state, or left AutoTrading disabled. Reopen the correct terminal, check the account and chart, review Windows Update history, and confirm the EA before leaving the VPS.
How do I know whether the EA is broken or simply waiting?
Look for initialization and tick-related messages in Experts, confirm that live prices are moving, and inspect the EA’s trading-hour, spread, news, and risk filters. If the log is clean and the entry conditions are not met, the EA may be working as configured.
DONE mt4-ea-not-working-vps words=1792