『新メタトレ入門本』スクリプト:チャート上のデータの表示
『新MT4対応 FXメタトレーダープログラミング入門』(新メタトレ入門本)連動企画です。
今回は、本書の第2章「スクリプトのプログラミング」の「2-3 チャート上のデータの表示(定義済み変数)」についてです。
【目次】
第1章 メタトレーダーの紹介
第2章 スクリプトのプログラミング
2-1 新規ファイルの作成
2-2 文字列の表示(文字列定数)
2-3 チャート上のデータの表示(定義済み変数)
2-4 データの型と変数
2-5 組み込み関数の使い方
2-6 トレード関数の使い方
第3章 カスタム指標のプログラミング
第4章 エキスパートアドバイザー(EA)のプログラミング
本書アップデート情報
このセクションでは、MQL4の定義済み変数を表示させるプログラムを取り上げています。定義済み変数は宣言をする必要がないので、簡単にチャート上のデータを確認することができます。
表示させるデータは、現在の売買価格、過去の価格、通貨ペアに関するデータです。3つのサンプルプログラムを含みますが、このセクションでは、本書内容の変更はありません。
関連するMT5情報
MQL4で利用できた定義済み変数は、MQL5になってかなり減ってしまいました。
本書で紹介したBid、Ask、Open[]、High[]、Low[]、Close[]は、MQL5では定義済み変数ではなくなったので、そのままでは利用できません。
したがって、サンプルプログラムのex2_scr.mq4とex3_scr.mq4は、拡張子をmq5に変えても正常にコンパイル、実行はできません。
代わりとなるプログラムは、MQL5の組み込み関数を使うことで作成することはできます。詳しいことは、「2-5 組み込み関数の使い方」のところで説明します。
ex4_scr.mq4で扱っている「_Symbol」「_Digits」「_Point」「_Period」という定義済み変数は、MQL5でも使えます。拡張子をmq5に変えればコンパイル、実行は可能です。
ただ、ひとつ注意することは、「_Period」の値です。
MQL4で「_Period」を表示させると、そのタイムフレームを分に換算した値が表示されました。30分足なら「30」、日足なら24×60で「1440」といった具合です。
ただし、MQL5では、分足の場合、MQL4と同じく分の値を表示しますが、時間足の場合、「16384+時間」という値となります。例えば、日足の場合16384+24で「16408」となります。
タイムフレームを「_Period」を使って判別する場合には注意してください。