MT4入門(2) – MQL4で何ができるの?

MT4入門の第2回目は、「MQL4で何ができるの?」です。
MQL4というのはMetaTrader4で使われるプログラミング言語のことです。
普通のチャートソフトや業者のウェブサイトで提供されているチャートにも、いくつかのテクニカルインディケータを表示させることはできます。表示されるインディケータが予め決まっている場合、プログラミング言語を搭載する必要はありません。
しかし、ユーザーが自分でインディケータを作る場合には、プログラムによってそのインディケータを定義する必要があります。そのための決まりごとがプログラミング言語として定められているわけです。MQL4 は、MetaQuotes Language Veriosn 4 の略ですが、MetaQuotes が開発した言語ということです。
MQL4で何ができるかということは、MQL4で書いたプログラムがMetaTrader の中でどういう働きをするかということになります。
MQL4プログラムを作るためには、MetaEditor というプログラムを使います。これは、mq4 という拡張子のファイルをダブルクリックすることでも起動できますし、MetaTrader のメニューの[Tools]-[MetaQuotes Language Editor]からも起動されます。
MetaEditorから、[File]-[New] を選ぶと次のような画面が表示されます。これがMQL4でできることです。

ここで関係があるのは上の二つ
Expert Advisor
Custom Indicator

です。そのうち、下のCustom Indicator というのは、文字通り、チャート上に表示させるインディケータを自分で作ったものです。
上のExpert Advisor というのはインディケータなどがどういう条件のときに売買するかというルールを書いたプログラムです。これは、チャートにアタッチしておけば、そのチャート上で自動的に売買が行われますし、Strategy Tester で過去のデータに対して適用させてバックテストを行うことができます。
参考までにその下のScriptというのは、いくつかの決まった操作をまとめてやるためのプログラム、エクセルのマクロのようなものです。さらにその下のLibrary、Include は、MQL4 のプログラムを作るためのプログラムみたいなもの、なので、上級者向けと考えていただいて結構です。
ここでは、MQL4でできることに、Expert Advisor とCustom Indicatorの大きく二つあると理解してください。それぞれのプログラムは .mq4 という同じ拡張子のファイルとして作成されますが、ファイルの置き場所、プログラムの書き方、MetaTrader上での実行の仕方などすべてにおいて異なるので注意してください。
まずはプログラムファイルを置く場所について見てみます。
MetaTraderは通常、以下のフォルダーの下にインストールされます。
C:\Program Files\MetaTrader 4\
ここをMetaTraderをインストールしたフォルダと呼びます。このフォルダーを開くとさらにたくさんのサブフォルダーが現れます。たいていの人はここでわけがわからなくなって戻ってしまうでしょうが、ここで関係があるのは、experts というフォルダーです。
下の図のようにExpert Advisor のプログラムは experts フォルダーに入っています。
またCustom Indicator のプログラムは experts フォルダーの下の indicators フォルダーに入っています。
MetaTraderFolderSelect.png
これらのフォルダーに入っている mq4 ファイルは、MetaTrader 起動時に自動的に ex4 ファイルに変換されます。
ここで mq4ファイル とex4ファイル の違いですが、mq4ファイルは、人が読めるテキストとしてプログラムが書かれていますが、ex4ファイルはテキストではないので直接人が読むことはできません。しかし、MetaTrader 自身がコンピュータプログラムなので、人が読みやすいテキストファイルはそのままでは実行しにくいので、MetaTrader が実行しやすい形に変えておく必要があるのです。これがコンパイルという操作で、通常のプログラムを作るときに行っているのと同じことです。
実際にはex4ファイルさえあればMetaTrader で実行できるわけですが、ex4ファイルだけではプログラムの変更ができません。しかし、プログラムの中身を他人に知らせたくないけど、使ってもらいたいときに、ex4ファイルだけを配布したりすることがあります。販売されているインディケータやシステムはex4ファイルだけというのが多いです。
ところで、ex4ファイルであれば中身が絶対にわからないかというとそうではなく、ex4ファイル中の人には読めない命令を解読すれば中身がわかることもあります。でも、それをやるには相当の技術が必要となりますし、仮にできたとしても解読したものを著作権者に無断で配布するなどは著作権法に違反するので注意が必要です。
この連載では、mq4ファイルを自分で作ることが目的ですので、これからは mq4 ファイルの書き方について説明していきます。
次回はカスタムインディケータの作り方の予定です。
にほんブログ村 為替ブログへ為替ブログランキング 現在14位
へーっと思った方はクリックご協力ください↑



コメントは受け付けていません