【MQL4定数】オブジェクト設定の定数:Integer型(ENUM_OBJECT_PROPERTY_INTEGER)

【辞書】MQLリファレンス

オブジェクト設定の定数(Integer型)

オブジェクト設定の定数(Integer型)は、オブジェクト設定関数の引数として使用します。

主に、ObjectSetInteger関数と ObjectGetInteger関数です。

以下、関数の簡単な説明です。

  • ObjectSetInteger関数:オブジェクトの状態を設定する
  • ObjectGetInteger関数:オブジェクトの状態を取得する

 

ここで注意して欲しいのは、定数の数値が直接設定されるのではなく、定数の項目に値を設定するということです。

そのため定数の他に、別の値を設定する必要があります。

定数によって、入出力可能な型が決まっているので、それも確認しましょう。

 

オブジェクト設定の定数には、Integer型の他にも Double型、String型の3種類があります。

ここでは、Integer型の情報を記載しております。

ちなみに Integer型とは、「int型・bool型・color型・datetime型・列挙型」を指します。

 

オブジェクト設定の定数:Integer型(ENUM_OBJECT_PROPERTY_INTEGER)

定数入出力の型設定する項目
OBJPROP_COLORcolorオブジェクトの色
OBJPROP_STYLEENUM_LINE_STYLE線の種類
OBJPROP_WIDTHint線の幅
OBJPROP_BACKboolオブジェクトの背景表示
OBJPROP_ZORDERlongクリックイベントの優先度
大きいオブジェクトからクリックされる
参考:CHARTEVENT_CLICK
OBJPROP_FILLboolオブジェクトの塗りつぶしの許可
OBJPROP_HIDDENboolオブジェクトリストに表示させない
OBJPROP_SELECTEDboolオブジェクトの選択状態
OBJPROP_READONLYboolテキストを編集させない
参考:OBJ_EDIT
OBJPROP_TYPEENUM_OBJECTオブジェクトの種類
OBJPROP_TIMEdatetimeアンカーポイントの位置(時間軸)
OBJPROP_SELECTABLEboolオブジェクトの選択の許可
OBJPROP_CREATETIMEdatetimeオブジェクトの作成日時
OBJPROP_LEVELSintレベルラインの値
参考:RSIなど
OBJPROP_LEVELCOLORcolorレベルラインの色
OBJPROP_LEVELSTYLEENUM_LINE_STYLEレベルラインの線の種類
OBJPROP_LEVELWIDTHintレベルラインの太さ
OBJPROP_ALIGNENUM_ALIGN_MODEテキストの左寄せ・中央・右寄せ
OBJPROP_FONTSIZEintフォントサイズ
OBJPROP_RAY_RIGHTbool線の右端の延長表示
OBJPROP_ELLIPSEbool完全な楕円を表示
参考:OBJ_FIBOARC
OBJPROP_ARROWCODEchar矢印コード
OBJPROP_TIMEFRAMESOBJ_PERIODオブジェクトを表示する時間足
OBJPROP_ANCHOR①ENUM_ARROW_ANCHOR
②ENUM_ANCHOR_POINT
アンカーポイントの設定
参考①:OBJ_ARROW
参考②:OBJ_LABEL, OBJ_BITMAP_LABEL, OBJ_TEXT
OBJPROP_XDISTANCEintチャート四隅からのX軸距離(pixel)
OBJPROP_YDISTANCEintチャート四隅からのY軸距離(pixel)
OBJPROP_STATEboolボタン押下の状態
OBJPROP_XSIZEintオブジェクトの幅(pixel)
OBJPROP_YSIZEintオブジェクトの高さ(pixel)
OBJPROP_XOFFSETintX軸方向の表示開始位置(pixel)
参考:OBJ_BITMAP,OBJ_BITMAP_LABEL
OBJPROP_YOFFSETintY軸方向の表示開始位置(pixel)
参考:OBJ_BITMAP,OBJ_BITMAP_LABEL
OBJPROP_BGCOLORcolor背景色
参考:OBJ_EDIT, OBJ_BUTTON, OBJ_RECTANGLE_LABEL
OBJPROP_CORNERENUM_BASE_CORNERアンカーポイントの基準点
OBJPROP_BORDER_TYPEENUM_BORDER_TYPE枠線の種類
参考:OBJ_RECTANGLE
OBJPROP_BORDER_COLORcolor枠線の色
参考:OBJ_EDIT , OBJ_BUTTON

 

オブジェクト設定の定数(Integer型)の使い方

主に、ObjectSetInteger関数と ObjectGetInteger関数で使用されます。

ObjectSetInteger関数を実行する場合は、定数の他にInteger型の値を入力します。

ObjectGetInteger関数を実行する場合は、定数だけで問題ありません。

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

  //ObjectSetInteger関数
  //オブジェクトの線の太さを3に設定
  bool objectSetInteger = ObjectSetInteger(ChartID(),"obj_name",OBJPROP_WIDTH,3);


  //ObjectGetInteger関数
  //オブジェクトの線の太さを取得
  int objectGetInteger = ObjectGetInteger(ChartID(),"obj_name",OBJPROP_WIDTH);

 

返り値はobjectSetInteger関数はbool型で、ObjectGetInteger関数はInteger型です。

実際にプログラミングするときは、上記の表にしたがって、正しい変数の型を入力・出力してください。

 

【補足】オブジェクト設定の定数の列挙型(ENUM_OBJECT_PROPERTY_INTEGER)

オブジェクト設定の定数(Integer型)は、ENUM_OBJECT_PROPERTY_INTEGER​という列挙型に含まれています。

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

以下のように使います。

ENUM_OBJECT_PROPERTY_INTEGER objectPropertyInteger = OBJPROP_WIDTH;

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