【MQL4定数】チャートイベント定数(ENUM_CHART_EVENT)

【辞書】MQLリファレンス

チャートイベント定数

チャートイベント定数は、チャートイベントの情報を取得したいときに使用します。

チャートイベントは、左クリックなど12種類の定数が用意されています。

それぞれどんな定数なのか、確認しましょう。

 

チャートイベント定数(ENUM_CHART_EVENT)

定数説明
CHARTEVENT_KEYDOWNキー押下した
CHARTEVENT_MOUSE_MOVEマウス移動またはクリックした
CHART_EVENT_MOUSE_MOVEを trueに設定した時に有効
CHARTEVENT_OBJECT_CREATEチャート上にオブジェクトを作成した
CHART_EVENT_OBJECT_CREATEを trueに設定した時に有効
CHARTEVENT_OBJECT_CHANGEチャート上のオブジェクトのプロパティを変更した
CHARTEVENT_OBJECT_DELETEチャート上のオブジェクトを削除した
CHART_EVENT_OBJECT_DELETEを trueに設定した時に有効
CHARTEVENT_CLICKチャート上をクリックした
CHARTEVENT_OBJECT_CLICKチャート上のオブジェクトをクリックした
CHARTEVENT_OBJECT_DRAGチャート上のオブジェクトを移動した
CHARTEVENT_OBJECT_ENDEDITチャート上のLabelEditオブジェクトに入力した
CHARTEVENT_CHART_CHANGEチャートサイズやチャートプロパティを変更した
CHARTEVENT_CUSTOM設定したカスタムイベントの最初のイベントを実行した
CHARTEVENT_CUSTOM_LAST設定したカスタムイベントの最後のイベントを実行した

 

チャートイベント定数の使い方

以下のように、初期関数である OnChartEvent関数で使用されます。

少しイメージしにくいですが、OnChartEventの引数として使うのではなく、OnChartEventの関数内で使用します。

例えば、以下のように使用します。

void OnChartEvent(
                 const int     id,      // イベントID
                 const long&   lparam,  // long型イベント
                 const double& dparam,  // double型イベント
                 const string& sparam)  // string型イベント
{
    if ( id == CHARTEVENT_OBJECT_CLICK)  // オブジェクトをクリックした
    {         
         Print( "オブジェクトをクリック");
    }
}

 

OnChartEventの引数である idに、自動的に数値が入力されます。

idに入力された数値によって、どんなイベントが起こったのかを判別することができます。

idとチャートイベント定数を比較することによって、判別するという流れです。

 

【補足】チャートイベント定数の列挙型(ENUM_CHART_EVENT)

チャートイベント定数は、ENUM_CHART_EVENT​という列挙型に含まれています。

列挙型は、定数群をひとまとめにしたものです。

以下のように使います。

ENUM_CHART_EVENT chartEvent = CHARTEVENT_KEYDOWN;

上記のようにプログラムすると、chartEvent変数に CHARTEVENT_KEYDOWNの数値が代入されます。