Improved Folder Structure of the MetaTrader 4 Build 600+

mt4 build 604

You probably already know about the new file and folder structure that the new Metatrader 4 Build 604 is using. I have heard a lot of opinions about this new structure and most of them are negative, but personally I kind of like it. Now it is much clearer where MT4 stores the files and which files go where. Because of this the Install Forex auto-installer app does not work, which is used to install most of the trading software available on my site, and I had to update it quickly. Now it is fixed, but it will still take some time for me to implement this update into all of my apps. Recently I have updated Local Trade Copier and soon will update other apps as well.

Previously, to install an Expert Advisor, you had to copy the EA file to the \MT4-folder\experts\. And if you wanted to install an indicator you had to copy it to the \MT4-folder\experts\indicators\.

People usually had two challenges with this. First was that they did not know how to find the \MT4-folder\. But now, the new MT4 simply gives you the menu option to open that folder and MetaQuotes calls it the “Terminal Data Folder“. You can open it easily from any new MT4 by going to “File -> Open Data Folder“.

The second challenge was the confusing part about how the indicator files go to the \experts\ folder as well as the Expert Advisors, but the actual indicators should be located under the sub-folder “indicators”.

Old mt4 build 509 experts folder

For me it is clear, but only because I learned this years ago. For new MT4 users, this was truly a confusing process. And how about the “scripts” and all the other sub-folders?  They all were under the \experts\ folder also, although those files were not Expert Advisors.

Now, the new MT4 simply creates a separate folder for each of those files and puts all of these sub-folders under the MQL4 folder. This new folder can easily be found in the Terminal Data Folder.

I am sure all of you have Expert Advisors or indicators that you need to install to the new MT4 platform. This is where you will need to install them.

Let’s go to the File -> Open Data Folder and MT4 will open a window which is called Terminal Data Folder. Make sure to remember this name because we will be using it a lot.

Open data folder menu item mt4 build 604

In the Terminal Data Folder you will find the MQL4 folder and this is the one you will be using the most. Anytime you need to analyze log files or install new Expert Advisors, Indicators or other files into your MT4, you will do this in the MQL4 folder.

Hopefully this helps you to understand what file goes where. Folder names are self explanatory.

  • Expert Advisors go into the “Experts” folder,
  • Indicators go into the “Indicators” folder,
  • Scripts go into the “Scripts” folder,
  • Libraries such as DLL files go into the “Libraries” folder.

 

MQL4 contents explained terminal data folder mt4 build 604

If you ever need to analyze log files or send them to the programmer, you will find them here as well. For example I might need these log files to investigate a problem with the software. Without these files sometimes it is close to impossible to solve a problem or even to understand what caused that problem in the first place.

The same messages that are stored in these log files are located in the “Experts” tab of each MT4 terminal window and this is where you can easily find any error or warning messages that may help you solve the problem by yourself. For example if it says something like “not enough money” or “invalid trade volume”, obviously you need to change your lot size to some smaller value as your broker might have a maximum lot size limit. Read more about the Expert Advisor error message codes on chart that my apps may create for your convenience.

Invalid trade volume error on mt4 build 604

Now do not confuse this logs folder inside MQL4 with the one that is located one level above. When you just open Terminal Data Folder you will see the logs folder, but that is not the one that holds the messages which can help to solve a problem with Expert Advisors. Log files stored in \Terminal Data Folder\logs\ does not contain messages from Expert Advisors that can be used for investigation of a problem. Those are the messages from the “Journal” tab. Be sure that you analyze the files from the “Logs” folder inside the MQL4.

Journal logs folder inside terminal data folder mt4 build 604

It is also important to know that the old \MT4-folder\experts\ folder is no longer used and the new MT4 will keep it for your reference—If it was there during the update (but it is not using it anymore). When MT4 updates to the new version, all files from this old folder will be moved to the new MQL4 folder inside the Terminal Data Folder that I was talking about a moment ago.

MT4 build 604 keeps old experts folder with old files for user convenience

Hope this will was useful for you.

Do you still find this new folder structure confusing? When you learn it, suddenly it does not seem so difficult to use.

About the author

Rimantas Petrauskas

First I am a father, a husband and then the author of the book “How to Start Your Own Forex Signals Service”. I am also a Forex trader, a programmer, an entrepreneur, and the founder of ea-coder.com Forex blog. I have created two of the most popular trade copiers and other trading tools for MT4 that are already used world wide by hundreds of currency traders.

8 Comments

