2018年6月6日水曜日

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

MQL で input を定義する際、型を [enum](https://docs.mql4.com/basis/types/integer/enumeration) にすることで input parameters をドロップダウンリストにすることができます。



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

```mq4
//--- input parameters
input ENUM_DAY_OF_WEEK swapday = FRIDAY;
```

どんな組み込み enum があるか知りたい場合、 [MQL4 Reference の constants のページ](https://docs.mql4.com/constants) に定義リストがあります。 ただし、単なる定数と混ざっているので探すのは面倒です。 MetaEditor で `ENUM_` と打って、補完リストからそれらしいものを検索する方が早いかもしれません。 ### 独自の Enum を定義して使う 独自の Enum を定義することも可能です。 ```mq4 enum dayOfWeek { Sun=0, // 日曜日 Mon=1, // 月曜日 Tue=2, // 火曜日 Wed=3, // 水曜日 Thu=4, // 木曜日 Fri=5, // 金曜日 Sat=6, // 土曜日 }; //--- input parameters input dayOfWeek swapday = Wed; ```
特筆すべきは、各Enum値のコメントが各アイテムの値として表示されることですこちらは strict モードでなくても動作するようです。 [input parameters にスペースを入れたりして見やすくする方法](https://strategyofc.blogspot.com/2018/06/mql4-input-parameters.html) と合わせて使うとわかりやすいでしょう。 ### でも日本語は使わない方がよい 例として日本語を使っておいて何ですが、日本語は使わない方がよいと思います これ、毎回書いています…
なら日本語の例出すなって話なんですが、コメント云々になるとやはり日本語の方が見た目が良いんですよね…
。 > 参考 > > [MQL4 内で日本語は使わない方が良い | Strategy of C](https://strategyofc.blogspot.com/2018/05/mql4.html)