定義済み変数 vs システム関数(MQL4)

📘 定義済み変数 vs システム関数(MQL4)

1️⃣ 定義済み変数(Predefined Variables)

  • MetaTrader 4 が最初から提供している「変数」や「配列」
  • ユーザーが宣言しなくても使える
  • 値が 自動的に更新される
  • 主に チャート上の価格データや環境情報 を表す

🔹 代表例

変数内容
Open[]各バーの始値
High[]各バーの高値
Low[]各バーの安値
Close[]各バーの終値
Time[]各バーの時間
Volume[]各バーのティック数
Digits通貨ペアの小数点桁数
Point通貨ペアの最小単位

👉 例:

double currentClose = Close[0];  // 今の足の終値
int digitCount = Digits;         // 桁数

2️⃣ システム関数(System Functions)

  • MetaTrader 4 が最初から提供している「関数」
  • 呼び出すと その時点の値を返す
  • 主に 口座情報・環境情報・取引情報 を取得するために使う
  • 引数を与える場合もある

🔹 代表例

関数内容
AccountBalance()口座残高
AccountEquity()有効証拠金
AccountFreeMargin()余剰証拠金
AccountNumber()口座番号
Symbol()現在のチャート銘柄
Period()現在の時間足
TimeCurrent()サーバー時刻
OrdersTotal()現在の注文数

👉 例:

double balance = AccountBalance();   // 残高を取得
string symbol = Symbol();            // 現在の銘柄
datetime now  = TimeCurrent();       // サーバー時間

3️⃣ 違いを整理

比較項目定義済み変数システム関数
正体変数/配列関数
宣言の必要不要不要
値の更新自動更新呼び出し時に取得
主な用途ローソク足データ、桁数などのチャート情報口座・環境・取引情報の取得
Close[0], Digits, Time[1]AccountBalance(), Symbol(), TimeCurrent()

✅ まとめ

  • 定義済み変数 → 値(配列や環境データ)が 常に保持されている
  • システム関数 → 呼び出すことで その瞬間の値を返す

つまり:
📌 「変数」=いつでも読めるデータ
📌 「関数」=呼び出して初めて返ってくるデータ

コメント

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