ObjectGetString 関数
この関数は、引数にチャートIDとオブジェクト名を指定して、そのオブジェクトのプロパティ値 (string型) を取得します。
取得するオブジェクトプロパティはstring型である必要があります。
ObjectGet関数と動作は似ていますが、引数にチャートIDの使用有無で違いがあります。
データ型と構成・戻り値
データ型は 2種類あります。
string ObjectGetString(①, ②, ③, ④);
bool ObjectGetString(①, ②, ③, ④, ⑤);
double型の戻り値は、指定したオブジェクトのプロパティ値 (string型) を返します。
bool型の戻り値は、⑤に値が設定されプロパティ値が成立する場合 ture、それ以外は falseを返します。
発生するエラーについては、GetLastError関数で取得することができます。
引数 [5]
ObjectGetString関数は 5個の引数で構成されます。
番 号 | 引数名 | データ型 | 単位 | 初期値 | 説明 |
---|---|---|---|---|---|
① | chart_id | long | - | - | チャートIDを指定します。現在のチャートIDは「0」を指定するか、ChartID関数を使うことで取得できます。 |
② | object_name | string | - | - | チャート上に描画されているオブジェクト名を指定します。 |
③ | prop_id | int | - | - | オブジェクトのプロパティID。 ENUM_OBJECT_PROPERTY_STRING 列挙値から選択。 |
④ | prop_modifier | int | - | 0 | 指定したプロパティの修飾子。 これは、フィボナッチツールとオブジェクトタイプの OBJ_PITCHFORK で必要になります。 |
⑤ | string_var | string& | - | - | 取得したプロパティ値を設定します。 |
使用例
ObjectGetString関数によるオブジェクトプロパティ値の取得
ObjectSetText関数で描画したテキスト内容を、ObjectGetString関数を使って内容を取得します。
コード
// ObjectGetString関数によるオブジェクト文字列の取得
#property strict
void OnInit() {
int xpixcel = (int)(ChartGetInteger(0,CHART_WIDTH_IN_PIXELS));
int fontsize = 15;
int xWidth = xpixcel - 200; // 幅
int yHeight = 20; // 高さ
ObjectsDeleteAll(); // オブジェクト全削除
ObjectCreate("obj_text", OBJ_LABEL,0,0,0); // テキストラベルオブジェクト生成
ObjectSet("obj_text", OBJPROP_XDISTANCE,xWidth); // テキストラベルオブジェクトX軸位置設定
ObjectSet("obj_text", OBJPROP_YDISTANCE,yHeight); // テキストラベルオブジェクトY軸位置設定
ObjectSetText("obj_text", "フランのなるほどMT4", fontsize , "MS ゴシック" , clrYellow); // テキスト設定
Print("テキスト内容 :", ObjectGetString(0,"obj_text", OBJPROP_TEXT)); // テキスト内容
Print("テキストのフォント:", ObjectGetString(0,"obj_text", OBJPROP_FONT)); // テキスト使用フォント
}
void OnDeinit(const int reason) {
ObjectsDeleteAll();
}
コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)
結果
![](https://naruhodo-mt4.com/wp-content/uploads/2022/12/P283objectgetstring.jpg)