EAのすすめ⑫:EA開発を始めたいと思っている人へ、MQL4とMQL5の入門と開発環境の整え方を話してみる
皆さん、おはようございます。れんみぃです。
12本目の記事です。ここまで「EAを使う側」の話を続けてきましたが、今回は少し視点を変えて「EAを作る側」に興味がある方向けの話をします。
前回の記事はこちら。
https://www.gogojungle.co.jp/finance/navi/articles/117665
「自分でEAを作ってみたい」「プログラミングはちょっとできるけどEA開発は未経験」という方に、開発者として正直なところをお伝えします。
EA開発に必要なもの
EA(Expert Advisor)はMT4またはMT5上で動くプログラムで、MQL4/MQL5という専用言語で書きます。
まず必要なものはこれだけです。
MT4またはMT5(無料)
MetaEditor(MT4/MT5に付属している開発環境、無料)
やる気
環境構築のコストはゼロです。MT4かMT5をインストールすれば、MetaEditorも一緒に入ります。
MQL4とMQL5、どちらから始めるか
正直に言うと、ちゃんと作るならMQL5の方がいいです。
MQL4はMT4用、MQL5はMT5用の言語です。MQL5の方が機能が豊富で、バックテストの精度も高く、今後の主流になっていきます。できるならMQL5で開発するのをおすすめします。
ただし、「とにかくシンプルなものをまず動かしてみたい」という段階では、MQL4の方が情報量が多く取り掛かりやすいのも事実です。最初の一歩としてMQL4から入って、慣れてきたらMQL5に移行するという選択肢もあります。
余談ですが、私が販売しているGTXはまだMQL4のままです。MQL5対応は少しずつ進めているところで、正直なところ自分への宿題でもあります(笑)。
最初に作るべきEA
最初はロジックをシンプルに絞ることが大切です。
私がおすすめするのは移動平均線のクロスで売買するEAです。「短期MAが長期MAを上抜けたら買い、下抜けたら売り」という、教科書に出てくるような単純なロジックです。
なぜかというと、シンプルなロジックほど「動かない理由」が特定しやすいからです。最初から複雑なものを作ろうとすると、バグがあっても原因が分からなくなります。
動くものを作る → バックテストで確認する → 少しずつ改良する
この繰り返しが、EA開発の基本サイクルです。
学習リソース
MQL4/MQL5の学習で役に立つのは以下です。
MQL4/MQL5リファレンス(MetaEditorのヘルプ):関数一覧の公式ドキュメント。英語ですが機械翻訳で読めます
MQL5.com のフォーラム:世界中の開発者がコードを共有しています
日本語ブログ・YouTube:「MQL4 入門」「MQL5 入門」で検索すると解説記事がたくさんあります
プログラミングの基礎知識(変数・条件分岐・ループ)があれば、基本的なEAは数週間で作れるようになります。
AIを使ってEAを作る方法もある
「プログラミングの技術はないけど、EAを作ってみたい」という方には、AIにコードを書いてもらうという選択肢もあります。
ChatGPTなどに「MQL4でこういうロジックのEAを作ってほしい」と指示すれば、それなりのコードを出力してくれます。実際に動くEAを短時間で手に入れる方法としては有効です。
ただし、ここが重要なのですが、出てきたコードの中身をちゃんと理解することが不可欠です。
理解せずに使い続けると、バグが出たときに直せない、相場環境が変わったときに何を修正すればいいか分からない、という状態になります。ブラックボックスのEAを動かしているのと変わらなくなってしまいます。
AIはあくまで「コードを書く速度を上げるツール」です。理解を省略するツールではありません。
開発者になって感じること
私がEA開発を始めたきっかけは「自分が信頼できるEAを自分で作りたい」という単純な動機でした。
開発できるようになると、市場に出ているEAの良し悪しが見えるようになります。「このバックテストはオーバーフィッティングしてそう」「このロジックは相場環境が変わると崩れそう」といった判断が、コードレベルで理解できるようになります。
使う側としても、作る側としても、MQLの知識は武器になります。
ちなみに私がGogoJungleで販売しているGTXも、MQL4で開発したEAです。開発から販売まで一人でやってきた経験談は、また別の記事で話そうと思います。
まとめ
EA開発の環境構築コストはゼロ。MT4/MT5とMetaEditorがあれば始められる
できるならMQL5がおすすめ。シンプルなものを試すだけならMQL4から入っても良い
最初はシンプルなロジック(MAクロス等)から作る
動くものを作って、バックテストして、改良する繰り返しが基本
AIでコードを生成するのはアリ。ただし中身を理解することが必須
「難しそう」と思っているかもしれませんが、プログラミング経験があれば思ったより早く動くものが作れます。興味があれば、まずMetaEditorを開いてみてください。
それでは、また次回!
れんみぃのEAリスト
https://www.gogojungle.co.jp/users/189446/products