MT4で自作EA


MT4で自作EA

MT4で自作EAを作成する。


環境


  • OANDA-MetaTrader 4.00 Build 1170

  • MetaEditor 5.00 Build 1966


サンプルコード

自作EAのファイルを「SampleEA.mq4」として作成する場合を例とする。

①MT4のメニューバーで「ツール」をクリックする。

②「メタエディター」をクリックする。

メタエディターが起動する。

③メタエディターのツールバーで「新規作成」ボタンをクリックする。

④「MQL4 ウィザードへようこそ」で「エキスパートアドバイザ (テンプレート)」を選択する。

⑤「次へ」ボタンをクリックする。

⑥「エキスパートアドバイザの一般プロパティ」で「名前」に「Experts\SampleEA」と入力する。

拡張子は付けない。付けると拡張子も含めて名前にされてしまう。

⑦「著作者」を無記入にする。

⑧「リンク」を無記入にする。

⑨「次へ」ボタンをクリックする。

⑩「エキスパートアドバイザのイベントハンドラ」で「次へ」ボタンをクリックする。

⑪「エキスパートアドバイザのテスターイベントハンドラ」で「完了」ボタンをクリックする。

「SampleEA.mq4」ファイルの編集画面になる。

⑫「SampleEA.mq4」ファイルのコードを以下のコードに置き換える。

#include <mylib.mqh>

#define SLIPPAGE 3
#define MAGIC 21010101
#define MAXSPREAD 1.0
#define MAXLOSS 2.0 // 単位は%

input int Min = 60;
input double EntryThreshold = 2.0;
input double Lots = 1.0;

void OnTick(void){
double ZScore1;
int period;
int BuyEntry = 0;
int BuyExit = 0;
int SellEntry = 0;
int SellExit = 0;

period = ToPeriod(Min);
ZScore1 = iZScore(NULL, 0, period, 1);

if (ZScore1 <= -EntryThreshold) {
BuyEntry = 1;
}
if (ZScore1 >=0.0) {
BuyExit = 1;
}
if (ZScore1 >= EntryThreshold) {
SellEntry = 1;
}
if (ZScore1 <=0.0) {
SellExit = 1;
}
Trade(BuyEntry, BuyExit, SellEntry, SellExit, Lots, SLIPPAGE, MAGIC, MAXSPREAD, MAXLOSS);
}

⑬メタエディターのツールバーで「コンパイル」ボタンをクリックする。