MARKET
MT4ツールを、数字で作る。— Team REI|平日の朝に「相場分析」を更新しています|

ObjectSetInteger / ObjectGetInteger ― オブジェクトの整数の設定を読み書きする|MQL4/MQL5リファレンス

MQLリファレンス›関数オブジェクトObjectSetInteger
(‘both’, ‘MQL4 / MQL5 両対応’)チャート描画

ObjectSetIntegerオブジェクトの整数の設定を読み書きする(ObjectGetIntegerは読むだけ)

オブジェクトの位置・色・大きさなど、整数で表す設定を変える/読む。座標(XDISTANCE等)や色(COLOR)など、パネル作りでいちばんよく呼ぶ関数。

1書式

bool ObjectSetInteger(
   long chart_id,
   string name,
   ENUM_OBJECT_PROPERTY_INTEGER prop_id,   // OBJPROP_XDISTANCE 等
   long value
);
long ObjectGetInteger(
   long chart_id,
   string name,
   ENUM_OBJECT_PROPERTY_INTEGER prop_id
);

書式はMQL4・MQL5でほぼ同じ(プロパティの並びに違いがあるものもある)。

2引数

引数 内容
chart_id 対象のチャート
name 対象のオブジェクト名
prop_id 変えたい設定項目。OBJPROP_XDISTANCE・OBJPROP_COLOR・OBJPROP_CORNERなど
value Setのみ 設定する値

3戻り値

Setは成功でtrue。Getは設定されている値。

4使用例

ObjectSetInteger(0, "mylabel", OBJPROP_XDISTANCE, 10);
long x = ObjectGetInteger(0, "mylabel", OBJPROP_XDISTANCE);
Print("いまのX座標: ", x);

MetaEditorでコンパイル0エラー・0警告を確認済み。

6よくある罠

⚠ 実務で踏んだもの
  • 値が同じでも毎ティック書き込むと、無駄な描画の更新が起きる。先にObjectGetIntegerで読み、値が違うときだけObjectSetIntegerで書き込むと、ちらつきや負荷を防げる。

7関連する関数

REI-FX&BO OFFICIAL LINE

ツールのダウンロードパスワードは
公式LINEで、すぐ届きます。

友だち追加の自動返信でパスワードをお送りします。
新しいツールの公開や、検証でわかったことも先にお知らせします。

全ツールのパスワード新作ツールをいち早く配信は月1〜2回だけ
LINEで友だち追加 パスワードを受け取る ›

追加後にひとことメッセージをいただけると、ツールづくりの参考にします。