2.初めてのEAを作成してみる
今回は、初めてのEAとして「Hello worldプログラム」を書いてみます。
EAのソースコードは、MQLというプログラミング言語で書きます。
MT4の場合はMQL4、MT5の場合はMQL5が使われます。
MQL4とMQL5では、書き方のルールが結構違いますので注意してください。
早速作成していきましょう。
MetaEditorの新規作成(赤丸部分)をクリックします。
下図の「MQLウィザード」ダイアログが表示されます。
「エキスパートアドバイザ(テンプレート)」にチェックが入っていることを確認して、「次へ」をクリックします。
「名前」の欄に作成するファイル名を入力します。今回は「hello」にしておきましょう。
すでに”Experts¥”と入力されていますが、これは今から作成するファイルをExpertsフォルダに保存するという意味になります。ファイル名はこれに続けて入力します。
「著作者」「リンク」は無しにします。
「パラメータ」には何も追加しないでOKです。
下記のように入力を済ませます。
「次へ」をクリックします。
「次へ」をクリックします。
「完了」をクリックします。
下図のようにソースファイル(hello.mq4)が開かれた状態になります。
既にいくらかのソースコードが記述されたhello.mq4が作成されました。
ここに書かれているソースコードは、EAとして機能するための必要最低限の記述です。次章以降で詳しく触れます。
16行目に次の記述を追加します。
Print("Hello, world!");
全体のソースコードは次のようになります。
//+------------------------------------------------------------------+ //| hello.mq4 | //| | //| | //+------------------------------------------------------------------+ #property copyright "" #property link "" #property version "1.00" #property strict //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- Print("Hello, world!"); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- } //+------------------------------------------------------------------+
次に、ソースファイルをコンパイルします。
下図の赤丸部分をクリックすると、コンパイルが実行されます。
コンパイル結果は赤枠部分に表示されます。
”0 errors, 0 warnings…”と表示されている通り、エラーは無く、コンパイルが成功しています。
コンパイルが成功すると、hello.mq4からhello.ex4が生成されます。
MT4ウィンドウに戻り、ナビゲーターからエキスパートアドバイザを確認すると、下図のように「hello」が追加されています。
作成したエキスパートアドバイザ「hello」をチャートにドラッグ&ドロップします。
下図のようにEA適用確認ダイアログが表示されます。
「OK」をクリックします。
ターミナルの「エキスパート」タブ(赤丸部分)を開くと、”Hello, world!”が表示されています(赤枠部分)。
以上で、Hello worldプログラムの作成は終了です。
EAを作る際もこれと同じ手順です。
次回は、今回のソースコードをもう少し深掘りして、EAについての理解を深めます。