まくまく投資ノート
更新: / 作成:

ここでは、MetaTrader の MetaEditor を使って、次のように Hello World と表示するだけの Script を作成してみます。

/p/ay9a762/img-002.png

MetaEditor の起動

MQL でコーディングを行うためには、MetaTrader に付属している MetaEditor を使用します。MetaTrader の画面で下記のいずれかの方法で MetaEditor を起動します。

  • F4 キーを押す
  • ツールバー上の Editor アイコン をクリックする
  • メニューから ツールMetaQuotes Language Editor を選択する

Script ファイルの新規作成

MetaEditor が起動したら、下記のようにして新規コードを作成します。 最初に作成するファイルの種類を選ぶのですが、ここでは一番単純な「Script」を選択します。

  1. Ctrl + N で新規作成ウィザード (MQL Wizard) を開く
  2. Script を選択
  3. プロパティとして次のような感じで入力
    • 名前: Scripts\Hello
    • 著作者: (空欄)
    • リンク: (空欄)

すると、Hello.mq4 というファイル(MQL5 の場合は Hello.mq5)というファイルが生成され、エディタが開きます。

☝️ ワンポイント

ここではファイルの種類として Script を選択しましたが、新規作成ウィザードから選択できるもののうち、下記のものが 実行可能 になるプログラムです。

  • エキスパートアドバイザー (Expert Advisor) … 自動売買用のプログラム(EAと呼ばれる)
  • カスタム指標 (Custom Indicator) … 独自のインジケータを表示するためのプログラム
  • スクリプト (Script) … 一度だけ実行するプログラム

それ以外の Library などのファイルは、他のプログラムから共有して使用する関数群などを定義するためのファイルを作成したい時に使用します。

ソースコードの入力

MetaEditor 上で開いた Hello.mq4 ファイルに、次のように入力します。

Hello.mq4 (Hello.mq5)
void OnStart() {
    MessageBox("Hello World", "Sample");
}

Script のエントリポイントは、Start イベントをハンドルする、OnStart() という関数です。 この中に、メッセージボックスで Hello World と表示するコードを記述しています。

ソースコードのコンパイルと実行

MQL4/MQL5 のソースコードの拡張子は、それぞれ mq4mq5 ですが、このソースコードのままでは実行はできません。 C/C++ と同様に、実行する前にはコンパイルする必要があり、ex4ex5 という拡張子の実行ファイルを作成する必要があります。

MetaEditor 上で作成しているコードをコンパイルするには、F7 キーを押します。

コンパイルに成功すると、MetaTrader のメイン画面の方の「ナビゲーター」ウィンドウに Hello スクリプトのアイコンが表示されます。 MetaTrader のメイン画面には、F4 キーで切り替えられます。

/p/ay9a762/img-001.png

Hello スクリプトのアイコンをダブルクリックするとスクリプトを実行できます。 次のようなメッセージボックスが表示されれば成功です。

/p/ay9a762/img-002.png

スクリプトは特定のチャートに関連付けて実行することができるため、スクリプトアイコンを、チャート上にドラッグ&ドロップすることでもスクリプトを起動できます。

関連記事

まくまく投資ノート
サイトマップまくへのメッセージ