ここでは、MetaTrader の MetaEditor を使って、次のように Hello World
と表示するだけの Script を作成してみます。
MetaEditor の起動
MQL でコーディングを行うためには、MetaTrader に付属している MetaEditor を使用します。MetaTrader の画面で下記のいずれかの方法で MetaEditor を起動します。
F4
キーを押す- ツールバー上の
Editor アイコン
をクリックする - メニューから
ツール
→MetaQuotes Language Editor
を選択する
Script ファイルの新規作成
MetaEditor が起動したら、下記のようにして新規コードを作成します。 最初に作成するファイルの種類を選ぶのですが、ここでは一番単純な「Script」を選択します。
Ctrl + N
で新規作成ウィザード (MQL Wizard) を開くScript
を選択- プロパティとして次のような感じで入力
- 名前:
Scripts\Hello
- 著作者: (空欄)
- リンク: (空欄)
- 名前:
すると、Hello.mq4
というファイル(MQL5 の場合は Hello.mq5
)というファイルが生成され、エディタが開きます。
ここではファイルの種類として Script を選択しましたが、新規作成ウィザードから選択できるもののうち、下記のものが 実行可能 になるプログラムです。
エキスパートアドバイザー (Expert Advisor)
… 自動売買用のプログラム(EAと呼ばれる)カスタム指標 (Custom Indicator)
… 独自のインジケータを表示するためのプログラムスクリプト (Script)
… 一度だけ実行するプログラム
それ以外の Library などのファイルは、他のプログラムから共有して使用する関数群などを定義するためのファイルを作成したい時に使用します。
ソースコードの入力
MetaEditor 上で開いた Hello.mq4
ファイルに、次のように入力します。
Script のエントリポイントは、Start イベントをハンドルする、OnStart()
という関数です。
この中に、メッセージボックスで Hello World
と表示するコードを記述しています。
ソースコードのコンパイルと実行
MQL4/MQL5 のソースコードの拡張子は、それぞれ mq4
と mq5
ですが、このソースコードのままでは実行はできません。
C/C++ と同様に、実行する前にはコンパイルする必要があり、ex4
、ex5
という拡張子の実行ファイルを作成する必要があります。
MetaEditor 上で作成しているコードをコンパイルするには、F7
キーを押します。
コンパイルに成功すると、MetaTrader のメイン画面の方の「ナビゲーター」ウィンドウに Hello
スクリプトのアイコンが表示されます。
MetaTrader のメイン画面には、F4
キーで切り替えられます。
Hello
スクリプトのアイコンをダブルクリックするとスクリプトを実行できます。
次のようなメッセージボックスが表示されれば成功です。
スクリプトは特定のチャートに関連付けて実行することができるため、スクリプトアイコンを、チャート上にドラッグ&ドロップすることでもスクリプトを起動できます。
関連記事
- MetaTrader/MQL: MQL4 と MQL5 のどちらでコンパイルされているか調べる
- MetaTrader/MQL: チャートのサイズ(幅・高さ)を取得する (ChartGetInteger)
- MetaTrader/MQL: インジケーターの実装例 - アカウント(口座)情報を表示する
- MetaTrader/MQL: チャートのタイムフレーム(H1 や M15)を取得する (Period, PeriodSeconds)
- MetaTrader/MQL: チャート上に矩形を描画する (OBJ_RECTANGLE, CChartObjectRectangle)
- MetaTrader/MQL: チャート上にラベルを描画する (OBJ_LABEL, CChartObjectLabel)
- MetaTrader/MQL: 組み込み関数の実行に失敗したときにエラー情報を表示する (GetLastError, ErrorDescription)