Your MT4 expert advisor isn’t working? Read through our checklist to help diagnose the problem. I want to get back to trading asap.
Dumb things you might not have considered (seriously)
Everyone gets annoyed when you call the cable company to complain that the cable isn’t working. What’s the first question that they ask?
Is your TV plugged in?
They ask that for a reason – people really do make those kinds of mistakes, so don’t feel frustrated that I’m pointing out potentially dumb mistakes.
Do you have MetaTrader 4 open and installed?
You must have MetaTrader 4 running in order to use an expert advisor. EAs cannot run with MT4 or the computer turned off.
Are you logged into your account?
If you don’t see a split red/green logo like the image below, it’s because you are not logged in to your account. It goes without saying that the internet is a prerequisite to trading online.
If you know that you’re entering the account information correctly, the next logical step is to test your internet. Are you able to open Google or another major web site in your browser?
Do you have money in your account?
You can’t trade if there isn’t any money in the account. Make a deposit in order to allow actual trading.
If your account looks like this one… that’s bad.
Have you enabled AutoTrading?
You need to push the AutoTrading button so that it appears with a small green arrow.
Do you see a smiley face on the chart?
If your EA shows a sad face like you see in the upper right corner of the image, it’s because EA trading is disabled
The smiley face is the proof that your expert advisor is allowed to place trades for you. If you see a sad face (as in the image above), then do one of the following
- Check that AutoTrading is enabled (see the prior problem)
- Right click on the chart. Choose Expert Advisors, then Properties. Right click on “Common” tab. Make sure the checkbox next to “Allow live trading” is checked.
Check allow live trading to allow the EA to place trades.
Things that go wrong
Almost all of the items listed below will appear in the Journal tab if they occur. It’s the first place you should go if you’re still experiencing problems.
Do you see any error messages in the Journal? This is the first spot to visit if you’re still trying to find the problem.
Your trades cannot enter
There are oh-so-many reasons why a trade cannot enter. You’re trying to buy at the sell price. Your pending order is too close to the market. There is not enough liquidity and the broker is unable to fill your order… or your broker is requoting you and refusing to accept your orders. If requotes are happening to you, then you really ought to switch brokers.
Check the journal tab to figure out the reason.
The brokers slippage is larger than the amount slippage you specified for the order
Most EAs contain an input for Slippage. If you specify a small amount and the broker is unable to fill your order at the requested price, then your trade will be rejected. You’ll know this from checking the Journal.
Context is busy
This is an error common to many EAs. If you’re trading both the EURUSD and GBPUSD and they generate signals at the same time, then one signal must wait.
MT4 does not allow sending multiple orders at the same time. In this scenario, the EA has to send the EURUSD order, wait for the broker to accept it and get the confirmation. Then and only then can it request to place the GBPUSD trade. Talk to a MetaTrader programmer if you’re experiencing this issue.
The price of your pending order is too close to the current market.
Solution: place it further away or get a new broker. You shouldn’t put up with restrictions on your trading.
A compile error has prevented MT4 from generating an executable file
This will prevent the EA from loading onto the chart. You’ll see a note in the Journal saying the EA was removed and it will give an uninitialization reason.
I can’t use MT4 while the EA runs
Then the EA contains an infinite loop. You need to have this removed from your MQL4 source code before you’ll be able to use the expert advisor and MT4 at the same time.
A buy trade won’t enter while I have an open sell trade. Or… a sell trade won’t enter while I have an open buy trade
Your broker is more than likely in the US. You are trying to hedge, which means having an open buy trade and an open sell trade at the same time on the same currency pair. This is illegal in the US, so MetaTrader does not allow it.
My EA says something about a missing file
Some EAs, especially ones that you buy on the internet, require special files in order to run properly. Even one missing file will cause the EA to malfunction. These can include files, library/dll files, or a custom indicator. Missing also means that the file(s) is not located in the correct folder.
You haven’t enabled DLL permission
Check your DLL permission if you see this error. Right click on the chart. Choose expert advisors, then choose Properties. Click on the Common tab. Make sure you have a check next to “All DLL imports”.
You switched accounts or profiles
MetaTrader disables automated trading when you switch accounts or profiles. Click the big button at the top of your MetaTrader platform that says “AutoTrading”.
Your broker’s server is down
This should strike fear into the heart’s of every online forex trader. While most brokers have 99.99999% uptimes, it does rarely happen where a server goes down. If your internet is working and everything works except MetaTrader, then it’s time to call your broker’s customer service number.