How to ensure the code security of the indicator published in the market?

Fernando Carreiro  
ZiYaR1: We cannot see the codes of paid or free downloads from the market in the "MetaEditor". Is this security a facility provided by the "Market" or is there an algorithm for it?

There is extra security but that is not the real reason.

The reason is that MQL is compiled language and like all compiled languages, the final executable file is in machine language code and not readable by humans.

However, the Market products do have extra protection by applying the licensing and an extra layer of encryption over the compiled file.

ZiYaR1  
Fernando Carreiro #:

There is extra security but that is not the real reason.

The reason is that MQL is compiled language and like all compiled languages, the final executable file is in machine language code and not readable by humans.

However, the Market products do have extra protection by applying the licensing and an extra layer of encryption over the compiled file.

First of all, thanks, but why can we access and edit the codes of the indicators available in the MetaTrader terminal? In addition, there are free indicators on other web pages, some of which are protected and some are unprotected... Why is there such a difference?


I've reviewed the article here, but it doesn't seem to be very relevant to my question.

https://www.mql5.com/en/articles/359

Securing MQL5 code: Password Protection, Key Generators, Time-limits, Remote Licenses and Advanced EA License Key Encryption Techniques
Securing MQL5 code: Password Protection, Key Generators, Time-limits, Remote Licenses and Advanced EA License Key Encryption Techniques
  • www.mql5.com
Most developers need to have their code secured. This article will present a few different ways to protect MQL5 software - it presents methods to provide licensing capabilities to MQL5 Scripts, Expert Advisors and Indicators. It covers password protection, key generators, account license, time-limit evaluation and remote protection using MQL5-RPC calls.
Fernando Carreiro  
ZiYaR1 #:First of all, thanks, but why can we access and edit the codes of the indicators available in the MetaTrader terminal? In addition, there are free indicators on other web pages, some of which are protected and some are unprotected... Why is there such a difference? I've reviewed the article here, but it doesn't seem to be very relevant to my question. https://www.mql5.com/en/articles/359

You can only access those indicators because the source code (.mq?) is supplied for you to look at, but the actual Indicator that runs has an extension of ".ex?", and those files you will not be able to read with a text editor.

The files available in Articles and in the CodeBase are supplied as source code to help those wishing to learn to code in MQL. However, to be able to use them on MetaTrader, you always have to compile them first on MetaEditor before they are able to run.

Market products however are not open source and are not there to help teach users to code. They are there for users to buy and then use them without access to the code. So the Market only supplies the ".ex?" files, not the ".mq?" source files which belong to the author of the product.

ZiYaR1  
Fernando Carreiro #:

You can only access those indicators because the source code (.mq?) is supplied for you to look at, but the actual Indicator that runs has an extension of ".ex?", and those files you will not be able to read with a text editor.

The files available in Articles and in the CodeBase are supplied as source code to help those wishing to learn to code in MQL. However, to be able to use them on MetaTrader, you always have to compile them first on MetaEditor before they are able to run.

Market products however are not open source and are not there to help teach users to code. They are there for users to buy and then use them without access to the code. So the Market only supplies the ".ex?" files, not the ".mq?" source files which belong to the author of the product.

Thank you. I understood more clearly.

Fernando Carreiro  
ZiYaR1 #:Thank you. I understood more clearly.
You are welcome!