MQL言語入門|変数と配列を使いこなそう!

変数と配列

 

この記事では、MetaQuotes Software社のMT4(MetaTrader4)をこれから始めようとする方を対象に、MQL言語入門として、変数と配列を解説します。

変数や配列は、プログラミング言語の基本ですから、EA(Expert Advisor)やインジケーターを自作するためには、絶対に覚えておく必要があります。

一見難しそうに感じるかもしれませんが、簡単ですから、ぜひ挑戦してみてください。

 

MT4が使える人気No.1FX業者
シストレするならMT4専用のVPS

変数

変数とは、データを代入する記号や文字列のことです。
プログラムの中で、あるデータを一時的に入れておく箱のようなものです。

 

変数の宣言

MQL言語では、変数を使うためには、事前に宣言する必要があります。

変数の宣言のやり方は、「int」や「double」などの変数の型、半角スペース、変数の名前、文の末尾を意味する「;」の順に記述します。

具体的にはこう書きます。

int a;

これで、「int型の変数aを使う。」という宣言をしたことになります。

 

変数の初期化

変数は、宣言しただけではまだ中身は空っぽなので、初期化します。

変数の初期化とは、変数に値を入れることです。

a = 1;

変数に値を入れるには「=」を使います。

数学とは異なり、MQL言語の「=」は「左辺に右辺を代入する」という意味になります。

こんなふうに使います。

int a;
a = 1;
a = a+2;

これで、

1行目「int a;」で、int型の変数aを宣言しています。

2行目「a = 1;」では、変数aに1を代入しています。

3行目「a = a+2;」で、変数aの値に2を足した値を代入する、つまり1+2=3が変数aの値になります。

という意味になります。

 

配列

配列とは、同一の型のデータを一列に並べたものです。

配列は、複数の整列された変数の箱のようなものです。

1つの変数には1つのデータしか入れられませんが、配列にはたくさんのデータを格納することができます。

配列も、変数と同じように、宣言と初期化が必要です。

 

配列の宣言

配列の宣言のやり方は、変数と同じで、配列の型、半角スペース、配列の名前、文の末尾を意味する「;」の順に記述します。

具体的にはこう書きます。

int name[];

これで、「int型の配列name[]を使う。」という宣言をしたことになります。

[]内には添え字(データの数)を書きます(書かなくても大丈夫です)。

 

配列の初期化

配列も、変数と同じで、宣言しただけではまだ中身は空っぽなので、「=」を使って初期化します。

例えば、

double number[3];
number[0] = 1;
number[1] = 2;
number[2] = number[0]+number[1];

これで、
1行目「double number[3];」で、double型の配列number(データ数は3)を宣言しています。

2行目「number[0] = 1;」では、配列numberの1つ目の箱に1を代入しています。

3行目「number[1] = 2;」では、配列numberの2つ目の箱に2を代入しています。

4行目「number[2] = number[0]+number[1];」では、配列numberの3つ目の箱に、1つ目の箱の値(1)と2つ目の箱の値(2)を足した値(1+2=3)を代入しています。

という意味になります。

 

まとめ

今回は、MQL言語入門として、変数と配列について解説しました。

変数はデータを入れる箱で、配列は複数の整列された変数の箱と考えれば、イメージしやすいと思います。

変数や配列を使えば、複雑な計算式を何度も書く必要がなくなるので、プログラムを読みやすくし、処理速度も速くなります。

EAやインジケーターを思いどおりに自作するために、ぜひ使いこなせるようになってください。

 

MQL言語入門まとめ

これまでにMQL言語入門として書いた記事がたまってきましたのでまとめました。

【保存版】MQL言語入門まとめ|EA・インジケーターの作り方
せっかくMT4を使うなら、あなたオリジナルのEAやインジケーターを自作してみませんか。「プログラミングなんて自分にはとても無理だ」と思うかもしれませんが、そんなことありません。最低限知っておくべきことさえ押さえておけば、簡単にできます。

 

おすすめ書籍

もっと本格的にMQL言語を使いこなしたいなら、以下の書籍がおすすめです。

私もこの本で勉強しました。

MQL言語入門

●免責及び注意事項●
当サイトの全てのコンテンツは管理人自身による情報の提供を目的としており、決して投資行動を勧誘・助言するものではありません。
投資商品、売買価格決定等の投資行動につきましては、ご自身の判断と責任に基づいて行われるようお願いいたします。
また、個々の取引において生じたいかなる損失についても、本ブログサイトおよびその管理者は一切の責任を負いかねます。

Startup!

コメント