Home / Blog / MQL4 decompiling from EX4 to MQ4

MQL4 decompiling from EX4 to MQ4

Padlock labelled EX4 with a key labelled MQ4 inserted into the keyhole, illustrating the MQL4 decompiling relationship between compiled and source formats

MQL4 is a powerful programming language used for creating custom indicators, expert advisors, and scripts in the MetaTrader 4 platform. While the executable files are all that’s necessary to use an EA or indicator, traders may want to access the original source code in MQ4 format for various reasons. That’s where decompiling comes in. In this article, we’ll explore the process of decompiling an EX4 file to MQ4 format, when to use decompiling, and some tips for using decompiling tools responsibly and ethically.

Important Notice

This article is for informative purposes only and does not endorse the decompilation of files or offer decompilation services. Decompilation can violate MetaQuotes Software Corp’s intellectual property and copyright laws. We advise readers to refrain from contacting us for any decompilation services or related requests.

What is Decompiling?

Decompiling is the process of converting a compiled binary file, like an EX4 file, back into its original source code. The resulting code may not be perfect, but it can still be useful for gaining insights into how a particular indicator or expert advisor works.

MQL4 and EX4/MQ4 Formats

MQL4 is a programming language used for creating custom indicators, expert advisors, and scripts in the MetaTrader 4 platform. MQL4 code is compiled into EX4 format, which is the machine-readable format that is executed by the MetaTrader 4 platform. There are two file formats in MetaTrader 4: ‘.ex4’ for the executable files and ‘.mq4’ for the source code. The MT4 platform only uses the executable files, so only these files are necessary to use an EA, an indicator, or any other MT4 program. The source code is only used by a programmer to make corrections, adjustments, modifications, or improvements in the MT4 program.

Flow diagram showing MQ4 source code compiled to EX4 executable, with a partial decompile arrow returning to a recovered MQ4 file, indicating the decompilation output is incomplete

When to Use Decompiling

Traders may want to decompile an EX4 file into MQ4 format for various reasons, such as modifying the code or understanding how a particular expert advisor or indicator works. Common reasons include:

  • Modifying, correcting, or improving an MT4 program where the original developer is unavailable
  • Recovering lost source code when only the compiled EX4 exists
  • Learning MQL4 programming by studying how existing EAs are structured
  • Converting an MT4 program to MT5 when starting from scratch is impractical

Using a Decompiler Tool

To decompile an EX4 file to MQ4 format, traders need to use a decompiler tool. There are several decompiling tools available online, but it’s important to choose a reliable and trustworthy one to ensure the safety of your computer and the quality of the resulting code, and to be realistic about output quality — in our experience working with hundreds of MT4 EAs, decompiled MQ4 code typically requires significant cleanup before it’s workable, and complex logic (nested switches, global variable state machines) often decompiles poorly. However, it’s important to note that decompiling can violate MetaQuotes Software Corp‘s copyrighted works and intellectual property, so it’s important to use decompiling tools for legal and ethical purposes only.

Additional Tips

Traders don’t need the source code (mq4 file) to build an MT4 Expert Advisor (EA) based on an indicator. In fact, an MT4 EA only uses the compiled file (ex4 extension). Additionally, a skilled MT4 programmer can develop a new indicator that gets the signals from the original indicator and sends alerts and notifications whenever a signal is triggered, even without the mq4 file.

What About MQL5 and EX5 Files?

With MetaTrader 5 now the dominant platform for new EA development, the equivalent question arises for MQL5: can EX5 files be decompiled back to MQ5 source code?

The short answer: significantly harder than MQL4. EX5 files use a more sophisticated compilation architecture, and MetaQuotes has progressively hardened the format against reverse engineering in recent versions. While experimental decompiler tools exist for EX5, the output quality is considerably worse than for EX4 — in most cases, what emerges is difficult to interpret and requires substantial manual reconstruction.

Side-by-side comparison of EX4 and EX5 decompilation: EX4 has available tools with partial output quality, while EX5 decompilation is limited and produces mostly unusable code

For practical purposes, if you’re working with an MT5 EA and have lost the source code, the realistic options are:

  • Contact the original developer for a re-delivery or migration
  • Commission a rebuild from scratch, starting from the compiled EA’s observed behaviour
  • Use signal-based wrapping — writing a new EA that reads signals from the existing compiled EA rather than modifying its internals

If you’re developing new EAs for MT5, protecting your EX5 source code from the start is more straightforward than trying to recover it after the fact.

Can You Protect Your Own MQL Code from Decompiling?

A significant portion of readers arrive at this page with the opposite concern: not how to decompile others’ code, but how to prevent their own EX4 or EX5 files from being decompiled.

This is a legitimate technical concern. Standard EX4 compilation does not prevent reverse engineering — a motivated party with the right tools can extract meaningful code structure, logic flow, and parameter ranges from a compiled file. For developers who sell or distribute EAs commercially, this represents a real IP exposure.

