オブジェクトプロパティ値を取得 ObjectGetDouble 関数

関数

オブジェクト関数

ObjectGetDouble 関数

 この関数は、引数にチャートIDとオブジェクト名を指定して、そのオブジェクトのプロパティ値(double型)を取得します。
 取得するオブジェクトプロパティは double型である必要があります。

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

データ型と構成・戻り値

 データ型は 2種類あります。

double ObjectGetDouble(①,②,③,④);
bool   ObjectGetDouble(①,②,③,④,⑤);

 double型の戻り値は、指定したオブジェクトのプロパティ値(double型)を返します。
 bool型の戻り値は、⑤に値が設定されプロパティ値が成立する場合 ture、それ以外は falseを返します。

 発生するエラーについては、GetLastError関数で取得することが出来ます。

引数 [5]

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


引数名データ型単位初期値説明
chart_idlongチャートIDを指定します。現在のチャートIDは「0」を指定するか、ChartID関数を使うことで取得できます。
object_namestringチャート上に描画されているオブジェクト名を指定します。
prop_idintオブジェクトのプロパティID。
ENUM_OBJECT_PROPERTY_DOUBLE 列挙値から選択。
prop_modifierint0指定したプロパティの修飾子。
これは、フィボナッチツールとオブジェクトタイプの OBJ_PITCHFORK で必要になります。
double_vardouble&取得したプロパティ値を設定します。
※初期値があるものは省略可。但し、省略した引数以降は省略しなければなりません。bool型でObjectGetDouble関数を使用する時は省略できません。

使用例

ObjectGetDouble関数によるオブジェクトプロパティ値の取得

ObjectCreate関数で描画した Bid値の水平線の位置を ObjectGetDouble関数を使って取得します。

 ①現在の Bid値から+0.3円分として上側へ水平線を描画します。
 ②現在の Bid値から-0.3円分として下側へ水平線を描画します。

コード

// ObjectGetDouble関数によるオブジェクトタイプの取得
#property strict

void OnInit() {

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

ObjectCreate("obj1", OBJ_HLINE, 0, 0, Bid + 0.3);   // ①Bid値の水平線
ObjectCreate("obj2", OBJ_HLINE, 0, 0, Bid - 0.3);   // ②Bid値の水平線

ObjectSetInteger(0, "obj1", OBJPROP_COLOR, clrPink); // ①のカラーをピンクに設定
ObjectSetInteger(0, "obj2", OBJPROP_COLOR, clrCyan); // ②のカラーを水色に設定

Print("①Bid値+0.3 円=", ObjectGetDouble(0, "obj1", OBJPROP_PRICE), " 円"); // ①Ask値+0.3円
Print("②Bid値+0.3 円=", ObjectGetDouble(0, "obj2", OBJPROP_PRICE), " 円"); // ②Bid値-0.3円
}

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

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

結果 

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