ENUMはEAパラメータとの相性抜群
#property strictとコメント文の意外な関係で触れましたが、#property strictを使うと、パラメータ名の箇所に変数名ではなくコメント文を表示できるようになります。
これには続きがありまして、実はENUM(列挙型)との併用が最強に便利なのです。
自作EAのパラメータを設計する際、何らかの手法をパラメータで変更できるようにしたいケースがあります。
代表的な例をあげるなら、移動平均の種類でしょうか。単純移動平均とか指数平滑移動平均とかです。
私は今まで、この手の種類を変更する類のパラメータには、1とか2とかを設定できるようにしていました。
ただ、この方法の場合、この数字が何を意味しているのか分かりにくい欠点がありました。「このパラメータが1だと、どうなるんだっけ?」ということが時々ありました。
そのため、別途パラメータの文字列等で補足説明する必要がありました。これが不便で分かりにくいなぁと常々感じておりました。
ENUMを使えば、この悩みを解決してくれるんです!例えば、こんな風にね。
これなら、いちいち文字列での補足説明は不要になります!素晴らしい!
上記画像のように表示するためには、以下のようにコーディングします。
#property strict // 中略 enum ENUM_ORIGINAL_METHOD{ Type1 = 1, // A手法 Type2 = 2, // B手法 Type3 = 3 // C手法 }; extern ENUM_MA_METHOD MA_Type = MODE_SMA; // 移動平均の種類 extern ENUM_ORIGINAL_METHOD Original_Type = Type3; // オリジナル手法の種類
なお、この記事はMT4でEA自作しちゃお~さんのinput変数を参考にして作成しました。
このサイト、欠かすことのできない存在になっておりますので、リンク集に追加することにしました。