はじめに
ここでは、MT4で使うEAのコンパイルの仕方、EAを動かすためのMT4設定、バックテスト、EAの適用方法について初心者の方のために1から解説しています。
コンパイルの仕方が分からない方や、EAはあるけどMT4にセットアップの仕方がわからないという方は参考にして頂ければと思います。
当サイトのソースコードを利用する際に気を付ける事も記載していますので参考にしてみて下さい。
コンパイル
まずEAを動かすMT4を起動します。※MT4の画面を見てください
MT4画面の赤枠で囲った以下の箇所をクリックしてください。

そうするとMetaEditor(EA作成ツール)が立ち上がります。次にMetaEditor画面の赤枠で囲った「新規作成」をクリックしてください。

以下の画面がでるので、エキスパートアドバイザが選択されている事を確認し、「次へ」ボタンをクリックしてください。※エキスパートアドバイザ・・・EAですね!

以下の画面がでるので、 名前[Experts\]の後ろにEAの名前を入力してください。名前は自分が好きな感じの名前でいいです。今回は「test」にしています。次に、著作者とリンクについてですがとりあえず適当で大丈夫です。(著作権:a リンク:b 等でもOK)
入力できたら「次へ」をクリックしてください。

以下の画面がでるので、そのまま 「次へ」をクリックしてください。

以下の画面がでるので、そのまま 「完了」をクリックしてください。

以下の画面が出ればOKです。

次に上記に記載されているコードを全て削除します。

この状態で、コンパイルしたいソースコードを全てコピー&ペーストで貼り付けて①のコンパイルボタンを押します。

コンパイルをすると②のように「0 errors, 0 warnings, 999(ここは都度変わる) msec elapsed 」となっている事を確認してください。
※以下のようにerrorが出ているとうまくコンパイルできていませんのでサンプルソースのコピーや貼り付けをもう一度しっかり行いましょう(何回やってもうまくいかない場合はサンプルコードが悪い)

これでコンパイルは完了です。次はコンパイルしたファイルをMT4に適用する方法を記載します。
※コンパイルだけではEAは動きません
MT4の設定
その前にEAが自動売買できるようMT4の設定を行います。
まず、MT4の画面でメニューバーの「ツール」→「オプション」をクリックします。

次に、オプション画面の「エキスパートアドバイザ」タブを開き、「自動売買を許可する」 「DLLの使用を許可する」にチェックを入れて「OK」をクリックします。

最後に、MT4にある自動売買ボタンが「停止状態」か確認し、停止状態ならクリックして「実行状態」にしましょう。

これで、MT4でEAを使えるようにする設定は完了です。
バックテストする
EAで実際にトレードしていくのではなく取り合えずバックテストしたい場合の解説です。

まず、動かしたいEA「test.ex4」を選びます。通貨ペアは自分が確認したい通貨ペアを選択してください。
※私のサイトのソースコードの場合は「USDJPY」一択です
モデル、期間は自由に選択しましょう。
※私のサイトのソースコードの場合はここ(EAレポート結果)を見て合わせてください

モデルは『始値のみ』、期間は『1H』となっています。
次にスプレッドを選択します。お使いのFX業者の通貨に合わせて下さい。私はOANDAの米ドル円なので「5 」(※5で0.5銭)にしています。
最後にバックテストする期間を決めて「スタート」を推すとバックテストができます。
※バックテストの詳細はこちら
EAの適用
次にMT4にEAを適用して、実際にEAがトレードをしてくれる状態にします。
※バックテストをしたいだけの場合はこの項目は飛ばしてください
まず、チャートがMT4の画面上に表示されているかを確認してください。以下みたいに何も表示されていない場合は、「気配値表示」からチャートを表示したい通貨を右クリックし「チャート表示」をクリックします。
表示したチャートの通貨をEAが取引をすることになりますので取引する通貨のチャートをしっかり選びます。
※私のサイトのサンプルソースであれば [USP/JPY]のチャート

あとはどの時間足で動かすかもこのタイミングで選んでおきます。1時間足で動かしたい場合はH1のチャートを表示する

次に、MT4の画面を見てナビゲーターの、以下赤枠の箇所のエキスパートアドバイザーの先頭部の+をクリックしてください。コンパイルしたEAが出てくると思います。※今回は名称:test

(EAは現在表示させているチャート上で動いていく形になります)
- MACD Sample (MT4に最初から入っているサンプル)
- Moving Average (MT4に最初から入っているサンプル)
- test (自分で名前を付けたものが表示されます)
※testが無い場合は、赤枠内で右クリック→「更新」をクリックしてみてください
※更新をクリックしても無い場合は、コンパイルがしっかりできていない可能性が高いのでコンパイルできているか確認しましょう
次にtest(自分で付けた名前)を「右クリック」→「チャートに表示」をクリックしてください。すると以下の画面が出ますので「全般」タブをクリックしてください。

全般タブの以下赤枠の部分を確認し、自動売買を許可するにチェックが入っていない場合はチェックを入れてください。

チェックが入っているのを確認した後、パラメータの入力タブを確認します。

このようにEA毎にパラメータが設定できます。このパラメータはどういったものにしたらよいかしっかり確認します。
当サイトでよくあるEAが動かない事象として、スプレッドが10pips以上(主に海外ブローカー)のMT4で動かすとエントリーしてくれない作りにしている(スプレッドが開きすぎた状態でエントリーしない作りにしている)ので、米ドル円で10pips以上開いているよという場合、A_SPREADの値を変更します。
(基本15pips開いている場合は16と設定する等)
「OK」ボタンをクリックしたあと、まずはチャートの右上を見てください。

適用したEA名称+ニコニコマークが出ていると思います。この状態になっていればEAは正常に適用されたことになります。
EAを動かし続ける場合はMT4やチャートは閉じず、このままの状態にして放置します。
ニコニコマークではない場合

上記のようにニコニコマークではなく、残念な顔になっている場合はEAが正常に適用されていないため、もう一度「MT4の設定」と「EAをチャート上に適用する」のところで、自動売買を許可する関連の設定がしっかりできているか見直しましょう。
さいごに
以上が、『EAのコンパイル、バックテストや動かし方』です。
私のブログを見てくれていている方でコンパイル方法がわからない方や、私がわりと強い意志を入れて作ったスプレッドが開いたらエントリーしないようにしている処理が悪さをしてサンプルソースのEAがうまく動かないというコメントを結構頂いていたので記事を書きました。
またこれ以外で問題が出てきたら追記していこうと思います。
コメント