ChartXYToTimePrice 関数
この関数は、チャート上で指定した座標位置の日時と価格、ウィンドウ番号を取得します。指定する座標位置はピクセル単位です。座標の原点は左上隅で、X軸座標は左端からのピクセル値、Y軸座標は上部からのピクセル値になります。
データ型と構成・戻り値
bool ChartXYToTimePrice(①, ②, ③, ④, ⑤, ⑥);
戻り値は、処理が成功した場合は true、それ以外は falseを返します。
発生するエラーについては、GetLastError関数で取得することができます。
引数 [6]
ChartXYToTimePrice関数は 6個の引数で構成されます。
番 号 | 引数名 | データ型 | 単位 | 初期値 | 説明 |
---|---|---|---|---|---|
① | chart_id | long | - | - | 対象とするチャートID。 0は現在のチャートを表します。 |
② | x | int | pixel | - | X軸座標 (ピクセル)。原点はメインチャートウィンドウの左上隅です。 |
③ | y | int | pixel | - | Y軸座標 (ピクセル)。原点はメインチャートウィンドウの左上隅です。 |
④ | sub_window | int& | - | - | チャートウィンドウの番号を取得する変数。0はメインウィンドウ、1以上はサブウィンドウになります。 |
⑤ | time | datetime& | - | - | 引数②から取得されるチャート上の日時。 |
⑥ | price | double& | - | - | 引数③から取得されるチャート上の価格。 |
使用例
ChartXYToTimePrice関数による指定座標位置の日時と価格の取得
ChartXYToTimePrice関数を使って指定した座標位置の日時と価格、ウィンドウ番号を取得します。指定する座標位置は、チャートの真ん中とします。
コード
// ChartXYToTimePrice関数による指定座標位置の日時と価格の取得
#property strict
void OnInit() {
ObjectsDeleteAll();
int w, x_wide, y_hight;
datetime x;
double y;
x_wide = (int)(ChartGetInteger(0, CHART_WIDTH_IN_PIXELS)/2); // X軸の真ん中
y_hight = (int)(ChartGetInteger(0, CHART_HEIGHT_IN_PIXELS)/2); // Y軸の真ん中
ChartXYToTimePrice(0, x_wide, y_hight, w, x, y);
Print("ウィンドウ番号:", w, " 日時:", x, " 価格:", y);
ObjectCreate("VLINE", OBJ_VLINE, 0, x, 0); // 垂直線
ObjectCreate("HLINE", OBJ_HLINE, 0, 0, y); // 水平線
}
void OnDeinit(const int reason) {
ObjectsDeleteAll();
}
コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)