far <= mid >= MT4 中的近或运算符优先级顺序?

问题描述 投票:0回答:1

在 MQL4 中为自定义平均方向指数指标中的 +DI/-DI 指标线实现简单的反转检测方法时 [Investopedia 的参考] [完整源代码] 我尝试使用以下表达式进行测试r1 <= r2 >= r3 是否为 r1 是三个时间序列中最早的时间序列刻度处的速率:

if (rate_far <= rate_mid >= rate_near) {
// ...
}

这并没有达到预期的效果。坦白说,我花了一两分钟来调试这个。

按照以下表达式实现,其结果是:

if (rate_far <= rate_mid && rate_mid >= rate_near) {
// ...
}

这可能是 MQL4 编译器的一个怪癖吗?还是我误解了这里的运算符优先级?

在 iPython 中测试这一点,原始表达式被解释为预期的

20 <= 25 >= 15
# => True

mql4 metatrader4
1个回答
0
投票

我认为这可能与 MQL4 中的运算符重载有关。

也许这可能类似于 C++ 语言的某些标准中的实现方式。

© www.soinside.com 2019 - 2024. All rights reserved.