MT4のEAはソースコードを組み合わせてプログラミングされており、逆コンパイルとはそのソースコードを復元することを意味します。デコンパイルとも呼ばれます。逆コンパイルすることでソースコードをコピーすることができる、つまりEA自体をコピーしてしまうことができるのです。かつては多くのEAが逆コンパイルされていたようですが、MT4の開発元メタクォーツ社も逆コンパイル対策として、逆コンパイルをするとエラーが生じるようになっています。2014年のMT4アップデートにより逆コンパイルが難しくなり、デコンパイルファイルなどはかなり減ったようです。

アップデート以前は有料で逆コンパイルをするような業者やサイトなどもはびこっていたようですが、現在ではほとんど見かけません。当時は逆コンパイルが知識のある人であれば、かんたんにできたためにEAの盗用が相次いでいました。編集のできないex4ファイルから編集可能なmq4ファイルに変換するようなソフトまでありました。盗用EAは、盗用元EAのコンパイルされたex4ファイルを一旦mq4ファイルに逆コンパイルし編集を可能にします。その後一部を編集したり、改変したりしてから再度ex4ファイルにコンパイルすれば、一見別のEAに見えるため、その盗用EAを使ってお金儲けをしたり、アイデアを盗むような人たちがいたようです。また逆コンパイルすることで、アカウント制限や口座制限のかけられたEAから制限をはずすようなこともできてしまいます。

現在ではMT4のメタエディタで作成されたEAは逆コンパイルできない仕様へと改善されています。また過去に逆コンパイルされたEAをコンパイルしようとするとエラーが生じるようになっています。

他にも逆コンパイル対策として、DLLファイルとして利用するという方法があります。DLLファイルでは逆コンパイルはほとんど不可能です。現在でもDLLファイルを使ったEAは存在します。DLLとはDynamic Link Libraryの略でWindows用のプログラミングファイルの一種です。詳細は専門的になるので割愛しますが、このファイルを使うことでEA開発者はWindowsの提供している機能は自分で開発する必要がなくなります。ただしこのDLLファイルを悪用してくるプログラマーも一部存在するので、怪しいEAや怪しげなサイトでEAをダウンロードすることは避けてください。

MT4にもDLLファイルの使用に関する設定があります。確認方法は以下のとおりです。
MT4のチャート上で右クリックし、「エキスパートアドバイザ」→「設定」を選択する。
「全般」タブを選択すると左側の「セーフティー」の項目に「DLLの使用を許可する」の項目があるので許可する場合はチェックを入れる。

「DLLの使用を許可する」にチェックを入れても、DLLを使用していないEAを稼働させる際には特に影響はありません。

なおEAのプログラミングの勉強を始めたいというときに、逆コンパイル以外の方法でソースコードを見る方法のひとつとしては、MT4にデフォルトで搭載されているEAのサンプルを利用する方法があります。そちらであれば逆コンパイルせずにソースコードを見たり、メタエディターでソースコードを書き換えることもでき、プログラミングの学習には最適です。

インターネット上などで販売・公開されているEAは基本的にソースコードは公開されていないものがほとんどで、これを逆コンパイルしてソースコードをコピーするなどの行為は著作権などに抵触する可能性もあります。ソースコードを知りたいという方は、逆コンパイルではなくソースコードの公開されているサンプルEAなどを利用するようにしてください。

MT4EAの無料配布サイトのEAは、社内専門家チームの高い開発技術と綿密なテクニカル分析にて開発されたEAなので、DLLを悪用されることなく、安心して利用することが出来ます。