我正在研究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;}
}
答案 0 :(得分:0)
解决了该问题,这只是一个安置问题。通过设置
if(Period()==PERIOD_M1){IndicatorHTF=PERIOD_M5;}
实际上,在使用IndicatorHTF的交易逻辑中,它能够正确读取和设置值:)