ObjectSetDouble 関数
この関数は、引数にチャートIDとオブジェクト名を指定して、そのオブジェクトプロパティ値(double型)を設定することで、オブジェクトの設定を変更することができます。
ObjectSet関数と動作は似ていますが、引数にチャートIDの使用有無で違いがあります。
データ型と構成・戻り値
bool ObjectSetDouble(①, ②, ③, ④, ⑤);
戻り値は、成功した時は true、それ以外は falseを返します。
発生するエラーについては、GetLastError関数で取得することができます。
引数 [5]
ObjectSetDouble関数は 5個の引数で構成されます。
番 号 | 引数名 | データ型 | 単位 | 初期値 | 説明 |
---|---|---|---|---|---|
① | chart_id | long | - | - | チャートIDを指定します。現在のチャートIDは「0」を指定するか、ChartID関数を使うことで取得できます。 |
② | object_name | string | - | - | チャート上に描画されているオブジェクト名を指定します。 |
③ | prop_id | int | - | - | オブジェクトのプロパティID。 ENUM_OBJECT_PROPERTY_DOUBLE 列挙値から選択。 |
④ | prop_modifier | int | - | 0 | 指定したプロパティの修飾子。 これはフィボナッチツールとオブジェクトタイプの OBJ_PITCHFORK で必要になります。 |
⑤ | prop_value | double | - | - | ③に対するプロパティ値。 double型を使用。 |
使用例
ObjectSetDouble 関数によるオブジェクトのスタイル変更
ObjectCreate関数で描画したものに対して、ObjectSetDouble関数を使ってそれぞれのオブジェクトにプロパティを以下のように変更します。
①買値の水平線位置から 0.5円分上へ移動させます。
②売値の水平線位置から 0.5円分下へ移動させます。
コード
// ObjectSetDouble関数によるオブジェクトのスタイル変更
#property strict
void OnInit() {
ObjectsDeleteAll(); // オブジェクト全削除
ObjectCreate("obj1", OBJ_HLINE, 0, 0, Ask); // ①買値の水平線
ObjectCreate("obj2", OBJ_HLINE, 0, 0, Bid); // ②売値の水平線
ObjectSetInteger(0,"obj1", OBJPROP_COLOR, clrPink); // ①のカラーをピンクに設定
ObjectSetInteger(0,"obj2", OBJPROP_COLOR, clrCyan); // ②のカラーを水色に設定
ObjectSetDouble(0,"obj1", OBJPROP_PRICE, Ask+0.5); // ①Ask値+0.5円
ObjectSetDouble(0,"obj2", OBJPROP_PRICE, Bid-0.5); // ②Bid値-0.5円
}
void OnDeinit(const int reason) {
ObjectsDeleteAll();
}
コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)