【超入門】MQL5 EA講座 第32回「関係演算子(Relation Operations)」

MQL5でEA作ろう講座


前回は、前々回に引き続き計算処理(主に発展形の記述) について解説しました。↓

改めて前回の内容をおさらいをしておくと、

  • 変数に現在入っている値を使って、計算処理を行い、その計算結果を新たな値として変数に格納することもできる

ということをお伝えしました。

今回は 関係演算子 についてお話ししたいと思います。

スポンサーリンク
スポンサーリンク

関係演算子とは?

今回も、私たちが算数・数学で授業で習ってきたことの再確認でしかありません。

関係演算子とは、2つの値A,Bがあったとして、その2つを比較して、

「AよりBが大きい」

とか

「AとBは等しい」

とか

「AとBは等しくない」

など、

2つの値の関係性を明示するための記述群を指します。

A>B; //AはBより大きい

A<B; //AはBより小さい

A>=B;//AはBと同じか、Bより大きい

A>=B;//AはBと同じか、Bより小さい

A==B;//AはBと等しい

A!=B;//AはBと等しくない

いかかでしょうか?

「>」,「<」,「>=」,「<=」

に関しては、本当に算数・数学の授業で習ったことそのままなので、違和感を抱く方は少ないのではないかと思います。

あえて言えば、「>=」,「<=」に関しては、

記号を記述する順番に注意することぐらいでしょうか?

手書きだと不等号と等号を上下に重ねて書きますが、パソコンではそういうことはできませんからね。

正しい順番は

不等号→等号

です。

等号→不等号(=<,=>)の順番で書くと

「operand expected 」→「オペランド(演算の対象となる数値)が求めらています」

というコンパイルエラーが発生してしまいます。

注意したいのが

「==」です。

先にフライングして、↓

【超入門】MQL5 EA講座第9回「変数について」

にて、すでに書いているのですが、

「AはBと等しい」と書くときは

「A==B」と書かなくてはいけません。

「A=B」は「AにBの値を代入する」です!

日常生活の延長で考えると、ついついA=Bを等価演算と考えてしまいがちです。

プログラムを始めたての頃、よくこの手の記述ミスでプログラムが想定した動作にならないということが起こりがちなので注意しましょう。

「!=」もあまりなじみのない記号です。

「!=」

「等しくない」を表す否定(negation)の関係演算子です。

例えば、5と3を比較する場合、「5 != 3」と書くことで、「5と3は等しくない」という意味になります。

関係演算の戻り値について

戻り値については

関数の講座記事でも言及しているのですが、↓

関数による演算処理の結果

のことを言います。要は「答え」ですね。

例えば、「1+1」であれば「2」という「戻り値(=答え)」が返ってきます。

その考えでいくと、

A>B; //AはBより大きい

A<B; //AはBより小さい

戻り値とは何でしょうか?

いうまでもなく、正しい(true)か、正しくない(false)か、です。

つまり、関係演算子を用いた演算の戻り値bool型である、ということです。

※「bool型って何だっけ?」という方は↓をご覧ください。

実際にコードを書いて、関係演算における戻り値を確認してみましょう。

void OnStart()
  {
   int a=5;
   int b=3;

   bool varBool_1 = a>b;
   bool varBool_2 = a<b;
   bool varBool_3 = a==b;
   bool varBool_4 = a!=b;


//ログ出力
   Print("a>bは",varBool_1,
         " a<bは",varBool_2,
         " a==bは",varBool_3,
         " a!=bは",varBool_4);

  }

Print関数でログ出力した結果は以下の通りです。↓

順を追ってみていきましょう。

変数「a」「b」にはそれぞれ、「5」「3」が格納されています。

それぞれの演算の戻り値を格納するbool型変数を4つ用意し、演算結果を代入します。

  • a>b すなわち「5は3より大きい」 は「正しい」のでtrueが出力される
  • a<b すなわち「5は3より小さい」 は「正しくない」のでfalseが出力される
  • a==b すなわち「5は3と等しい」 は「正しくない」のでfalseが出力される
  • a!=b すなわち「5は3と等しくない」 は「正しい」のでtrueが出力される

となります。

まとめ

今回は関係演算子 について解説しました。

今回の記事では以下のことを学びました

  • 関係演算子とは、2つの値を比較してその関係性を明示する記述である

今回は以上になります。

最後までお読みいただきありがとうございました<m(__)m>

【超入門】MQL5 EA講座 第31回「計算に関する記述 その2-発展編-」

    →【超入門】MQL5 EA講座 第33回「AND条件、OR条件の記述(論理積・論理和)」

コメント

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