MT4(MQL4)の基礎的なEAの作り方!初心者でも分かるよう図解解説

EAはMT4(MT5)をインストールしていれば、誰でも作る事ができます。しかし、MT4はMQL4というC言語がベースのプログラム言語で書く必要があります。

ここでは、初心者でもわかる基本的なEAの作り方を、少しだけ解説してみたいと思います。

(MT4のMQL4と、MT5のMQL5は全く関数が違って互換性が無いので、ここではMT4だけ)

MT4のインストールは必須

MT4のインストールは必須です。私はXMTrading のMT4を使用していますが、基本的な操作は、どのサードパーティのMT4でも同じです。

なお、XMTradingのインストール方法はこちらの記事にまとめました。デモ口座が使えるので、無料で最初から始められます。

XMTradingのMT4(MT5)デモ口座開設と入金&出金方法
レバレッジ888倍で人気のXMTradingのデモ口座の開設方法からリアル口座の開設方法。お得な入金方法と、難解な出金方法について図解でまとめました。ご参考ください。

MT4のメニューからメタエディター(MetaEditor)起動

MT4のメニューから、メタエディターというコーディングソフトを起動します。

サードパーティーによっては、英語でMetaEditorと表示しているものもあります。

(※XMTradingは日本語で表示)

メタエディタ起動

プロジェクト作成

メニューバーより、「ファイル」⇒「新しいプロジェクト

新しいプロジェクト

 

MQLウィザードの表示が出ますので、エキスパートアドバイザ(テンプレート)を選んで「次へ

(※MT5ではこの画面が異なります)

エキスパートアドバイザ(テンプレート)

 

一般プロパティは、名前は必須。著作権、リンク、パラメータは入れる必要なし。

「Experts¥」の後ろにプロジェクト名を書きます。

テストで実施したい方は「test」とでも入れてください。僕は、この後、SMAのゴールデンクロスの売買のEAを作ろうと思ったので、上記のようにしました。

 

イベントハンドラは、何もチェックせずに、「次へ」。

イベントハンドラ

 

テスターイベントハンドラも同様に、何もチェックせずに「完了」を押します

 

EAの初期画面はこんな感じ

MQL4というプログラムで書かれてます。

これを解説すると、MQLの構文そのものを説明しないといけないので、大変なんですが、プログラム初心者の方も見ていると思うので、触りだけ。

EAの初期画面

最初から実装されているイベントハンドラ

OnInit()

EA起動時に最初に一回だけ呼び出される関数。

変数とか、何かしら初期化しておきたいものは、ここに書きます。

OnDeinit()

EA終了時に、最後に一回だけ呼び出される関数。

OnTick()

ティック毎に呼び出される関数。

この中に、あれこれ実装する事になります。

 

サンプルソース

ためしに、ティック毎に、Ask(買値)とBid(売値)を表示するプログラムを書いてみました。

なるべく初心者さんに分かるように、変数を使って解説。

コード

ソースコードの解説

Print関数を使って、表示するだけの簡単プログラムです。

簡単なんだけど、変数(入れ物)を使ってます。変数は「型」があるので、宣言時に指定しないといけません。Javascriptでは、型宣言しなくても変数が使えるので、Java出身者は、最初は苦労するかも。

  • string :文字列
  • double :8byte の浮動小数点
  • int :整数

 

数字を文字列として使う場合は、型でキャスト(変換)します

 

ちなみにキャストしなかったら

 

こんな警告(warning)が出ます。

エラーじゃないけど、警告です。

implicit conversion from number to string

 

コンパイル後、実行

ソースコードを書いたら、必ずコンパイルを実施します。

コンパイルすると、実行ファイルを作成します。

ここでエラーがあれば、都度、修正します。

 

コンパイルして、エラーが無いことを確認したら、実行します。

ただし、これだと実データを使うので、トレードが発生するEAだと怖いです。

バックテストを行う

矢野テック
矢野テック

MT4には、バックテストという過去のチャートデータを使ってテスト出来る機能があるので、それを使うと便利です。

ヒストリーデータをダウンロード

過去のチャートデータをダウンロードします。

メニューバーより、「ツール」⇒「ヒストリーセンター」を選択。

 

通貨ペアごとに、必要なデータをダウンロードします。

矢野テック
矢野テック

USDJPYは、Forex3にあります。

 

バックテストの実施は

メニューバーから、「表示」⇒「ストラテジーテスター」から。

 

MT4の下側に「テスター」が表示されます。自分が、さっき作ったEAを選択して、通貨ペアをあわせます。開始日は過去データのどこからどこの日までを使うか設定できます。

 

必要情報を設定したら、「スタート」でテスト開始。

矢野テック
矢野テック

バックテストでは実チャートに影響はしないのでご安心を。

 

今回テストプログラムは、ティック毎にAskとBidを表示するというものです。操作履歴のタブに表示されていれば成功。

矢野テック
矢野テック

実際にトレードのEAを作ったら、ひたすら、バックテストを繰り返す感じになります。

 

実際のトレードのEAは・・

今回は、簡単なEAを作成しましたが、実際のトレードEAのプログラムはもっと複雑です。

別の記事で特集してみます。

矢野テック
矢野テック

単純移動平均線のゴールデンクロスで買って、デッドクロスで売るという、簡単なものは公開しても良いかなと思いまして。

 

コメント