MQLのbool型を数字で扱った場合

MQLでbool型は数字でどう扱われるか?

 

MQLのbool型変数を数字で表してみる

インジケータや EA のソースコードを見ていていつも思い出せないのが、この bool 型 が数字で扱われた場合の実値。

bool は true/false、すなわち真偽の値としてコーディングして欲しいし、数値なら数値として int 型でコーディングしたらいいのではと思うのですが、bool と int をごちゃ混ぜにして扱った方が便利なんでしょうか・・・。コードの可読性を考えるとどうなのか。。。

ということで、備忘のためにも確認して記録することにしました。

スポンサーリンク

 

用意したスクリプト

用意、と言っても、bool 型変数を int 型にキャストしてコメントとしてチャートに表しただけのものです。

 

出力結果

冒頭の画面ショットでも表現されていますが、以下の結果になりました。

  1. true を int で表すと「1」
  2. false を int で表すと「0」
  3. int の「1」は bool の「true」で『真』
  4. int の「0」は bool の「false」で『真』
  5. int の「2」は bool の「true」でも「false」でもない
  6. int の「-1」は bool の「true」でも「false」でもない

もしかするとバージョンによって、特に上記の5、6の結果は異なるのかもしれませんが、if 文を使った評価式で bool と int がごちゃ混ぜに使われていたら、コレを覚えておくと便利かもしれませんね。

 

個人的には、true/false の話よりも、チャートでユーロドルがびよーんと伸びているほうが気になってしまう・・・

 

スポンサーリンク