Several approaches address this:

  • Code obfuscation: Renaming variables and restructuring logic before compilation. Reduces readability of decompiled output, but adds no encryption.
  • Dedicated licensing tools: LicenseShield ties each licence to a trading account (broker and account number), not to a computer: your EA checks in with the licence server when it starts on a chart and at regular intervals while it runs, and any account you disable from your dashboard stops at its next check. It controls who may use the EA; it does not encrypt the EX4 or prevent it from being decompiled.

For developers managing multiple client installations — or selling EAs commercially — our MetaTrader license management service provides the complete distribution and key management infrastructure.

Final Thoughts

Decompiling an EX4 file into MQ4 format can be a useful tool for traders who want to modify or understand the inner workings of a particular expert advisor or indicator. However, traders should use decompiling tools for legal and ethical purposes only, and they should be aware that decompiling may not always produce perfect or readable code. It’s also important to have a good understanding of programming principles to be able to make sense of the decompiled code. By using decompiling tools responsibly and with caution, traders can gain valuable insights into their MT4 programs and improve their trading strategies.

If decompiling concerns you because you’re worried about your own EX4 files being reverse-engineered — the answer is EA protection, not decompiling others. LicenseShield adds account-based licence verification to your MQL4/MQL5 programs with a few lines of code: each new trading account that runs your EA or indicator appears in your dashboard automatically, on a trial by default, you activate or disable each one remotely, and you distribute only compiled EX4/EX5 files, never your source code. For client projects or commercial EAs, our MetaTrader license management service handles multi-client distribution and key management. Both approaches address the real concern beneath most decompiling questions: keeping your trading tools under your control.

For a deeper look at source code vulnerabilities, read: How to protect your MT4/MT5 EA from piracy.

20 responses to “MQL4 decompiling from EX4 to MQ4”

  1. Bhavesh Dodiya

    I have MT4 indicator ex4 file to mq4 decompiler file with original source code

  2. Davon Wagner

    Hi i Need an indicator decompiled, please note the indicator is not mine however there are a couple of errors within the code when alerts come on, it signifies the incorrect divergence, i cant find the mql4 file anywhere online and therefore need your assistance if possible.

    Please let me know if its possible.

    1. Hi man
      I cam help you with this
      You can contact me at Decompiler_dev on telegram

      1. Hi, I have an ex4 file thats needing decompiled please. Im happy to pay.

        I’ve joined your Telegram channel

      2. Hello
        I need help
        Decompile a file for me if possible
        thank you

  3. Sitali Sinamuwi

    Hello, am glad to have found this website I ll appreciate it if you could assist me to decompile an Mt4 executable file, as I was made to pay for a service I never got, if anything having the source code would be of much help.

  4. I want to convert the EX4 file to an editable MQ4 file and I don’t have the source code. Guide me on how can I convert without a source file.

  5. Tina Baneries

    We can’t forget that Metatrader can decompile even the files compiled from the Cloud Protector because they have the keys. So, in case someone produce something really interesting Metatrader can always know how it was done.
    My opinion is that developers should use their own website to sell worthwhile products and not lodge products with Metatrader. This will also allow the use of .dll and customized protection.

    1. are yoy able de decrypt the prodected source code of a mql5 EA ?? to crack it
      [email protected]
      contact me if you are able

  6. Katlego Thomas

    Can you make a repainting indicator not to repaint anymore

    1. Sorry but that’s not possible. Regards

  7. Dunu kenechukwu

    Hi thnks for the idea
    I have a custom indicator I which to build an EA with ,but it’s an Ex4 file
    Pls what do I do?

    1. Hi. You can build an EA based on the indicator no matter if it’s only an ex4 file. At least we can do it. You can send us your request using the form here. Best regards

  8. Hi,
    decompiling to me is of interest because in case we bought a product, as we don’t have the source code, we are not protected against the possibility of the software not to work anymore in the (sometimes near) future. That is very annoying and stress favoring. When we are satisfied by a product we want us to be able to continue using it. Because of MT4 and other evolutions, some programs can cease to work suddenly. In addition, we may want to correct or modify a bought program, and the source code is needed in this case. In any of these uses, the intention is to properly speaking “appropiate” the work done by others. I have never used a decompiling service but if I had a software able to ecomplie ex4 into mq4, I would definitly use it. In order to have the source code if needed one day (be in peace), or to correct programs I have used (creative process).

    1. Hi Samuel. Thanks for your interesting comment. Regards

      1. Massimiliano Papera

        I totally agree

    2. I agree

  9. Please, send us an email to [email protected]

    1. I will,
      Because i have some question and i need some help

  10. Some EA required that PC and EA shoul be switched on with internet connection during trading hour; If i’m using VPS Do i need to swithced my pc on with internet connection before EA will be taking trade? OR the EA will be taking trade for me even if i’m off line through the help of VPS
    Please, send reply to my e-mail address.
    Thanks

Leave a Reply

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

Get a free quote

Fixed price within 24–48 hours. No subscriptions, no demos.