新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 148

 
Kot:


谢谢!明白了。

如果情况不同呢。图表上有不同名称的横线脚本应该计算出哪一行对应哪一个价格。

它是什么意思?

- 如果我们想知道所有水平线的水平,枚举窗口的图形对象,对上行线采取ObjectGetDouble(.., OBJPROP_PRICE)。

PS.正确提出的问题是答案的一半--学习如何制定你的问题

 
Maxim Kuznetsov:

它是什么意思?

- 如果你想知道所有水平线的水平,那么通过窗口图形对象,对山线采取ObjectGetDouble(..., OBJPROP_PRICE)。

PS. 正确的问题是答案的一半--学习如何制定你的问题


正是你所需要的。谢谢你!
 

我已经失去了我的逻辑--请帮助我!"。

我拿着脚本,用它做了一个函数,并把它作为一个函数插入到指标中,然后我得到了错误信息

   for(int i=0;i<SizeMass;i++)
     {
      summDelta[i]=(Digit[i+1]-Digit[i]);
     }
'i' - 变量已经定义 FindOblast'_1_1.mq4 308 12

我在脚本中没有得到这样的错误,此外,输出中也有类似变量的循环,但不是所有的循环都被违反了--怎么了?

 
-Aleks-:

我已经失去了我的逻辑--请帮助我!"。

我拿着脚本,用它做了一个函数,并把它作为一个函数插入到指标中,然后我得到了错误信息

'i' - 变量已经定义 FindOblast'_1_1.mq4 308 12

我在脚本中没有看到这样的错误,此外,具有相同变量的循环也在输出中,但它并没有在所有的循环中产生错误--怎么了?

问题出在变量的范围 上。

添加(如果你还没有)#property strict指令到你代码的最开始,并修复所有指定的错误和编译时警告。

 
Artyom Trishkin:

问题是变量的范围

添加(如果你还没有)#property strict指令到你的代码的最开始,并修复任何指出的错误和编译时的警告。

谢谢你的答复。

很明显,范围是局部的--除了 "i "没有在任何地方单独声明--在一个函数中或全局中!这是很清楚的。

添加了#property strict,所有那些带 "i "的错误都消失了--怎么说呢,如果这是个更彻底的检查的话?

 
-Aleks-:

谢谢你的答复。

所以很明显,范围是局部的--除了 "i "没有在任何地方单独声明--在一个函数或全局中!"。

我添加了#property strict,所有那些带 "i "的错误都消失了--如果是更彻底的检查,这怎么可能呢?

恰恰是更彻底的检查,考虑到了所有可变可见的领域
 
Artyom Trishkin:
恰恰是更彻底的检查,考虑到了所有可变可见的领域

我明白了,但不清楚为什么没有这些检查就能工作......
 
-Aleks-:

我明白了,但我不知道为什么没有这些检查就没有工作的可能......。

为了与旧代码兼容。

现在每当你写代码时,不要忘记为mql4添加这个指令。对于mql5来说,严格的检查最初是启用的,编译器不知道这个指令。

 
Artyom Trishkin:

为了与旧代码兼容。

现在每当你写代码时,不要忘记为mql4添加这个指令。对于mql5来说,严格的检查最初是启用的,编译器不知道这个指令。

我已经建立了一个新的指标,没有旧的指标。 我通常像往常一样有#属性严格。

 

帮助从.crv文件中读取信息

文件中有这个条目。

2010.03.18 01:35:00;1.37409;1.37119

如何编写代码以分别获得变量中的每个值

原因: