自作EAの作成方法を1から説明したいと思います。
準備するもの
以下の2つが必要です。
- パソコン
- MT4
MT4とはMetaQuotesとう会社が開発したFXのチャートソフトです。
こちらの公式サイトからダウンロードが可能です。
新規EA作成
MT4を開いたらメタクォーツ言語エディタのボタンを押します。

MeTaEditorが開いたらNEWボタンを押します。

EAを作成するのでエキスパートアドバイザーを選択します。

適当にEAの名前をつけて次へを押していけばEAの元となるファイルが作成されます。

次へボタンを押して進めます。

完了を押せばEAの元となるソースが作成されます。

すると下のような土台となるソースが作成されます。

今回はわかりやすくするためにint start()という文字だけを記述したソースを元に説明します。

プログラミングの基礎知識
MT4はMQLという言語を使ってプログラミングを行っていきます。
MQLに限らず、プログラミングをする上で知っておきたい基本的な知識を紹介します。
変数、型
変数とは値を入れるための箱のようなものです。
プログラミングでは数字や文字をこの変数に入れて処理を行います。
変数には名前と型と呼ばれる情報が必要です。
型の主な種類は
・int(数値型)
・string(文字型)
・double(少数を含んだ文字型)
などがあります。
型 + 変数名で変数を作成することできます。
例)
文字列型変数 string mojihensu
数値型変数 int suutihensu
作成した箱に値を入れる時は以下のように記述します。
mojihensu = “文字列”;
suutihensu = 1;
関数
関数とは何か入れると何かを返してくれる機能のようなものです。
関数の書き方は型 + 関数名です。
最初の型は返してくれる変数の型になります。
何も値を返したくない場合は型のところをvoidと記述します。
例)
文字列型変数を返す関数
1 2 3 4 |
int OnInit() { string mojihensu return(0); } |
数値型変数 int suutihensu
初期化関数
1 2 |
int init(){ } |
EAを起動させるときに括弧の中に書いた処理が必ず呼ばれます。
EAを起動させる前や、最初にやっておきたい処理がある場合などに使います。
スタート関数
1 2 |
int start(){ } |
チャートのティックが動くたびにこのstartの中の処理が呼ばれます。
EAの注文とかを出すメインの処理はここに書かれることが多いです。
終了関数
1 2 |
int denit() { } |
EAを終了させるときに括弧の中の処理が呼ばれます。
EAを終了させると同時にポジションをクローズしたい時などに使います。
注文関数
1 |
int OrderSend( string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment, int magic, datetime expiration, color arrow_color ); |
とりあえずこの関数があれば注文を出すことができます。
詳細はここでは省きます。
サンプルソース
これだけの記述でただひたすら買い注文を出すだけのEAが完成です。
絶対本番では動かしてはいけません。
記述したのは先ほど紹介したスタート関数と注文関数です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
// 使う値を変数に格納する double Lots = 0.1; //売買ロット数 int Slippage = 0.3; //許容スリッページ int MagicNo = 1; //マジックナンバー int start() { //買い処理 OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0,"buy",MagicNo,0,Blue); //戻り値 return(0); } |
コンパイルをする
ソースコードを書いたらソースを機械語に変換するためにコンパイルという作業を行います。

コンパイルすることによってソースが実行可能になります。
このときソースの記述ミスがあった場合エラーとなります。
エラーがでた場合はソースを修正して再度コンパイルしましょう。
エラーが解消されない限りコンパイルは成功しません。
よくあるエラー
- 全角スペースがある
- 型の不一致
バックテストする
EAが完成したらバックテストをしましょう。
バックテストの方法はこちらに記載しております。
まとめ
今回は最低限EAが動くようにするまでを紹介しました。
他にも覚えなければいけないことはたくさんありますが今回はここまでです。
バックテストまで出来ればEA作成の第一歩です。
もしちゃんと学びたいならばとりあえず入門としてFXメタトレーダー入門 現代の錬金術師シリーズという書籍の購入をおすすめします↓
![]() | 【中古】 FXメタトレーダー入門 最先端システムトレードソフト使いこなし術 現代の錬金術師シリーズ56/豊嶋久道【著】 【中古】afb 価格:1,649円 |

もしプログラミングの理解がどうしても難しい場合はEAつくーるというソースコードを自動生成してくれるソフトをオススメします↓
『EAつくーる』EAつくーるを用いれば、自分の作りたい条件でEAをプログラミングなしで作成できるのでソースコードの参考にもなるし、プログラミングができない人でもEAを作成することができます。
まずは1ヶ月版を試して使えそうなら製品版の購入をオススメします↓
EAつくーる【1ヶ月版】