初学者的问题 MQL5 MT5 MetaTrader 5 - 页 496

 
Alexey Kozitsyn:

它将按照我上面写的方式工作。

编译器警告用户不要偷懒,要加 括号,以避免可能的非明显错误。

这就是为什么我不把这些优先事项塞进我的记忆芯片里--我把括号放进去,我确信它会按我的意图工作。
 
Alexey Viktorov:
这就是为什么我不把这些优先事项塞进我的记忆芯片,我放上括号,我确信它将按照我想要的方式工作。
在这一点上我完全同意你的观点,我也是这样做的。但既然你问了这个问题...
 
pako:
那就试试吧。

所以我不需要--为什么我需要365天?


阿列克谢-维克多罗夫

嗯,本质上,是的,警告不是错误。但如果( Low[X]>PriceBuy &&High[X]>PriceBuy || Low[X]<PriceBuy &&High[X]<PriceBuy ),初始变量将如何工作或者你不能放几个括号吗?

它不会破坏,我只是认为没有必要--或者说,它将改变编译器的优先级逻辑,为了使代码继续正确工作,它是必要的?


阿尔乔姆-特里什金

这里的编译器有什么用,因为值仍然可以是负的?

事实上,编译器对 "i "的吼叫深受许多人的喜爱;)

 
-Aleks-:

所以我不需要--为什么我需要365天?


手不会断,我只是觉得没有必要--或者说,编译器的优先级逻辑会发生变化,为了让代码继续正常工作,有必要这样做?


这里的编译器有什么用,因为值仍然可以是负的?

事实上,编译器对许多人喜爱的 "i "大喊大叫,因为很多人都是这样的;)

如果Low[X]总是低于High[X],你只需要写上

如果(Low[X]>PriceBuy ||High[X]<PriceBuy),这将会更快地工作!

 
Boris:

如果Low[X]总是小于High[X],那么只需写出

如果(Low[X]>PriceBuy ||High[X]<PriceBuy),这将会更快地工作!

我同意--它可以更短,我只是在写的时候没有考虑到优化--我把它放在以后......。谢谢。
 
-Aleks-:

所以我不需要--为什么我需要365天?


手不会断,我只是觉得没有必要--或者说,编译器的优先级逻辑会发生变化,为了让代码继续正常工作,有必要这样做?


这里的编译器有什么用,因为值仍然可以是负的?

一般来说,许多人最喜欢的 "i "上的编译器都会发出同样的叫声;)

如果它小于零,就不会有循环。你是不是做什么都不经意?
 
-Aleks-:

所以我不需要--为什么我需要365天?

事实上,许多人最喜欢的'i'上的编译器也是这样叫的;)

写好了,就不会有骂声了。
 
Artyom Trishkin:
如果它小于零,就没有循环。你做什么都是无意识的吗?

在这种情况下,我的选择与你的有什么不同?

我不可能每件事都不假思索地去做,但有时我希望我可以......


pako:
写得正确,就不会有骂声。

什么是正确的事情?我只是在学习基础知识--这就是我在这里提问的原因,如果我不知道应该怎么做才对,为什么要说 "做得对"?;)

那么,如果循环通常初始化变量"i",我如何避免错误警告?

 
-Aleks-:

在这种情况下,我的选择与你的有什么不同?

我不可能每件事都不假思索地去做,但有时我希望我可以......


什么是正确的事情?我只是在学习基础知识--这就是我在这里提问的原因,如果我不知道应该怎么做才对,为什么要说 "做得对"?;)

那么,当循环通常初始化变量"i "时,如何避免错误警告?

阅读变量可见性帮助。
 
-Aleks-:

什么是正确的事情?我只是在学习基础知识--这就是我在这里提问的原因,如果我不知道应该如何做,为什么要说 "做得对"?;)

那么,如果循环通常初始化变量"i",如何避免错误信息?

在这里,它是用白色https://docs.mql4.com/ru/basis/operators/for

Оператор цикла for - Документация на MQL4
  • docs.mql4.com
Оператор цикла for - Документация на MQL4