オブジェクトの種類の定数
オブジェクトの種類の定数は、表示したいオブジェクトの種類を指定するときに使用します。
主に、ObjectCreate関数の引数として使われます。
ObjectCreate関数はオブジェクトを作成する関数です。
作成するときに、オブジェクトの種類を指定することで、線や矢印などを表示させることができます。
例えば、トレンドラインを表示したいとき、始点と終点を指定する必要があります。
それらの点のことを、アンカーポイントと呼びます。
表示したいオブジェクトによって、アンカーポイントの数が異なりますので、注意しましょう。
オブジェクトの種類の定数(ENUM_OBJECT)
定数 | アンカー数 | 説明 |
OBJ_VLINE | 1 | 垂直線 |
OBJ_HLINE | 1 | 水平線 |
OBJ_TREND | 2 | トレンドライン |
OBJ_TRENDBYANGLE | 1+角度 | トレンドライン(角度) |
OBJ_CYCLES | 2 | サイクルライン |
OBJ_ARROWED_LINE | 2 | 矢印線 |
OBJ_CHANNEL | 3 | 等距離チャネルライン |
OBJ_STDDEVCHANNEL | 2 | 標準偏差チャネルライン |
OBJ_REGRESSION | 2 | 線形回帰チャネルライン |
OBJ_PITCHFORK | 3 | アンドリューズ・ピッチフォーク |
OBJ_GANNLINE | 2 | ギャン・ライン |
OBJ_GANNFAN | 2 | ギャン・ファン |
OBJ_GANNGRID | 2 | ギャン・グリッド |
OBJ_FIBO | 2 | フィボナッチ・リトレースメント |
OBJ_FIBOTIMES | 2 | フィボナッチ・タイムゾーン |
OBJ_FIBOFAN | 2 | フィボナッチ・ファン |
OBJ_FIBOARC | 2 | フィボナッチ・アーク |
OBJ_FIBOCHANNEL | 3 | フィボナッチ・チャンネル |
OBJ_EXPANSION | 3 | フィボナッチ・エクスパンション |
OBJ_RECTANGLE | 2 | 長方形 |
OBJ_TRIANGLE | 3 | 三角形 |
OBJ_ELLIPSE | 2 | 楕円形 |
OBJ_ARROW_THUMB_UP | 1 | サムズアップ |
OBJ_ARROW_THUMB_DOWN | 1 | サムズダウン |
OBJ_ARROW_UP | 1 | 上矢印 |
OBJ_ARROW_DOWN | 1 | 下矢印 |
OBJ_ARROW_STOP | 1 | ストップサイン |
OBJ_ARROW_CHECK | 1 | チェックサイン |
OBJ_ARROW_LEFT_PRICE | 1 | 価格ラベル(左に表示) |
OBJ_ARROW_RIGHT_PRICE | 1 | 価格ラベル(右に表示) |
OBJ_ARROW | 1 | 矢印 |
OBJ_TEXT | 1 | テキスト |
OBJ_LABEL | 0 | ラベル |
OBJ_BUTTON | 0 | ボタン |
OBJ_BITMAP | 1 | 画像の表示範囲 |
OBJ_BITMAP_LABEL | 0 | 画像のラベル |
OBJ_EDIT | 0 | 編集可能なラベル |
OBJ_EVENT | 1 | 時間ラベル(指標などのイベントに印) |
OBJ_RECTANGLE_LABEL | 0 | 四角形ラベル(拡大縮小可能) |
オブジェクトの種類の定数の使い方
主に、ObjectCreate関数の引数として使われます。
ObjectCreate関数の引数は、基本的に6つですが、アンカーポイントの数だけ引数が増えます。
例えば、以下のように使用します。
//アンカーポイントが0の場合(ラベルを作成)
ObjectCreate(ChartID(), "obj_label", OBJ_LABEL, 0, 0, 0);
//アンカーポイントが1の場合(垂直線を作成)
ObjectCreate(ChartID(), "obj_vline", OBJ_VLINE, 0, Time[10], 110.0);
//アンカーポイントが2の場合(トレンドラインを作成)
ObjectCreate(ChartID(), "obj_tline", OBJ_TREND, 0, Time[10], 110.0, Time[20], 105.0);
//アンカーポイントが3の場合(等距離チャネルラインを作成)
ObjectCreate(ChartID(), "obj_channel", OBJ_CHANNEL, 0, Time[10], 110.0, Time[20], 105.0, Time[3], 100.0);
このようにアンカーポイントによって、ObjectCreate関数の引数が増えていきますので、注意しましょう。
オブジェクトの種類の定数によっては、アンカーポイントが少なくても多くても、エラーがでないものもあります。
ハマりやすいところなので、よく使うオブジェクトは、コピペできるようにプログラムを保存しておいた方が良いと思います。
【補足】オブジェクトの種類の定数の列挙型(ENUM_OBJECT)
オブジェクトの種類の定数は、ENUM_OBJECTという列挙型に含まれています。
列挙型は、定数群をひとまとめにしたものです。
以下のように使います。
ENUM_OBJECT object = OBJ_VLINE;
上記のようにプログラムすると、object変数に OBJ_VLINEの数値が代入されます。