You are searching about 3 What Is The Difference Between High-Level And Low-Level Languages, today we will share with you article about 3 What Is The Difference Between High-Level And Low-Level Languages was compiled and edited by our team from many sources on the internet. Hope this article on the topic 3 What Is The Difference Between High-Level And Low-Level Languages is useful to you.
Page Contents
Metatrader – Protection From MQL Decompiling
A bit of theory.
Expert tips, indicators and scripts for the Metatrader system are created with the built-in MQL language. Then, the MQ4 source text code is compiled into EX4 executable binary code. The file with the EX4 extension contains program logic that is understood only by the Metatrader interpreter. We see nothing with an ordinary text editor. This is convenient in case a programmer or trader provides his program for use, but does not want the user to know the details of the sales strategy.
A problem.
Unfortunately, there are methods of decompiling EX4 files back to MQ4 that allow you to see the logic of the program. This is a big problem for those who want to keep the details of their business strategy confidential.
Decompiling makes it useless to create a business that is based on the sale of expert advisors or provides for use. Existing businesses are suffering huge losses.
The solution methods.
There is an opinion that a good MQL programmer can write the program in a way that makes it impossible to decompile. For example, using the license system. Well, unfortunately that is not the case. The strategy cannot be protected only through MQL.
We see several methods of protection of sales strategies. We will compare them and discover their pros and cons.
1. Pure MQL
As we have already said, this method does not provide protection because an EX4 file can be easily decompiled. However, with the cons, MQL programming has its advantages that will be examined in comparison with other methods.
Pros: simple structured language that is understandable by traders and not only by specialists. Lower cost level compared to other methods.
Cons: easily decompiled.
Special functions: applicable for personal use or for refining the logic of strategies.
2. DLL
The MQL language has a very useful special feature. It allows programs to link with libraries (DLLs) written in other programming languages. First of all, it essentially expands the possibilities and secondly, it allows you to transform the MQL logic into the library which makes decompiling an EX4 file unnecessary.
DLL can also be decompiled but it is not easy and requires specific knowledge. When it is decompiled, the DLL code is translated into Assembler machine language (ASM). This procedure is called disassembly. The level of payment of ASM specialists is very high, so such expenses are not reasonable to hack most projects.
In addition, a project consists of two minimum parts: MQL + DLL, which makes the work of hacking even more complicated, since it requires the teamwork of two specialists.
Pros: a fairly high level of protection, unlimited ability to expand the possibilities of the MQL language.
Cons: higher development cost compared to an MQL project. Library installation is required.
Special features: applicable for projects of medium cost and popularity.
3. WEB online
This method involves moving the business logic to the WEB server. The user’s computer has only the executive interface, without the decision module.
MQL, DLL and WEB are used in this architecture. MQL generates a request, DLL sends it to the WEB server, and the server generates and sends a response that enters MQL through DLL. MQL manages the order based on the response.
There are simpler variants, when MQL only listens/monitors responses from the WEB server.
Pros: The highest protection. Possibility of remote updates. The possibility of remote control on access to the project.
Cons: Delays may occur during data synchronization. High development cost.
Special features: Applicable for major or popular projects.
Comparisons.
The comparison was made by the specialists of the company AirBionicFX. The explanation of the results and the comparison criteria are given below each scheme.
By level of protection
The minimum is 0, the maximum is 10. The more, the better.
MQL – 1
DLL – 6
WEB – 9
MQL has minimal protection against hacking, but 1 point is scored considering that not all users know about decompiling and not all knowing that would be ready to use this method.
DLL has a medium level of protection.
WEB has an almost maximum level of protection. A point is not scored because there is a chance of hacking the WEB server that stores the strategy logic. Such probability is very low and even if it happens, then a specialist is needed to decompile the binary code and then synchronize the logic with the MQL.
The following factors were taken into account when estimating the level of protection:
User statistics
Video about 3 What Is The Difference Between High-Level And Low-Level Languages
You can see more content about 3 What Is The Difference Between High-Level And Low-Level Languages on our youtube channel: Click Here
Question about 3 What Is The Difference Between High-Level And Low-Level Languages
If you have any questions about 3 What Is The Difference Between High-Level And Low-Level Languages, please let us know, all your questions or suggestions will help us improve in the following articles!
The article 3 What Is The Difference Between High-Level And Low-Level Languages was compiled by me and my team from many sources. If you find the article 3 What Is The Difference Between High-Level And Low-Level Languages helpful to you, please support the team Like or Share!
Rate Articles 3 What Is The Difference Between High-Level And Low-Level Languages
Rate: 4-5 stars
Ratings: 4941
Views: 5627809 2
Search keywords 3 What Is The Difference Between High-Level And Low-Level Languages
3 What Is The Difference Between High-Level And Low-Level Languages
way 3 What Is The Difference Between High-Level And Low-Level Languages
tutorial 3 What Is The Difference Between High-Level And Low-Level Languages
3 What Is The Difference Between High-Level And Low-Level Languages free
#Metatrader #Protection #MQL #Decompiling
Source: https://ezinearticles.com/?Metatrader—Protection-From-MQL-Decompiling&id=2270379