MetaEditor
概要
メタトレーダー上で動作する『自動売買させるプログラム』『テクニカル分析させる指標』等を、このMetaEditorで作っていきます(プログラム開発環境ですね)。まさしくメタトレーダーの肝といえる機能です(プログラムを組めなければ、メタトレーダーを使う意味がありません)。
準備
MetaEditorは、メタトレーダーをインストールした時点で一緒に入るので、特に何もしなくても使える環境になっています。スタートメニューから起動させましょう(メタトレーダーの『ツール』-『MetaQuotes Language Editor』からでも起動できます)。
まずはサンプルですね。
2つ入っているうちの一つ『MACD Sample.mq4』を開きます(NavigatorのMACD Sample.mq4をダブルクリック)。
プログラムは既に完成しているので、コンパイル(機械が分かる様に翻訳する作業)してみましょう。
『File』-『Compile』でコンパイルできます(右クリックメニューでもできます)。
エラーやワーニングが無ければ(当然、サンプルでは出ません)、メタトレーダーにて使えます。
『MQLオーダーメイド』のコーナーで作成したmq4ファイルも、開いてコンパイル可能です。
サンプルと同じフォルダ([インストールフォルダ]\MetaTrader\experts\)に入れてやると、作業しやすいでしょう。
実践
いよいよ、自分でプログラムを組んでみます。『File』-『New』で、最初の骨組みを作ってくれるウィザードが立ち上がります(ウィザード使うまでもないんですが…)。
指標等は『Custom Indicator』、今回は実際に動くメイン部分なので『Expert Advisor』を選択して次へをクリック。
次の画面で、名前とか適当に付けてください。
…で、出来上がる骨組みが以下。
Print文を追加してあげてコンパイルです。
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
Print("init function passed(1).");
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
Print("deinit function passed(1).");
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
Print("start function passed(1).");
//----
return(0);
}
エラーがなければ使えます(自作プログラムへの第一歩を踏み出せました)。
バックテストしてあげれば『操作履歴』にプリント出力、また、実際にメタトレーダーに適用すれば、『ターミナル』の『Experts』に出力されています。
上のはテストを2つ作って切り替えた形跡ですね(2つ同時に動くのかテストしてみたところです)。