2016年4月21日木曜日

[MQL超入門] その014 とりあえずやってみよう!簡単EA作成1

これまででインジケータの作りかたを学びました。
今回からは、EAを作ってみましょう。

※インジケータ作成の時と繰り返しになりますが、リアル口座を運用しているMT4を使用する場合、ソフトウェアの作成に失敗すると、取引に影響が出ます。
そこで、プログラム開発用にMT4のデモ口座を作ることをお勧めします。

[雑記]MT4のデモ口座はどこがいい?
http://mt4program.blogspot.jp/2015/12/mt4.html
などから、プログラム開発用のデモ口座を開き、プログラムはデモ口座が動いているMT4上で作ることをお勧めします。

インジケータの時と同じで、EAもウィザードから追加します。
メタエディター上で下記の通りに操作してみてください。

ナビゲータ上で、[Experts]を選択して、マウスの右クリックから[新規ファイル(N)]を選択します。
・図014.01 EA 新規作成

MQL4ウィザードにて[エキスパートアドバイザ(テンプレート)]を選択した状態で、[次へ(N)]をクリックします。
・図014.02 MQLウィザード EA選択

名前の箇所に[Experts\テスト\Sample1]と入力して[次へ(N)]を押します。
今回はあらかじめExpertsの下に[テスト]フォルダを作成しておき、その中にSample1というEAを作成します。
・図014.03 MQLウィザード 名前の決定

チェックが全て外れている状態で、[次へ(N)]をクリックします。
・図014.04 MQLウィザード カスタムイベントハンドラの選択

チェックが全て外れている状態で、[完了]をクリックして終了です。
・図014.05 MQLウィザード テスターイベントハンドラの選択

そうすると次のようなファイルが出来上がります。
これがEAの最小限のひな形となります。
//+------------------------------------------------------------------+
//|                                                      Sample1.mq4 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
{
//---
   
//---
   return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
   
}
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
{
//---
   
}
//+------------------------------------------------------------------+

もちろんこのままでは取引は何も行われませんので、次回からは実際に取引するコードを書いていきます。

次の回へ


「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。
インジケータ一覧

Twitterもよろしくお願いします。
https://twitter.com/mt4program

ブログランキングにご協力よろしくお願いします。m(._.)m
にほんブログ村 為替ブログ MetaTraderへ
にほんブログ村

お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。