オブジェクトプロパティを変更 ObjectSetInteger 関数

関数

オブジェクト関数

ObjectSetInteger 関数

この関数は、引数にチャートIDとオブジェクト名を指定して、そのオブジェクトプロパティ値(int・bool・color・datetime・char型)を設定することで、オブジェクトの色や線幅などのスタイルを変更することができます。

ObjectSet関数と動作は似ていますが、引数にチャートIDの使用有無で違いがあります。

データ型と構成・戻り値

bool ObjectSetInteger(①, ②, ③, ④, ⑤);

戻り値は、成功した時は true、それ以外は falseを返します。
発生するエラーについては、GetLastError関数で取得することができます。

引数 [5]

ObjectSetInteger関数は 5個の引数で構成されます。


引数名データ型単位初期値説明
chart_idlongチャートIDを指定します。現在のチャートIDは「0」を指定するか、ChartID関数を使うことで取得できます。
object_namestringチャート上に描画されているオブジェクト名を指定します。
prop_idintオブジェクトのプロパティID。
ENUM_OBJECT_PROPERTY_INTEGER 列挙値から選択。
prop_modifierint0指定したプロパティの修飾子。
これは、フィボナッチツールとオブジェクトタイプの OBJ_PITCHFORK で必要になります。
prop_valueint, bool, color, datetime, char③に対するプロパティ値。
int・bool・color・datetime・char型を使用。
※④は初期値があり省略できますが、⑤は省略不可です。

使用例

ObjectSetInteger 関数によるオブジェクトのスタイル設定

ObjectCreate関数で描画したものに対して、ObjectSetInteger関数を使ってそれぞれのオブジェクトにプロパティを以下のように変更します。

 ①垂直線を黄色にします。
 ②水平線を破線と点線にします。
 ③矢印の幅を広くして、色を水色にします。2つのプロパティを設定。

コード

// ObjectSetInteger関数によるオブジェクトのスタイル設定
#property strict

void OnInit() {

ObjectsDeleteAll();                               // オブジェクト全削除

ObjectCreate("obj1", OBJ_VLINE, 0, Time[10], 0);  // ①垂直線
ObjectCreate("obj2", OBJ_HLINE, 0, 0, Ask);       // ②水平線
ObjectCreate("obj3", OBJ_ARROW, 0, Time[5], Bid); // ③矢印

ObjectSetInteger(0,"obj1", OBJPROP_COLOR, clrYellow);      // ①のカラーを黄色に設定
ObjectSetInteger(0,"obj2", OBJPROP_STYLE, STYLE_DASHDOT);  // ②のスタイルを破線と点線に設定
ObjectSetInteger(0,"obj3", OBJPROP_WIDTH, 5);              // ③矢印の線の幅を5に設定
ObjectSetInteger(0,"obj3", OBJPROP_COLOR, clrCyan);        // ③矢印の色を水色に設定
}

void OnDeinit(const int reason) {
   ObjectsDeleteAll();
}

コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)

結果 

タイトルとURLをコピーしました