时间范围为变量,哪种声明类型?

时间:2019-05-22 15:41:54

标签: mql4 mt4

我正在研究MQL4专家顾问。该顾问使用2个单独的 其信号和进入/退出的时间表。到目前为止,我已经使用“输入”来允许用户为较高的时间范围指示器选择所需的时间范围。

我想删除该选项,并在我的代码中自动设置优化对。我尝试启动变量“ IndicatorTF”,然后为它分配所需时间范围的值。

我代码的其他每个部分都运行良好,但是以编程方式设置和更改时间范围对我来说是新的。

如果我尝试全局初始化变量“ IndicatorHTF”,然后在“ On Init”中实际设置值,则会收到一条错误消息,指出我无法更改常量。但是,如果我在实际使用之前直接在“ On Init”中设置“ IndicatorHTF”变量,则会收到声明错误,因为我似乎找不到正确的类型。

我意识到它不是bool,int,double或string,但是我不知道我应该使用什么作为类型。

香港专业教育学院尝试过的方法:
1)

//Globally
ENUM_TIMEFRAMES IndicatorHTF; //with sinput,bool,string,etc
int OnInit()
{
   if(Period()==PERIOD_M1){resolution=PERIOD_M5;}
}

2)

int OnInit()
{
   ENUM_TIMEFRAMES IndicatorHTF;  //with sinput,bool,string,etc
   if(Period()==PERIOD_M1){resolution=PERIOD_M5;}
}

1 个答案:

答案 0 :(得分:0)

解决了该问题,这只是一个安置问题。通过设置

if(Period()==PERIOD_M1){IndicatorHTF=PERIOD_M5;}  

实际上,在使用IndicatorHTF的交易逻辑中,它能够正确读取和设置值:)