XY座標位置の日時と価格を取得 ChartXYToTimePrice 関数

関数

チャート操作関数

ChartXYToTimePrice 関数

この関数は、チャート上で指定した座標位置の日時と価格、ウィンドウ番号を取得します。指定する座標位置はピクセル単位です。座標の原点は左上隅で、X軸座標は左端からのピクセル値、Y軸座標は上部からのピクセル値になります。

データ型と構成・戻り値

bool ChartXYToTimePrice(①, ②, ③, ④, ⑤, ⑥);

戻り値は、処理が成功した場合は true、それ以外は falseを返します。
発生するエラーについては、GetLastError関数で取得することができます。

引数 [6]

ChartXYToTimePrice関数は 6個の引数で構成されます。


引数名データ型単位初期値説明
chart_idlong対象とするチャートID。
0は現在のチャートを表します。
xintpixelX軸座標 (ピクセル)。原点はメインチャートウィンドウの左上隅です。
yintpixelY軸座標 (ピクセル)。原点はメインチャートウィンドウの左上隅です。
sub_windowint&チャートウィンドウの番号を取得する変数。0はメインウィンドウ、1以上はサブウィンドウになります。
timedatetime&引数②から取得されるチャート上の日時。
pricedouble&引数③から取得されるチャート上の価格。

使用例

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();
}

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

結果

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