
MQL4MQL5 オブジェクト
ObjectGetDouble()
- できること
- オブジェクトの価格などを取得する
- 対応
- MQL4・MQL5
ObjectGetDouble() とは
オブジェクトの小数の設定(価格など)を取得する関数です。手で引いた水平線の価格を EA で読み取る、といった使い方ができます。
ObjectGetDouble() の書式と引数
引数の組み合わせが違う 2 通りの書き方があります。
double ObjectGetDouble(
long chart_id,
string name,
ENUM_OBJECT_PROPERTY_DOUBLE prop_id,
int prop_modifier=0
)
bool ObjectGetDouble(
long chart_id,
string name,
ENUM_OBJECT_PROPERTY_DOUBLE prop_id,
int prop_modifier,
double &double_var
)| 引数 | 型 | 省略時 | 説明 |
|---|---|---|---|
chart_id | long | 必須 | チャートの ID。今のチャートなら 0。 |
name | string | 必須 | オブジェクトの名前。 |
prop_id | ENUM_OBJECT_PROPERTY_DOUBLE | 必須 | 取得する項目。OBJPROP_PRICE など。 |
prop_modifier | int | 0 | アンカーポイントの番号(価格の1点目は 0)。 |
double_var | double & | 必須 | 2つ目の書き方で、値を受け取る変数。 |
戻り値
1つ目の書き方は値そのもの。2つ目の書き方は成功したら true を返し、値は double_var に入ります。
ObjectGetDouble() の使い方(コード例)
MQL4・MQL5 共通
// "EntryLine" という名前の水平線を上抜けたら知らせる
double line;
if(ObjectGetDouble(0, "EntryLine", OBJPROP_PRICE, 0, line))
if(SymbolInfoDouble(_Symbol, SYMBOL_BID) > line)
Print("ラインを上抜けました:", line);OnTick()・OnStart() などの関数の中に書いて使う例です。MetaEditor でコンパイルできることを確認済みです。












