EA(自動売買)のプログラムを書くうえで、変数は避けて通れない超基本の概念です。
「今のレートはいくらか」「何ロットで発注するか」といった一時的な情報を覚えておくための箱が、変数の役割です。
- 変数とは何か(「情報を入れる箱」というイメージ)
- EAでよく使う変数の具体例(価格・ロット数・フラグなど)
- MQL4での変数の「宣言」と「代入」の基本
本記事はEAプログラミング入門シリーズ「STEP5」です。
STEP4で条件のルール(演算子)を学んだら、次はその条件で扱う「データそのもの」を入れておく変数を理解していきましょう。
それではまず、「変数=情報を入れる箱」というイメージから整理していきましょう。
📦 変数とは?|情報を入れる箱を理解しよう
変数とは、簡単に言うと「情報を入れる箱」です。
プログラムでは、情報を整理して管理するために「箱」を使います。
例えば私生活でいうと…
- 紙を入れるクリアファイル
- 小物をまとめるダンボール箱
- 水を運ぶバケツ
…のようなものです。
FXで言えば、現在の買値(Ask)やトレード回数などの情報を入れておくのが変数の役割です。
変数はなぜ必要?その重要性を理解しよう
実は、変数を使わなくてもプログラムは動きます。
ただ、変数がないとコードが散らかってしまい、管理がとても難しくなります。
イメージは「部屋に収納ボックスがない状態」。
物が増えると散らかってしまいますよね?
プログラムも同じで、変数を使うことでスッキリ整理できるんです。
変数の使い方を具体例で理解しよう
以下のコードは、Askの値を変数に入れて使う例です。
double dNowAsk; // 変数の宣言(箱を作る)
dNowAsk = Ask; // Askの値を変数にセット
if (dNowAsk == High[1]) {
Comment("↓:", dNowAsk);
} else {
Comment("↑:", dNowAsk);
}
doubleは「箱の種類」dNowAskは「箱の名前」
double は小数点を扱う数字用の箱のこと。
変数名は自由に決められますが、分かりやすくつけるのがコツです。
変数を使うメリットとは?
例えば複雑な計算を直接書くと…
if (Ask - Bid - High[2] + High[4] == High[1]) {
Comment("↓:", Ask - Bid - High[2] + High[4]);
} else {
Comment("↑:", Ask - Bid - High[2] + High[4]);
}
こんな風に読みにくくなってしまいます。
しかし変数に入れておくと…
double dNowAsk;
dNowAsk = Ask - Bid - High[2] + High[4];
if (dNowAsk == High[1]) {
Comment("↓:", dNowAsk);
} else {
Comment("↑:", dNowAsk);
}
スッキリ見やすくなり、もし計算式を変えたくなっても変数の中身だけ変えれば済むので管理が楽です。
変数の種類
変数にはいくつかの種類があります。主なものを紹介します。
| 変数の型 | 使い方の例 | 内容 |
|---|---|---|
double | 価格や小数点値 | 倍精度浮動小数点数 |
int | 回数など整数 | 整数 |
string | 文字列 | 文字の集合 |
bool | 真偽値 | true または false |
datetime | 日付 | 日付や時刻 |
✅ まとめ:変数を使いこなしてEA開発の基礎力アップ!
お疲れさまでした。今回の内容は変数の基礎的な使い方と、その役割についてでした。
- 変数は「情報を入れる箱」
- プログラムの整理整頓や修正を楽にするために重要
- 使うことでコードが読みやすくなり、バグも減らせる
- 最初は慣れなくても、変数を作るクセをつけることが大切
プログラムは書いて動かしてみることで理解が深まります。
ぜひ実際にコードを書いて、今回学んだ変数を使ってみてくださいね。
▶ 次回予告
次回は、プログラミングの幅が広がる「関数」について解説します!
🧩 EAプログラミング入門シリーズ(超初心者向け)
- STEP0:EAとは?仕組みとプログラムの基礎
- STEP1:MT4の基本ソースコードを理解する
- STEP2:実際にコードを書いて動かす
- STEP3:if文の仕組みを理解する
- STEP4:演算子で条件分岐を強化する
- STEP5:変数の基礎を理解する
- STEP6:関数でコードを整理する
- STEP7:OrderSendとOrdersTotalの基礎
- STEP8:移動平均線でエントリーする方法












コメント