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

 
Vladislav Andruschenko:
如果你指定了rost而没有一个值,它默认为false。

你能解释一下这与我的 帖子有什么关系吗?我一点也不明白。

 
novichok2018:

你能解释一下这与我的 帖子有什么关系吗?因为我根本就不明白。

你问。所有不等于真实的条件都会进入。 你只有两个检查。但如果检查不是真的,那么检查就是假的。第二行并不重要,因为rost = bool,只能取2个值,而且默认为假。
 
novichok2018:

下午好!

关于mcl4语法的问题:如果我像这样设置一个标志。

那么if(!rost)条件将只抓住rost=false的条件,还是所有不属于rost=true的条件?

谢谢。

只是别忘了初始化 "rost"。在你的片段中,如果cl2=cl1或cl2=op1,那么 "rost "就是任何东西。
 
Vladislav Andruschenko:
你问。所有不真实的条件都会被抓住。 你只有两个检查。但如果检查不是真的,那么检查就是假的。第二行并不重要,因为你有rost = bool,只能取两个值,而且默认为false。

因此,所有不属于真条件的条件将自动为假,所以if(!rost)条目将同时捕获条件(op1>cl2 && cl1<cl2)和条件(op1<cl2 && cl1>cl2)。

 
Maxim Kuznetsov:
只是别忘了初始化 "rost"。

如何?

 
novichok2018:

因此,所有不属于真条件的条件将自动为假,所以if(!rost)条目将同时捕获条件(op1>cl2 && cl1<cl2)和条件(op1<cl2 && cl1>cl2)。

是的。
如果rost被声明为没有值,它将永远等于全局的最后一个值。

你指定的数据太少,代码不完整,无法给出具体答案。
 
novichok2018:

如何?

Bool rost=false。
 
Vladislav Andruschenko:
Bool rost=false。

所以我没有在全局层面启动Bool rost=false,而是对false和true分别启动onTick()。也许,为了避免混淆,设置条件时最好不要用if(rost)和if(!rost),而是用if(rost==true)和if(rost==false) ?

或者再引入另一个限制 !"的条件的叭。

 
novichok2018:

所以我没有在全局层面启动Bool rost=false,而是对false和true分别启动onTick()。也许,为了避免混淆,最好不要设置if(rost)和if(!rost)的 条件,而是 设置if(rost==true)和if(rost==false) ?

绝对相同的条目。

 
Artyom Trishkin:

绝对相同的条目。

这种对应关系只是表明,在我的案例中,if(!rost)if(rost==false) 是不一样的。因为一个单独的条件是假的。