ObjectGetValueByTime 関数
この関数は、チャート上の指定した「オブジェクト」で描画した中の指定した時間(X軸)の、価格(Y軸)を取得します。
また、この関数はENUM_OBJECT 列挙値の中にある次の「オブジェクト」のみで使うことができます。
値 | 定数 | 説明 |
---|---|---|
2 | OBJ_TREND | トレンドライン |
3 | OBJ_TRENDBYANGLE | 角度別トレンドライン |
4 | OBJ_REGRESSION | 線形回帰 |
5 | OBJ_CHANNEL | 等距離チャネル |
6 | OBJ_STDDEVCHANNEL | 標準偏差チャネル |
7 | OBJ_GANNLINE | ギャンライン |
データ型と構成・戻り値
double ObjectGetValueByTime(①,②,③,④);
戻り値は、指定した「オブジェクト」の中で指定した時間の価格を返します。
引数 [4]
ObjectGetValueByTime関数は 4個の引数で構成されます。
番 号 | 引数名 | データ型 | 単位 | 初期値 | 説明 |
---|---|---|---|---|---|
① | chart_id | long | - | - | チャートIDを指定します。現在のチャートIDは「0」を指定するか、ChartID関数を使うことで取得できます。 |
② | object_name | string | - | - | チャート上に描画されているオブジェクト名を指定します。 |
③ | time | datetime | - | - | 時間値。 |
④ | line_id | int | - | 0 | 行識別子。 |
使用例
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();
}
コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)