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();
}
コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)