ObjectGetTimeByValue 関数
この関数は、チャート上の指定した「オブジェクト」で描画した中の指定した価格(Y軸)の、時間(X軸)を取得します。
また、この関数はENUM_OBJECT 列挙値の中にある次の「オブジェクト」のみで使うことができます。
| 値 | 定数 | 説明 | 
|---|---|---|
| 2 | OBJ_TREND |  トレンドライン | 
| 3 | OBJ_TRENDBYANGLE |  角度別トレンドライン | 
| 4 | OBJ_REGRESSION |  線形回帰 | 
| 5 | OBJ_CHANNEL |  等距離チャネル | 
| 6 | OBJ_STDDEVCHANNEL |  標準偏差チャネル | 
| 7 | OBJ_GANNLINE |  ギャンライン | 
データ型と構成・戻り値
datetime ObjectGetTimeByValue(①,②,③,④);戻り値は、指定した「オブジェクト」の中で指定した価格の時間を返します。
引数 [4]
ObjectGetTimeByValue関数は 4個の引数で構成されます。
| 番 号 | 引数名 | データ型 | 単位 | 初期値 | 説明 | 
|---|---|---|---|---|---|
| ① | chart_id | long | - | - | チャートIDを指定します。現在のチャートIDは「0」を指定するか、ChartID関数を使うことで取得できます。 | 
| ② | object_name | string | - | - | チャート上に描画されているオブジェクト名を指定します。 | 
| ③ | value | double | - | - | 価格値。 | 
| ④ | line_id | int | - | 0 | 行識別子。 | 
使用例
ObjectGetTimeByValue関数による時間の取得
ObjectCreate関数でトレンドラインを描画して、そのトレンドライン中の価格値を Bid値として指定、その時の時間を取得します。
コード
// ObjectGetTimeByValue関数による時間の取得
#property strict
void OnInit() {
ObjectsDeleteAll(); // オブジェクト全削除
int aa=22, bb=5;    // トレンドラインの位置を設定
ObjectCreate("obj", OBJ_TREND, 0, Time[aa], Close[aa], Time[bb], Close[bb]); // トレンドライン描画
double b=Bid;       // 価格値(Y軸)の指定
Print("取得日時(X軸):", ObjectGetTimeByValue( 0, "obj", b));
Print("価格値 (Y軸):", b);
}
void OnDeinit(const int reason) {
   ObjectsDeleteAll();
}コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)
結果


