【MQL4定数】オブジェクトの種類の定数(ENUM_OBJECT)

【辞書】MQLリファレンス

オブジェクトの種類の定数

オブジェクトの種類の定数は、表示したいオブジェクトの種類を指定するときに使用します。

主に、ObjectCreate関数の引数として使われます。

ObjectCreate関数はオブジェクトを作成する関数です。

作成するときに、オブジェクトの種類を指定することで、線や矢印などを表示させることができます。

 

例えば、トレンドラインを表示したいとき、始点と終点を指定する必要があります。

それらの点のことを、アンカーポイントと呼びます。

表示したいオブジェクトによって、アンカーポイントの数が異なりますので、注意しましょう。

 

オブジェクトの種類の定数(ENUM_OBJECT)

定数アンカー数説明
OBJ_VLINE1垂直線
OBJ_HLINE1水平線
OBJ_TREND2トレンドライン
OBJ_TRENDBYANGLE1+角度トレンドライン(角度)
OBJ_CYCLES2サイクルライン
OBJ_ARROWED_LINE2矢印線
OBJ_CHANNEL3等距離チャネルライン
OBJ_STDDEVCHANNEL2標準偏差チャネルライン
OBJ_REGRESSION2線形回帰チャネルライン
OBJ_PITCHFORK3アンドリューズ・ピッチフォーク
OBJ_GANNLINE2ギャン・ライン
OBJ_GANNFAN2ギャン・ファン
OBJ_GANNGRID2ギャン・グリッド
OBJ_FIBO2フィボナッチ・リトレースメント
OBJ_FIBOTIMES2フィボナッチ・タイムゾーン
OBJ_FIBOFAN2フィボナッチ・ファン
OBJ_FIBOARC2フィボナッチ・アーク
OBJ_FIBOCHANNEL3フィボナッチ・チャンネル
OBJ_EXPANSION3フィボナッチ・エクスパンション
OBJ_RECTANGLE2長方形
OBJ_TRIANGLE3三角形
OBJ_ELLIPSE2楕円形
OBJ_ARROW_THUMB_UP1サムズアップ
OBJ_ARROW_THUMB_DOWN1サムズダウン
OBJ_ARROW_UP1上矢印
OBJ_ARROW_DOWN1下矢印
OBJ_ARROW_STOP1ストップサイン
OBJ_ARROW_CHECK1チェックサイン
OBJ_ARROW_LEFT_PRICE1価格ラベル(左に表示)
OBJ_ARROW_RIGHT_PRICE1価格ラベル(右に表示)
OBJ_ARROW1矢印
OBJ_TEXT1テキスト
OBJ_LABEL0ラベル
OBJ_BUTTON0ボタン
OBJ_BITMAP1画像の表示範囲
OBJ_BITMAP_LABEL0画像のラベル
OBJ_EDIT0編集可能なラベル
OBJ_EVENT1時間ラベル(指標などのイベントに印)
OBJ_RECTANGLE_LABEL0四角形ラベル(拡大縮小可能)

 

オブジェクトの種類の定数の使い方

主に、ObjectCreate関数の引数として使われます。

ObjectCreate関数の引数は、基本的に6つですが、アンカーポイントの数だけ引数が増えます。

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

//アンカーポイントが0の場合(ラベルを作成)
   ObjectCreate(ChartID(), "obj_label", OBJ_LABEL, 0, 0, 0);

//アンカーポイントが1の場合(垂直線を作成)
   ObjectCreate(ChartID(), "obj_vline", OBJ_VLINE, 0, Time[10], 110.0);

//アンカーポイントが2の場合(トレンドラインを作成)
   ObjectCreate(ChartID(), "obj_tline", OBJ_TREND, 0, Time[10], 110.0, Time[20], 105.0);

//アンカーポイントが3の場合(等距離チャネルラインを作成)
   ObjectCreate(ChartID(), "obj_channel", OBJ_CHANNEL, 0, Time[10], 110.0, Time[20], 105.0, Time[3], 100.0);

 

このようにアンカーポイントによって、ObjectCreate関数の引数が増えていきますので、注意しましょう。

オブジェクトの種類の定数によっては、アンカーポイントが少なくても多くても、エラーがでないものもあります。

ハマりやすいところなので、よく使うオブジェクトは、コピペできるようにプログラムを保存しておいた方が良いと思います。

 

【補足】オブジェクトの種類の定数の列挙型(ENUM_OBJECT)

オブジェクトの種類の定数は、ENUM_OBJECT​という列挙型に含まれています。

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

以下のように使います。

ENUM_OBJECT object = OBJ_VLINE;

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