オブジェクトの時間から価格を取得 ObjectGetValueByTime 関数

関数

オブジェクト関数

ObjectGetValueByTime 関数

この関数は、チャート上の指定した「オブジェクト」で描画した中の指定した時間(X軸)の、価格(Y軸)を取得します。

また、この関数はENUM_OBJECT 列挙値の中にある次の「オブジェクト」のみで使うことができます。

定数説明
2OBJ_TREND トレンドライン
3OBJ_TRENDBYANGLE 角度別トレンドライン
4OBJ_REGRESSION 線形回帰
5OBJ_CHANNEL 等距離チャネル
6OBJ_STDDEVCHANNEL 標準偏差チャネル
7OBJ_GANNLINE ギャンライン

 

データ型と構成・戻り値

double ObjectGetValueByTime(①,②,③,④);

戻り値は、指定した「オブジェクト」の中で指定した時間の価格を返します。

引数 [4]

ObjectGetValueByTime関数は 4個の引数で構成されます。


引数名データ型単位初期値説明
chart_idlongチャートIDを指定します。現在のチャートIDは「0」を指定するか、ChartID関数を使うことで取得できます。
object_namestringチャート上に描画されているオブジェクト名を指定します。
timedatetime時間値。
line_idint0行識別子。
※初期値があるものは省略可。但し、省略した引数以降は省略しなければなりません。

使用例

ObjectGetValueByTime関数による時間の取得

ObjectCreate関数でトレンドラインを描画して、そのトレンドライン中の時間値を指定して、その時の価格を取得します。時間値は、最新のバーを 0として 9番目のバーを指定しています。

コード

// ObjectGetValueByTime関数による時間の取得
#property strict

void OnInit() {

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

int aa=26, bb=0;    // トレンドラインの位置を設定

ObjectCreate("obj", OBJ_TREND, 0, Time[aa], Open[aa], Time[bb], Open[bb]); // トレンドライン描画

datetime t=Time[9]; // 時間値(X軸)の指定
Print("価格値 (Y軸):", ObjectGetValueByTime( 0, "obj", t));
Print("取得日時(X軸):", t);
}

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

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

結果 

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