错误、漏洞、问题 - 页 1904

 
Artyom Trishkin:

如果有多个实例,为什么要在同一类别的其他实例中重复同样的计算?

如果只有一个计算,为什么还需要其他实例?


阿尔乔姆-特里什金
安德烈,你能不能说得更具体一点?我不太明白。

最好对问题进行更详细的描述,那么答案就会更具体。

 
Artyom Trishkin:

计算不是唯一的--如果只有一个类的实例,那么计算应该是唯一的,如果有多个实例,那么为什么在同一类的其他实例中重复相同的计算?这需要资源。

同时,在父类中再做一个长循环来计算这个非常的数据也不是最理想的(我们已经有两个长循环了),而且子类也不会自给自足。

我建议如何在不重复的情况下做我们需要的事情。我们不是在谈论后代。
 

下午好!

4年后,我回到了一个EA(2013年买的,后来忘了)。决定再试一次。但现在,系统在其中一行代码中给出了一个错误。显然,Metatrader在4年里发生了一些变化,因为它以前工作得很好。我不知道如何编程,这就是为什么我买了专家顾问)。你能告诉我可能的错误是什么吗?

下面是代码的一部分

extern int Bperiod = 20; // 主指标线的平均周期。

extern int Bdeviation = 2; // 与基线的偏差。

extern int Bshift = 0; //指标 相对于价格图表的移动

extern int Baprice = 0; // CLOSE=0, OPEN=1, HIGH=2, LOW=3, MEDIAN=4, TYPICAL=5, WEIGHTED=6 .

外部字符串_6 = "========"。

extern bool UseAutoDig = true; // If=true->点中的外部变量被乘以10。

extern boolUseECN\NDD= true; // If=true->订单被设置为无止境,然后被修改。

错误显示在

UseECN\NDD

命令的最后一行,

这个命令在EA中重复了很多次,每一行都会出现这个命令的错误Examples of

errors

'\' - illegal escape sequence e_plat2.mq4 49 22

'NDD' - 预计分号 e_plat2.mq4 49 23

'UseECN' - 未声明的标识符 e_plat2.mq4 144 6

'NDD' - 未声明的标识符 e_plat2.mq4 144 13

'NDD' - 预期的一些运算符 e_plat2.mq4 144 13

'UseECN' - 未声明的标识符 e_plat2.mq4 172 6

'4206' - case value already used e_plat2.mq4 643 8


If you don't mind, what could be reason?




 
platoshkasexy:

使用ECN/NDD这个命令在专家顾问中重复了很多次,在每一行出现这个命令时,都会弹出一个错误。

将整个代码中的 "UseECN/NDD "替换为 "UseECN_NDD"(Ctrl+H)。

 
Andrey Khatimlianskii:

将整个代码中的 "UseECN/NDD "替换为 "UseECN_NDD"(Ctrl+H)。


非常感谢您!它似乎可以编译了!

我将测试...

 
Andrey Khatimlianskii:

如果只有一个计算,为什么还有其他实例?


你最好对问题进行更详细的描述,那么答案就会更具体。

该类有一个循环,收集所有订单和头寸的数据,1)在账户中,2)只有那些符合m_symbol和m_magic过滤器的数据。

因此,一旦循环完成,我们就有了1)整个账户的数据和2)只属于EA的订单和头寸的数据。

然而,如果一个EA使用几个符号或魔法师,我们需要创建类的实例来收集每个符号/魔法的统计数据。这里出现了一个问题:为什么我们需要在这些新的实例中收集统计数据(1),而这些数据已经在该类的第一个实例中收集过了?

因此,问题是--在类内部如何知道它的实例是否是唯一的,因此我们需要收集统计数据1,或者,如果该实例不是唯一的,则不收集统计数据1,而从第一个实例发出(这里也不清楚在类内部,如果它不是唯一的实例,如何将请求重定向到类的第一个实例以发出统计数据1)。

 
Artyom Trishkin:

该类有一个循环,收集所有订单和头寸的数据,1)在账户中,2)只有那些符合m_symbol和m_magic过滤器的数据。

因此,一旦循环完成,我们就有了1)整个账户的数据和2)只属于EA的订单和头寸的数据。

然而,如果一个EA使用几个符号或魔法师,我们需要创建类的实例来收集每个符号/魔法的统计数据。这里出现了一个问题:为什么我们需要在这些新的实例中收集统计数据(1),而这些数据已经在类的第一个实例中收集过了?

因此,问题是--在类内部如何知道它的实例是唯一的,因此需要收集统计数据1,或者,如果该实例不是唯一的,则不收集统计数据1,而从第一个实例发出(也仍然不清楚在类内部,如果它不是唯一的实例,如何将请求重定向到类的第一个实例来发出统计数据1)。

1)收集一个阶层内所有法师/工具的统计数据。法师的列表应该在初始化时指定,并放入一个数组。

2)正如已经建议的那样,使统计数字#1的结果成为静态的,如果有的话,不要开始重新计算。

 
Artyom Trishkin:

该类有一个循环,收集所有订单和头寸的数据,1)在账户中,2)只有那些符合m_symbol和m_magic过滤器的数据。

因此,一旦循环完成,我们就有了1)整个账户的数据和2)只属于EA的订单和头寸的数据。

然而,如果一个EA使用几个符号或魔法师,我们需要创建类的实例来收集每个符号/魔法的统计数据。这里就出现了一个问题:为什么我们要在这些新的实例中收集统计数据(1),而这些数据已经在该类的第一个实例中收集过了?

因此,问题是--在类内部如何知道它的实例是否是唯一的,因此需要收集统计数据1,或者,如果该实例不是唯一的,则不收集统计数据1,而从第一个实例发出(这里也不清楚,如果它不是唯一的实例,在类内部如何将请求重定向到类的第一个实例以发出统计数据1)。

如果英语不是问题--我已经在我的博客中发表了一个超立方体分析 的例子。浏览一次历史,然后在所需的(不同的)片断中向超立方体请求信息。当然,也有按魔术师和按符号的选择器。
 
Artyom Trishkin:

因此,问题是--如何在类内部知道它的实例是唯一的,这意味着你需要收集统计数字1,或者,如果实例不是唯一的,就不要收集统计数字1,从第一个实例开始就给它。

你已经被告知。

更好的是,所有独特的计算都应该放在一个单独的类中,并使其成为一个单子。

第一次访问一个单子时,读取统计信息,然后只检索它们。


 

开发人员,请解释为什么在优化变体数量 大于8.6e+18时,OnTesterPass 类型事件只在创建新一代时被调用?

而在帮助文件中,为什么没有一个关于这个功能的字?

我为什么要在半个专家顾问中寻找答案,为什么这个功能在一个EA中正常工作,而在另一个EA中却只能在新一代文件中写入优化结果


我怎样才能绕过这个限制?