自動取引システムを作る

MetaTrader 4 MQL4

自分で作れるようになるにはどうすれば良い?

MetaTrader 4(以降MT4)やMetaTrader 5(以降MT5)で動くインジケータや自動取引システム(以降EA)は自分でプログラミングして作ることができる。プログラミングの知識が無くても作れるソフトもあるが、細かい制御を入れたい場合は、やはり自分でプログラミングしたほうが早い。

使う言語はMQLだが・・・

インジケータやEAを作るのに使う言語は「MQL」と呼ばれるもの(MT4はMQL4、MT5はMQL5)だが、MQLについて解説している書籍は「多少プログラミングの知識がある」人を前提としているものが多い。これは私の主観だが、実際にプログラミング入門としてよくある「Hello World!」の出力から解説しているMQLの書籍は1冊しか知らない。私自身、元プログラマだが、MQLについて学んだのはここ数年であり、私が初めて学んだ言語はJavaである。その後、業務で色んな言語を扱ったとはいえ、それぞれの言語の知識はハッキリ言って浅い、それこそ「条件分岐程度は書けます」程度だ^^;。話を戻すが「MQLはC言語に近い」とよく言われる。書き方は確かに似ているが、for文だったりif文だったり、プログラムの要となる部分は、MQLとC言語に限らずどの言語も似ていると思う。なのでJavaでもCでもC#でもよいので、どれかひとつの言語をまずキチンと学ぶことをお勧めする。深く学ぶ必要はない。変数の「型」を一通り理解し、条件分岐の文が書ける程度で良い。それ以外の部分はMQL独自の書き方になるので、そこで初めてMQL専門書を手に取って学ぶのが良いだろう。あとは応用がきくようになる。

MQLの勉強で参考にすべき書籍

Pan Rolling(パン ローリング)社がMQLに関する書籍を多く出版しているので、そちらを参考にしてもらいたい。中でも豊嶋 久道先生の書籍で私は多くのことを学んだし、これからも学んでいくことだろう。

MQL4?MQL5?どっち?

これは悩ましい。できることなら両方勉強したほうが良いが、現状(投稿時点)ではまだMT4のほうが需要があるように思える。MT5はMT4の上位ソフトだが互換性はない。また名前と見た目はかなり似ているが、プログラムの書き方はまるで違う。先に紹介した豊嶋先生がMT4とMT5共通のライブラリをリリースしているので、これから「MQLに初めて触れる」という方は、MQL4、MQL5別々に学習するよりは共通ライブラリの学習ひとつに絞ったほうが効率的かもしれない。偉そうなことを言っているが、私もMQL5の勉強はこれからなのである(汗)

パソコンはどんなものを用意すれば良い?

今時のパソコンであれば何でも良い、無理して高性能パソコンを買う必要もない。ただMetaTraderはWindowsアプリケーションなので、Windowsパソコンでなくてはならない。「MacやLinux上でWindowsアプリケーションを動かす術を知っている」、または「WindowsVPSを契約している」場合は話が別だが・・・

MQLの環境構築は?

私がJavaを始めた頃は、パスの意味さえよく分からずに開発環境構築に苦労したりしたものだが、MQLの場合はMT4(もしくはMT5)にMetaEditor(メタエディター)という開発環境がセットになっているので、 MetaEditor を起動するだけで簡単に始められる。

あとはどれくらい「好き」になれるか

何事もそうだが「好き」でないと続かない。