2018年6月6日水曜日

[MQL4] input parameters をドロップダウンリストにする方法

MQL で input を定義する際、型を enum にすることで input parameters をドロップダウンリストにすることができます。

組み込みの enum を使う

簡単なのは組み込みの enum を使ってみることでしょう。

1
2
//--- input parameters
input ENUM_DAY_OF_WEEK swapday = FRIDAY;

どんな組み込み enum があるか知りたい場合、 MQL4 Reference の constants のページ に定義リストがあります。 ただし、単なる定数と混ざっているので探すのは面倒です。

MetaEditor で ENUM_ と打って、補完リストからそれらしいものを検索する方が早いかもしれません。

独自の Enum を定義して使う

独自の Enum を定義することも可能です。

1
2
3
4
5
6
7
8
9
10
11
12
13
enum dayOfWeek
{
    Sun=0, // 日曜日
    Mon=1, // 月曜日
    Tue=2, // 火曜日
    Wed=3, // 水曜日
    Thu=4, // 木曜日
    Fri=5, // 金曜日
    Sat=6, // 土曜日
};
 
//--- input parameters
input dayOfWeek swapday = Wed;

特筆すべきは、各Enum値のコメントが各アイテムの値として表示されることです1

input parameters にスペースを入れたりして見やすくする方法 と合わせて使うとわかりやすいでしょう。

でも日本語は使わない方がよい

例として日本語を使っておいて何ですが、日本語は使わない方がよいと思います 2

参考

MQL4 内で日本語は使わない方が良い | Strategy of C

  1. こちらは strict モードでなくても動作するようです 
  2. これ、毎回書いています…
    なら日本語の例出すなって話なんですが、コメント云々になるとやはり日本語の方が見た目が良いんですよね… 
?