ObjectCreate()関数は、オブジェクトを作成・生成するために使用します。
ObjectCreate()関数は、以下のように定義されています。
bool ObjectCreate(
string object_name,
ENUM_OBJECT object_type,
int sub_window,
datetime time1,
double price1,
datetime time2=0,
double price2=0,
datetime time3=0,
double price3=0
);
各引数の意味は、以下のとおりです。
- string object_name
描画させるオブジェクトの名前を指定します。
名前は、オブジェクトを描画させる同じチャートウィンドウ(サブウィンドウを含む。)内において、複数のオブジェクト間で重複しないようにします。 - ENUM_OBJECT object_type
以下の表に従って、描画させるオブジェクトの種類を指定します。オブジェクトの種類
定 数 内 容 OBJ_VLINE 垂直線 OBJ_HLINE 水平線 OBJ_TREND トレンドライン OBJ_TRENDBYANGLE 角度によるトレンドライン OBJ_CYCLES サイクルライン OBJ_CHANNEL チャネル OBJ_STDDEVCHANNEL 標準偏差チャネル OBJ_REGRESSION 線形回帰 OBJ_PITCHFORK アンドリュース・ピッチフォーク OBJ_GANNLINE ギャンライン OBJ_GANNFAN ギャンファン OBJ_GANNGRID ギャングリッド OBJ_FIBO フィボナッチリトレースメント OBJ_FIBOTIMES フィボナッチタイムゾーン OBJ_FIBOFAN フィボナッチファン OBJ_FIBOARC フィボナッチ円弧 OBJ_FIBOCHANNEL フィボナッチチャネル OBJ_EXPANSION フィボナッチ拡張 OBJ_RECTANGLE 長方形 OBJ_TRIANGLE 三角形 OBJ_ELLIPSE 楕円 OBJ_ARROW_THUMB_UP サムズアップ OBJ_ARROW_THUMB_DOWN サムズダウン OBJ_ARROW_UP 上矢印 OBJ_ARROW_DOWN 下矢印 OBJ_ARROW_STOP ストップサイン OBJ_ARROW_CHECK チェックサイン OBJ_ARROW_LEFT_PRICE 価格ラベル(左側) OBJ_ARROW_RIGHT_PRICE 価格ラベル(右側) OBJ_ARROW_BUY 買いサイン OBJ_ARROW_SELL 売りサイン OBJ_ARROW 矢印 OBJ_TEXT テキスト OBJ_LABEL ラベル OBJ_BUTTON ボタン OBJ_BITMAP ビットマップ OBJ_BITMAP_LABEL ビットマップラベル OBJ_EDIT 編集枠 OBJ_EVENT 経済指標カレンダーに反応するイベントオブジェクト OBJ_RECTANGLE_LABEL カスタムグラフィカルインターフェースを作成したりデザインするオブジェクト - int sub_window
オブジェクトを描画させるウィンドウのウィンドウ番号を指定します。
メインのチャートウィンドウにオブジェクトを描画させたい場合は「0」と記述します。
ウィンドウ番号は、「0」以上「WindowsTotal()関数(詳細は「こちら」を参照してください。)で取得される値」未満となります。
オブジェクトを表示させるウィンドウが存在しない場合は、ObjectCreate()関数は、戻り値として「false」を返します。 - datetime time1
オブジェクトの1点目の位置(X軸の位置)を時間で指定します。 - double price1
オブジェクトの1点目の位置(Y軸の位置)を価格で指定します。 - datetime time2
オブジェクトの2点目の位置(X軸の位置)を時間で指定します。 - double price2
オブジェクトの2点目の位置(Y軸の位置)を価格で指定します。 - datetime time3
オブジェクトの3点目の位置(X軸の位置)を時間で指定します。 - double price3
オブジェクトの3点目の位置(Y軸の位置)を価格で指定します。
戻り値
オブジェクトが正常に生成された場合は「true」を返し、エラーが生じた場合は「false」を返します。
エラーの情報を取得したい場合は、GetLastError()関数(詳細は「こちら」を参照してください。)を使用します。
オブジェクトがすでに生成されている場合は、ObjectCreate()関数は、その座標を変更しようとします。
注意点
オブジェクトの名前は、63文字を超えることはできません。また、オブジェクトの名前は、ラテン文字を使用することが強く推奨されます。
「OBJECT_LABEL」タイプのオブジェクトは、座標を無視するので、当該オブジェクトの描画位置を指定するためには、ObjectSet()関数(詳細は「こちら」を参照してください。)を使用します。
メインのチャートウィンドウのウィンドウ番号は「0」となり、インジケーターが描画されているサブウィンドウのウィンドウ番号は「1」から始まります。
オブジェクトが描画される座標は、「時間」と「価格」のペアで指定されなければなりません。例えば、「OBJ_VLINE」タイプは、「時間」を指定するだけで位置を指定することはできますが、「価格」(どのような値でも可)も併せて渡さなければなりません。