Leave a comment
  • Hi Rimantas,

    I also like the new MT4 file structure but unfortunately it caused problems to some of my EAs that use ‘ #import “.dll” ‘ to call functions from external libraries. Even though I have confirmed the DLLs were moved to new ‘Libraries’ folder under MQL4, when I try to recompile my EAs they produce multiple errors on the external functions:

    ” – function must have a body

    Do you have an idea how to fix it?

    Thanks,
    Al

    • Al, yes, it did cause problems for many programmers. Some of my apps do not work well too. Last few weeks are truly challenge as I had to change plans on most of my projects and update all apps.
      As about the error you get it is very strange, never saw that one before, but maybe because I do not use the new Meta Editor yet.
      To make updates faster I still use the old Meta Editor.
      Later, when all will be working fine I will convert my apps to the new MQ4 syntax.

      The new MQL4 was updated to be close to the MQL5, so you may want to check this page.
      http://www.mql5.com/en/docs

      Regards,
      Rimantas Petrauskas

      • Thanks for your reply Rimantas. Yes, I did the same thing and simply recompiled those EAs in old MetaEditor (that’s when all those backups were finally useful). When I have more time I’ll try to figure how to fix those dll calls. Will update here if I find something. So far there is no hits on this error anywhere on world wide web.

        Please keep up the great work. You have outstanding set of EAs and services.

        • Al, I use DLL’s myself too, but they are working fine for me. Maybe you should look in the way you pass the “String” values between DLL and EA. One of the changes in MQL4 language was:
          “Strings are now presented in Unicode format, though they were in ANSI format (single byte ones) before. That should be considered if the program uses DLLs and passes string variables to them. When calling Windows API functions, Unicode versions of these functions should be used. ” – Taken from http://forum.mql4.com/60555

          Good luck.

  • You’re right Rimantas! Much easier than the old system. Thanks very much for such a clear and succinct explanation. I agree with you, in this respect the new version is an improvement.

  • We also had some problems with a robot that we were using. It had to go back to the programmer for some important changes. And the changes didn’t work in build 600, only with build 604. Hopefully metaquotes won’t need to do another large update like this again for some time! 😉

    • John, glad you have it solved now. Yes, this update really changed a lot and made many programmers go crazy. Such major update really made programmers worry.

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Copyright © 2009-2018. Rimantas Petrauskas | Terms and ConditionsPrivacy PolicyEarnings Disclaimer
Trading foreign exchange on margin carries a high level of risk, and may not be suitable for all investors. The high degree of leverage can work against you as well as for you. Before deciding to invest in foreign exchange you should carefully consider your investment objectives, level of experience, and risk appetite. The possibility exists that you could sustain a loss of some or all of your initial investment and therefore you should not invest money that you cannot afford to lose. You should be aware of all the risks associated with foreign exchange trading, and seek advice from an independent financial advisor if you have any doubts.
The purchase, sale or advice regarding a currency can only be performed by a licensed Broker/Dealer. Neither us, nor our affiliates or associates involved in the production and maintenance of these products or this site, is a registered Broker/Dealer or Investment Advisor in any State or Federally-sanctioned jurisdiction. All purchasers of products referenced at this site are encouraged to consult with a licensed representative of their choice regarding any particular trade or trading strategy. No representation is being made that any account will or is likely to achieve profits or losses similar to those discussed on this website. The past performance of any trading system or methodology is not necessarily indicative of future results.
Clearly understand this: Information contained in this product are not an invitation to trade any specific investments. Trading requires risking money in pursuit of future gain. That is your decision. Do not risk any money you cannot afford to lose. This document does not take into account your own individual financial and personal circumstances. It is intended for educational purposes only and NOT as individual investment advice. Do not act on this without advice from your investment professional, who will verify what is suitable for your particular needs & circumstances. Failure to seek detailed professional personally tailored advice prior to acting could lead to you acting contrary to your own best interests & could lead to losses of capital.
HYPOTHETICAL OR SIMULATED PERFORMANCE RESULTS HAVE CERTAIN LIMITATIONS. UNLIKE AN ACTUAL PERFORMANCE RECORD, SIMULATED RESULTS DO NOT REPRESENT ACTUAL TRADING. ALSO, SINCE THE TRADES HAVE NOT BEEN EXECUTED, THE RESULTS MAY HAVE UNDER-OR-OVER COMPENSATED FOR THE IMPACT, IF ANY, OF CERTAIN MARKET FACTORS, SUCH AS LACK OF LIQUIDITY. SIMULATED TRADING PROGRAMS IN GENERAL ARE ALSO SUBJECT TO THE FACT THAT THEY ARE DESIGNED WITH THE BENEFIT OF HINDSIGHT. NO REPRESENTATION IS BEING MADE THAT ANY ACCOUNT WILL OR IS LIKELY TO ACHIEVE PROFIT OR LOSSES SIMILAR TO THOSE SHOWN.

Copyright © 2009-2018. Rimantas Petrauskas | Terms and ConditionsPrivacy PolicyEarnings Disclaimer
WordPress Security