如何在 mq5 中使用带有输入的枚举?
Ho to use enum with input in mq5?
我创建了枚举:
#property script_show_inputs
enum MYENUM
{
first,
second
};
input MYENUM response;
int OnInit()
{
if (response == first)
{
printf("first");
}
if (response == second)
{
printf("second");
}
}
它看起来在初始化之前有效,您可以单击下拉菜单并选择值。但是当 OnInit() 启动时,无论选择哪个,它总是默认 "first" 值。
如何将枚举与输入一起使用?
这是MQL4/5有点自省的地方。 input
的变量名称(在输入 window 中)将被其声明后的单行注释替换,枚举字段也是如此。
#property script_show_inputs
enum MYENUM
{
first, //First choice
second //Second choice
};
input MYENUM response = first; //Which choice?
int OnInit()
{
if (response == first)
printf("first");
else if (response == second)
printf("second");
}
输入 window 将读取 Which choice? | First choice
而不是 response | first
我创建了枚举:
#property script_show_inputs
enum MYENUM
{
first,
second
};
input MYENUM response;
int OnInit()
{
if (response == first)
{
printf("first");
}
if (response == second)
{
printf("second");
}
}
它看起来在初始化之前有效,您可以单击下拉菜单并选择值。但是当 OnInit() 启动时,无论选择哪个,它总是默认 "first" 值。
如何将枚举与输入一起使用?
这是MQL4/5有点自省的地方。 input
的变量名称(在输入 window 中)将被其声明后的单行注释替换,枚举字段也是如此。
#property script_show_inputs
enum MYENUM
{
first, //First choice
second //Second choice
};
input MYENUM response = first; //Which choice?
int OnInit()
{
if (response == first)
printf("first");
else if (response == second)
printf("second");
}
输入 window 将读取 Which choice? | First choice
而不是 response | first